Sha256: 8faa59386550b2272f091458d923b0d91681cd3bd2119f90793e0e00320aaabc

Contents?: true

Size: 911 Bytes

Versions: 1

Compression:

Stored size: 911 Bytes

Contents

module Rack
  module OAuth2
    module Server
      module Abstract
        class Request < Rack::Request
          attr_accessor :client_id

          def initialize(env)
            super
            verify_required_params!
            @client_id = params['client_id']
            @scope     = Array(params['scope'].to_s.split(' '))
          end

          def required_params
            raise "Implement #{self.class}#verify_required_params!"
          end

          def verify_required_params!
            missing_params = []
            required_params.each do |key|
              missing_params << key unless params[key.to_s]
            end
            unless missing_params.blank?
              raise BadRequest.new(:invalid_request, "'#{missing_params.join('\', \'')}' required", :state => @state, :redirect_uri => @redirect_uri)
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-oauth2-0.0.1 lib/rack/oauth2/server/abstract/request.rb