module Warden::JWTAuth::EnvHelper

Helper functions to centralize working with rack env.

It follows [rack](www.rubydoc.info/github/rack/rack/file/SPEC#The_Environment) and [PEP 333](www.python.org/dev/peps/pep-0333/#environ-variables) conventions.

Public Class Methods

aud_header(env) click to toggle source

Returns header configured through `aud_header` option

@param env [Hash] Rack env @return [String]

# File lib/warden/jwt_auth/env_helper.rb, line 55
def self.aud_header(env)
  env_name = ('HTTP_' + JWTAuth.config.aud_header.upcase).tr('-', '_')
  env[env_name]
end
authorization_header(env) click to toggle source

Returns HTTP_AUTHORIZATION environment variable

@param env [Hash] Rack env @return [String]

# File lib/warden/jwt_auth/env_helper.rb, line 32
def self.authorization_header(env)
  env['HTTP_AUTHORIZATION']
end
path_info(env) click to toggle source

Returns PATH_INFO environment variable

@param env [Hash] Rack env @return [String]

# File lib/warden/jwt_auth/env_helper.rb, line 16
def self.path_info(env)
  env['PATH_INFO'] || ''
end
request_method(env) click to toggle source

Returns REQUEST_METHOD environment variable

@param env [Hash] Rack env @return [String]

# File lib/warden/jwt_auth/env_helper.rb, line 24
def self.request_method(env)
  env['REQUEST_METHOD']
end
set_authorization_header(env, value) click to toggle source

Returns a copy of `env` with value added to the `HTTP_AUTHORIZATION` environment variable.

Be aware than `env` is not modified in place and still an updated copy is returned.

@param env [Hash] Rack env @param value [String] @return [Hash] modified rack env

# File lib/warden/jwt_auth/env_helper.rb, line 45
def self.set_authorization_header(env, value)
  env = env.dup
  env['HTTP_AUTHORIZATION'] = value
  env
end