Module: SparkApi::Connection
- Included in:
- Client
- Defined in:
- lib/spark_api/connection.rb
Overview
Connection
Mixin module for handling http connection information
Constant Summary collapse
- REG_HTTP =
/^http:/
- REG_HTTPS =
/^https:/
- HTTP_SCHEME =
'http:'
- HTTPS_SCHEME =
'https:'
- ACCEPT_ENCODING =
'Accept-Encoding'
- COMPRESS_ACCEPT_ENCODING =
'gzip, deflate'
- X_REQUEST_ID_CHAIN =
'X-Request-Id-Chain'
- MIME_JSON =
'application/json'
- MIME_RESO =
'application/json, application/xml'
Instance Method Summary collapse
-
#connection(force_ssl = false) ⇒ Object
Main connection object for running requests.
-
#headers ⇒ Object
HTTP request headers for client requests.
- #reso_headers ⇒ Object
- #spark_headers ⇒ Object
Instance Method Details
#connection(force_ssl = false) ⇒ Object
Main connection object for running requests. Bootstraps the Faraday abstraction layer with our client configuration.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/spark_api/connection.rb', line 19 def connection(force_ssl = false) opts = { :headers => headers } if(force_ssl || self.ssl) opts[:ssl] = {:verify => false } unless self.ssl_verify opts[:url] = @endpoint.sub REG_HTTP, HTTPS_SCHEME else opts[:url] = @endpoint.sub REG_HTTPS, HTTP_SCHEME end if self.compress opts[:headers][ACCEPT_ENCODING] = COMPRESS_ACCEPT_ENCODING end if request_id_chain opts[:headers][X_REQUEST_ID_CHAIN] = request_id_chain end conn = Faraday.new(opts) do |conn| conn.response self.middleware.to_sym conn.[:timeout] = self.timeout conn.adapter Faraday.default_adapter end SparkApi.logger.debug { "Connection: #{conn.inspect}" } conn end |
#headers ⇒ Object
HTTP request headers for client requests
48 49 50 51 52 53 54 |
# File 'lib/spark_api/connection.rb', line 48 def headers if self.middleware.to_sym == :reso_api reso_headers else spark_headers end end |
#reso_headers ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/spark_api/connection.rb', line 65 def reso_headers { :accept => MIME_RESO, :user_agent => Configuration::DEFAULT_USER_AGENT, Configuration::X_SPARK_API_USER_AGENT => user_agent } end |
#spark_headers ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/spark_api/connection.rb', line 56 def spark_headers { :accept => MIME_JSON, :content_type => MIME_JSON, :user_agent => Configuration::DEFAULT_USER_AGENT, Configuration::X_SPARK_API_USER_AGENT => user_agent } end |