Class: OnlinePayments::SDK::Communication::ResponseHeader
- Inherits:
-
Object
- Object
- OnlinePayments::SDK::Communication::ResponseHeader
- Defined in:
- lib/onlinepayments/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.
12 13 14 15 16 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 12 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
9 10 11 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 9 def name @name end |
#value ⇒ String (readonly)
HTTP header value
9 10 11 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 9 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
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 51 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 OnlinePayments::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
27 28 29 30 31 32 33 34 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 27 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
38 39 40 41 42 43 44 45 46 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 38 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
21 22 23 |
# File 'lib/onlinepayments/sdk/communication/response_header.rb', line 21 def to_s "#{name}:#{value}" end |