Module: ActiveMerchant::PostsData

Defined in:
lib/active_utils/common/posts_data.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/active_utils/common/posts_data.rb', line 4

def self.included(base)
  base.class_attribute :ssl_strict
  base.ssl_strict = true

  base.class_attribute :ssl_version
  base.ssl_version = nil

  base.class_attribute :retry_safe
  base.retry_safe = false

  base.class_attribute :open_timeout
  base.open_timeout = 60

  base.class_attribute :read_timeout
  base.read_timeout = 60

  base.class_attribute :max_retries
  base.max_retries = Connection::MAX_RETRIES

  base.class_attribute :logger
  base.class_attribute :wiredump_device
end

Instance Method Details

#raw_ssl_request(method, endpoint, data, headers = {}) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/active_utils/common/posts_data.rb', line 39

def raw_ssl_request(method, endpoint, data, headers = {})
  logger.warn "#{self.class} using ssl_strict=false, which is insecure" if logger unless ssl_strict

  connection = new_connection(endpoint)
  connection.open_timeout = open_timeout
  connection.read_timeout = read_timeout
  connection.retry_safe   = retry_safe
  connection.verify_peer  = ssl_strict
  connection.ssl_version  = ssl_version
  connection.logger       = logger
  connection.max_retries  = max_retries
  connection.tag          = self.class.name
  connection.wiredump_device = wiredump_device

  connection.pem          = @options[:pem] if @options
  connection.pem_password = @options[:pem_password] if @options

  connection.ignore_http_status = @options[:ignore_http_status] if @options

  connection.request(method, data, headers)
end

#ssl_get(endpoint, headers = {}) ⇒ Object



27
28
29
# File 'lib/active_utils/common/posts_data.rb', line 27

def ssl_get(endpoint, headers={})
  ssl_request(:get, endpoint, nil, headers)
end

#ssl_post(endpoint, data, headers = {}) ⇒ Object



31
32
33
# File 'lib/active_utils/common/posts_data.rb', line 31

def ssl_post(endpoint, data, headers = {})
  ssl_request(:post, endpoint, data, headers)
end

#ssl_request(method, endpoint, data, headers) ⇒ Object



35
36
37
# File 'lib/active_utils/common/posts_data.rb', line 35

def ssl_request(method, endpoint, data, headers)
  handle_response(raw_ssl_request(method, endpoint, data, headers))
end