Sha256: 5a65db54a532c27ca28132fddd93bfc001299e877e4fac36fa42ba3ecdb2870a

Contents?: true

Size: 549 Bytes

Versions: 13

Compression:

Stored size: 549 Bytes

Contents

require 'rhoconnect/middleware/helpers'

module Rhoconnect
  module Middleware
    class AdminUser
      def initialize(app, opts={})
        @app = app
        yield self if block_given?
      end

      def call(env)
        begin
          if Rhoconnect.is_admin_route(env)
            env[Rhoconnect::CURRENT_USER] = Rhoconnect.extract_api_user(env)
          end
        rescue Rhoconnect::ApiException => ae
          return [422, {'Content-Type' => 'text/plain'}, [ae.message]]
        end
        @app.call(env)
      end  
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rhoconnect-3.4.5 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.4.4 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.4.3 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.4.2 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.6 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.5 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.4 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.3 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.2 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.1 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.1.beta4 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.1.beta3 lib/rhoconnect/middleware/admin_user.rb
rhoconnect-3.3.1.beta2 lib/rhoconnect/middleware/admin_user.rb