Faraday::Middleware
Public: A simple middleware that adds an access token to each request.
The token is added as both “access_token” query parameter and the “Authorization” HTTP request header. However, an explicit “access_token” parameter or “Authorization” header for the current request are not overriden.
Examples
# configure default token: OAuth2.new(app, 'abc123') # configure query parameter name: OAuth2.new(app, 'abc123', :param_name => 'my_oauth_token') # default token value is optional: OAuth2.new(app, :param_name => 'my_oauth_token')
# File lib/faraday_middleware/request/oauth2.rb, line 43 def initialize(app, token = nil, options = {}) super(app) options, token = token, nil if token.is_a? Hash @token = token && token.to_s @param_name = options.fetch(:param_name, PARAM_NAME).to_s raise ArgumentError, ":param_name can't be blank" if @param_name.empty? end
# File lib/faraday_middleware/request/oauth2.rb, line 32 def call(env) params = { param_name => @token }.update query_params(env[:url]) if token = params[param_name] and !token.empty? env[:url].query = build_query params env[:request_headers][AUTH_HEADER] ||= %(Token token="#{token}") end @app.call env end
Generated with the Darkfish Rdoc Generator 2.