Sha256: 52148b1f0a57d7b4315c9cced8c42c0896eef033dc6513c12031c66f29ecca19
Contents?: true
Size: 984 Bytes
Versions: 2
Compression:
Stored size: 984 Bytes
Contents
# frozen_string_literal: true require 'rack/auth/basic' module Grape module Middleware module Auth class Base include Helpers attr_accessor :options, :app, :env def initialize(app, *options) @app = app @options = options.shift end def call(env) dup._call(env) end def _call(env) self.env = env if options.key?(:type) auth_proc = options[:proc] auth_proc_context = context strategy_info = Grape::Middleware::Auth::Strategies[options[:type]] throw(:error, status: 401, message: 'API Authorization Failed.') if strategy_info.blank? strategy = strategy_info.create(@app, options) do |*args| auth_proc_context.instance_exec(*args, &auth_proc) end strategy.call(env) else app.call(env) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
grape-2.0.0 | lib/grape/middleware/auth/base.rb |
grape-1.8.0 | lib/grape/middleware/auth/base.rb |