Class: FlexCommerceApi::JsonApiClientExtension::FlexibleConnection
- Inherits:
-
JsonApiClient::Connection
- Object
- JsonApiClient::Connection
- FlexCommerceApi::JsonApiClientExtension::FlexibleConnection
- Defined in:
- lib/flex_commerce_api/json_api_client_extension/flexible_connection.rb
Instance Attribute Summary collapse
-
#last_response ⇒ Object
Returns the value of attribute last_response.
Instance Method Summary collapse
-
#initialize(options = {}) {|_self| ... } ⇒ FlexibleConnection
constructor
A new instance of FlexibleConnection.
- #run(*args) ⇒ Object
Constructor Details
#initialize(options = {}) {|_self| ... } ⇒ FlexibleConnection
Returns a new instance of FlexibleConnection.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/flex_commerce_api/json_api_client_extension/flexible_connection.rb', line 7 def initialize( = {}) site = .fetch(:site) = Array(.fetch(:adapter, Faraday.default_adapter)) add_json_api_extension = .fetch(:add_json_api_extension, true) authenticate = .fetch(:authenticate, true) include_previewed = .fetch :include_previewed, false @faraday = Faraday.new(site) { |builder| builder.request :json builder.use JsonApiClientExtension::SaveRequestBodyMiddleware builder.use JsonApiClientExtension::ForwardedForMiddleware builder.use JsonApiClientExtension::JsonFormatMiddleware if add_json_api_extension builder.use JsonApiClientExtension::PreviewedRequestMiddleware if include_previewed builder.use JsonApiClient::Middleware::JsonRequest # Surrogate Key middleware should always be above HTTP caching to ensure we're reading headers # from the original response not the 304 responses builder.use JsonApiClientExtension::CaptureSurrogateKeysMiddleware # disable the cache when HTTP cache is set to false unless false == [:http_cache] builder.use :http_cache, () end builder.use JsonApiClientExtension::StatusMiddleware builder.use JsonApiClient::Middleware::ParseJson builder.use JsonApiClientExtension::LoggingMiddleware unless FlexCommerceApi.logger.nil? builder.adapter * builder.[:open_timeout] = .fetch(:open_timeout) builder.[:timeout] = .fetch(:timeout) } faraday.basic_auth(ApiBase.username, ApiBase.password) if authenticate yield(self) if block_given? end |
Instance Attribute Details
#last_response ⇒ Object
Returns the value of attribute last_response.
6 7 8 |
# File 'lib/flex_commerce_api/json_api_client_extension/flexible_connection.rb', line 6 def last_response @last_response end |
Instance Method Details
#run(*args) ⇒ Object
39 40 41 42 43 |
# File 'lib/flex_commerce_api/json_api_client_extension/flexible_connection.rb', line 39 def run(*args) super.tap do |response| self.last_response = response end end |