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
-
.aud_header(env) ⇒ String
Returns header configured through ‘aud_header` option.
-
.authorization_header(env) ⇒ String
Returns header configured through ‘token_header` option.
-
.env_name(header) ⇒ String
Returns the ENV name for a given header.
-
.path_info(env) ⇒ String
Returns PATH_INFO environment variable.
-
.request_method(env) ⇒ String
Returns REQUEST_METHOD environment variable.
-
.set_authorization_header(env, value) ⇒ Hash
Returns a copy of ‘env` with value added to the environment variable configured through `token_header` option.
Class Method Details
.aud_header(env) ⇒ String
Returns header configured through ‘aud_header` option
57 58 59 60 |
# File 'lib/warden/jwt_auth/env_helper.rb', line 57 def self.aud_header(env) header_env_name = env_name(JWTAuth.config.aud_header) env[header_env_name] end |
.authorization_header(env) ⇒ String
Returns header configured through ‘token_header` option
32 33 34 35 |
# File 'lib/warden/jwt_auth/env_helper.rb', line 32 def self.(env) header_env_name = env_name(JWTAuth.config.token_header) env[header_env_name] end |
.env_name(header) ⇒ String
Returns the ENV name for a given header
66 67 68 |
# File 'lib/warden/jwt_auth/env_helper.rb', line 66 def self.env_name(header) ('HTTP_' + header.upcase).tr('-', '_') end |
.path_info(env) ⇒ String
Returns PATH_INFO environment variable
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
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 environment variable configured through `token_header` option
Be aware than ‘env` is not modified in place and still an updated copy is returned.
46 47 48 49 50 51 |
# File 'lib/warden/jwt_auth/env_helper.rb', line 46 def self.(env, value) env = env.dup header_env_name = env_name(JWTAuth.config.token_header) env[header_env_name] = value env end |