Sha256: 892d651cfb6a1bd515eac6bdf44b019042ae33b6eea8761fa3d8b77ae6c45f46
Contents?: true
Size: 1.37 KB
Versions: 12
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true require 'drillbit/configuration' require 'drillbit/requests/base' require 'drillbit/accept_header' require 'drillbit/tokens/json_web_token' require 'drillbit/tokens/base64' module Drillbit module Requests class Rack < Base ACCEPT_PARAM_PATTERN = /(?:\A|&)accept=(.+?)(?=\z|&)/ BASE64_TOKEN_PARAM_PATTERN = /(?:\A|&)#{BASE64_TOKEN_PARAM_NAME}=(.*)(?=\z|&)/ JSON_WEB_TOKEN_PARAM_PATTERN = /(?:\A|&)#{JSON_WEB_TOKEN_PARAM_NAME}=(.*)(?=\z|&)/ def authorization_token_from_params case request['QUERY_STRING'] when JSON_WEB_TOKEN_PARAM_PATTERN Tokens::JsonWebToken.__send__( "from_#{Drillbit.configuration.token_type.downcase}", request['QUERY_STRING'][JSON_WEB_TOKEN_PARAM_PATTERN, 1] || '', private_key: token_private_key, ) when BASE64_TOKEN_PARAM_PATTERN base64_token = request['QUERY_STRING'][BASE64_TOKEN_PARAM_PATTERN, 1] Tokens::Base64.convert(raw_token: base64_token) else Tokens::Null.instance end end private def raw_accept_header_from_header request['HTTP_ACCEPT'] end def raw_accept_header_from_params URI.unescape(request['QUERY_STRING'][ACCEPT_PARAM_PATTERN, 1] || '') end def raw_authorization_header request['HTTP_AUTHORIZATION'] || '' end def raw_request_application_name request['HTTP_X_APPLICATION_NAME'] end end end end
Version data entries
12 entries across 12 versions & 1 rubygems