Sha256: 3f53f2c5a219ebcb3729abeaae852d8aeb4ac983dabc514829c7ff8ed4f2ba86

Contents?: true

Size: 907 Bytes

Versions: 8

Compression:

Stored size: 907 Bytes

Contents

require 'yao/plugins'
require 'faraday'
require 'faraday_middleware'
require 'yao/faraday_middlewares'

module Yao::Plugins
  class DefaultClientGenerator
    def call(f, token)
      f.request :accept, 'application/json'
      f.request :url_encoded

      if token
        f.request :os_token, token
      end

      f.response :os_error_detector
      f.response :json, :content_type => /\bjson$/

      if Yao.config.debug
        f.response :logger
        f.response :os_dumper
      end

      if Yao.config.debug_record_response
        f.response :os_response_recorder
      end

      f.adapter Faraday.default_adapter
    end

    Yao::Plugins.register(self, type: :client_generator)

    Yao.config.param :client_generator, :default do |v|
      raise("Invalid client_generator name %s.\nNote: name must be a Symbol" % v.inspect) unless Registry.instance[:client_generator][v]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
yao-0.2.7 lib/yao/plugins/default_client_generator.rb
yao-0.2.6 lib/yao/plugins/default_client_generator.rb
yao-0.2.5 lib/yao/plugins/default_client_generator.rb
yao-0.2.4 lib/yao/plugins/default_client_generator.rb
yao-0.2.2 lib/yao/plugins/default_client_generator.rb
yao-0.2.1 lib/yao/plugins/default_client_generator.rb
yao-0.2.0 lib/yao/plugins/default_client_generator.rb
yao-0.2.0.rc1 lib/yao/plugins/default_client_generator.rb