Module: Warden::JWTAuth::EnvHelper

Defined in:
lib/warden/jwt_auth/env_helper.rb

Overview

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.

Class Method Summary collapse

Class Method Details

.aud_header(env) ⇒ String

Returns header configured through ‘aud_header` option

Parameters:

  • env (Hash)

    Rack env

Returns:

  • (String)


55
56
57
58
# 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) ⇒ String

Returns HTTP_AUTHORIZATION environment variable

Parameters:

  • env (Hash)

    Rack env

Returns:

  • (String)


32
33
34
# File 'lib/warden/jwt_auth/env_helper.rb', line 32

def self.authorization_header(env)
  env['HTTP_AUTHORIZATION']
end

.path_info(env) ⇒ String

Returns PATH_INFO environment variable

Parameters:

  • env (Hash)

    Rack env

Returns:

  • (String)


16
17
18
# File 'lib/warden/jwt_auth/env_helper.rb', line 16

def self.path_info(env)
  env['PATH_INFO'] || ''
end

.request_method(env) ⇒ String

Returns REQUEST_METHOD environment variable

Parameters:

  • env (Hash)

    Rack env

Returns:

  • (String)


24
25
26
# File 'lib/warden/jwt_auth/env_helper.rb', line 24

def self.request_method(env)
  env['REQUEST_METHOD']
end

.set_authorization_header(env, value) ⇒ Hash

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.

Parameters:

  • env (Hash)

    Rack env

  • value (String)

Returns:

  • (Hash)

    modified rack env



45
46
47
48
49
# 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