Class: Worldline::Acquiring::SDK::Communication::ResponseHeader
- Inherits:
-
Object
- Object
- Worldline::Acquiring::SDK::Communication::ResponseHeader
- Defined in:
- lib/worldline/acquiring/sdk/communication/response_header.rb
Overview
Represents HTTP response headers Each header is immutable has a #name and #value attribute
Instance Attribute Summary collapse
-
#name ⇒ String
readonly
HTTP header name.
-
#value ⇒ String
readonly
HTTP header value.
Class Method Summary collapse
-
.get_disposition_filename(headers) ⇒ Object
Returns the value of the filename parameter of the Content-Disposition header from parameter headers If this Response does not contain a header with the given name, return nil instead.
-
.get_header(headers, header_name) ⇒ Object
Return the ResponseHeader that goes by the given header_name, If this Response does not contain a header with the given name, return nil instead.
-
.get_header_value(headers, header_name) ⇒ Object
Returns the header value of the header that goes by the given header_name, If this response does not contain a header with the given name, return nil instead.
Instance Method Summary collapse
-
#initialize(name, value) ⇒ ResponseHeader
constructor
Create a new header using the name and value given as parameters.
- #to_s ⇒ Object
Constructor Details
#initialize(name, value) ⇒ ResponseHeader
Create a new header using the name and value given as parameters.
13 14 15 16 17 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 13 def initialize(name, value) raise ArgumentError.new('name is required') if name.nil? or name.strip.empty? @name = name @value = value end |
Instance Attribute Details
#name ⇒ String (readonly)
HTTP header name
10 11 12 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 10 def name @name end |
#value ⇒ String (readonly)
HTTP header value
10 11 12 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 10 def value @value end |
Class Method Details
.get_disposition_filename(headers) ⇒ Object
Returns the value of the filename parameter of the Content-Disposition header from parameter headers If this Response does not contain a header with the given name, return nil instead
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 52 def self.get_disposition_filename(headers) header_value = get_header_value(headers, "Content-Disposition") unless header_value.nil? if header_value =~ /(?:^|;)\s*filename\s*=\s*(.*?)\s*(?:;|$)i/ return trim_quotes($2) end end return nil end |
.get_header(headers, header_name) ⇒ Object
Return the Worldline::Acquiring::SDK::Communication::ResponseHeader that goes by the given header_name, If this Response does not contain a header with the given name, return nil instead
28 29 30 31 32 33 34 35 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 28 def self.get_header(headers, header_name) selected_headers = headers.select { |h| h.name.casecmp(header_name) == 0 } if selected_headers.nil? || selected_headers.length == 0 return nil else return selected_headers[0] end end |
.get_header_value(headers, header_name) ⇒ Object
Returns the header value of the header that goes by the given header_name, If this response does not contain a header with the given name, return nil instead
39 40 41 42 43 44 45 46 47 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 39 def self.get_header_value(headers, header_name) header = get_header(headers, header_name) return ( if header.nil? nil else header.value end) end |
Instance Method Details
#to_s ⇒ Object
22 23 24 |
# File 'lib/worldline/acquiring/sdk/communication/response_header.rb', line 22 def to_s "#{name}:#{value}" end |