Class: AmexEnhancedAuthorization::LoggedRequest
- Inherits:
-
Object
- Object
- AmexEnhancedAuthorization::LoggedRequest
- Defined in:
- lib/amex_enhanced_authorization/logged_request.rb
Overview
An HTTPS request whose content, response and latency are logged.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
- #headers ⇒ Hash
-
#initialize(method, path, logger) ⇒ LoggedRequest
constructor
A new instance of LoggedRequest.
-
#send(data) ⇒ Object
Add provided headers and invoke request over HTTPS.
Constructor Details
#initialize(method, path, logger) ⇒ LoggedRequest
Returns a new instance of LoggedRequest.
11 12 13 14 15 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 11 def initialize(method, path, logger) @uri = URI(path) @request = Net::HTTP.const_get(method.capitalize).new(@uri) @logger = logger end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
9 10 11 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 9 def logger @logger end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
8 9 10 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 8 def request @request end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
8 9 10 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 8 def uri @uri end |
Instance Method Details
#headers ⇒ Hash
27 28 29 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 27 def headers @headers ||= {} end |
#send(data) ⇒ Object
Add provided headers and invoke request over HTTPS.
19 20 21 22 23 24 |
# File 'lib/amex_enhanced_authorization/logged_request.rb', line 19 def send(data) headers.each_pair { |k, v| request[k] = v } log_request_response(headers, data) do https(uri).request(request) end end |