Class: Io::Flow::V0::HttpClient::DefaultHttpHandlerInstance
- Inherits:
-
HttpHandlerInstance
- Object
- HttpHandlerInstance
- Io::Flow::V0::HttpClient::DefaultHttpHandlerInstance
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
-
#configure_ssl ⇒ Object
Called to configure SSL if the base uri requires it.
- #execute(request) ⇒ Object
- #full_uri(path) ⇒ Object
-
#initialize(base_uri) ⇒ DefaultHttpHandlerInstance
constructor
A new instance of DefaultHttpHandlerInstance.
Constructor Details
#initialize(base_uri) ⇒ DefaultHttpHandlerInstance
Returns a new instance of DefaultHttpHandlerInstance.
55954 55955 55956 55957 55958 55959 55960 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 55954 def initialize(base_uri) @base_uri = Preconditions.assert_class('base_uri', base_uri, URI) @client = Net::HTTP.new(@base_uri.host, @base_uri.port) if @base_uri.scheme == "https" configure_ssl end end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
55952 55953 55954 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 55952 def client @client end |
Instance Method Details
#configure_ssl ⇒ Object
Called to configure SSL if the base uri requires it
55983 55984 55985 55986 55987 55988 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 55983 def configure_ssl @client.use_ssl = true @client.verify_mode = OpenSSL::SSL::VERIFY_PEER @client.cert_store = OpenSSL::X509::Store.new @client.cert_store.set_default_paths end |
#execute(request) ⇒ Object
55962 55963 55964 55965 55966 55967 55968 55969 55970 55971 55972 55973 55974 55975 55976 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 55962 def execute(request) response = begin @client.request(request) rescue SocketError => e raise StandardError.new("Error accessing uri[#{full_uri(request.path)}]: #{e}") end case response when Net::HTTPSuccess response.body else body = response.body rescue nil raise HttpClient::ServerError.new(response.code.to_i, response., :body => body, :uri => full_uri(request.path).to_s) end end |
#full_uri(path) ⇒ Object
55978 55979 55980 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 55978 def full_uri(path) path.start_with?(@base_uri.to_s) ? path : File.join(@base_uri.to_s, path) end |