Module: AuthorizationHeaderParser
- Extended by:
- AuthorizationHeaderParser
- Included in:
- AuthorizationHeaderParser
- Defined in:
- lib/authorization_header_parser.rb
Defined Under Namespace
Classes: InvalidHeader, ParseError
Constant Summary collapse
- VERSION =
'1.1.1'
Instance Method Summary collapse
-
#parse(value) ⇒ Object
Parse a custom scheme + params Authorization header.
-
#parse_params(string) ⇒ Object
Parse Authorization params.
Instance Method Details
#parse(value) ⇒ Object
Parse a custom scheme + params Authorization header.
parse('absurd-auth token="12345"') #=> ['absurd-auth', {'token' => '12345'}]
22 23 24 25 26 27 28 29 |
# File 'lib/authorization_header_parser.rb', line 22 def parse(value) scanner = StringScanner.new(value) scheme = scanner.scan(NON_WHITESPACE) raise InvalidHeader, "Scheme not provided" unless scheme scanner.skip(WHITESPACE) [scheme.strip, extract_params_from_scanner(scanner)] end |
#parse_params(string) ⇒ Object
Parse Authorization params. Most useful in combination with Rack::Auth::AbstractRequest
For instance, with ‘Authorization: absurd-auth token=“12345”’:
auth = Rack::Auth::AbstractRequest.new(env)
params = parse(auth.params) #=> {'token' => '12345}
37 38 39 |
# File 'lib/authorization_header_parser.rb', line 37 def parse_params(string) extract_params_from_scanner(StringScanner.new(string)) end |