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 |