Class: VeracodeApiSigning::Plugins::FaradayMiddleware
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- VeracodeApiSigning::Plugins::FaradayMiddleware
- Includes:
- Utils, Validation
- Defined in:
- lib/veracode_api_signing/plugins/faraday_middleware.rb
Constant Summary collapse
- KEY =
"Authorization"
Constants included from Regions
Instance Attribute Summary collapse
-
#api_key_id ⇒ Object
readonly
Returns the value of attribute api_key_id.
-
#api_secret_key ⇒ Object
readonly
Returns the value of attribute api_secret_key.
Instance Method Summary collapse
-
#initialize(app, api_key_id = nil, api_secret_key = nil) ⇒ FaradayMiddleware
constructor
A new instance of FaradayMiddleware.
- #on_request(env) ⇒ Object
- #validate_credentials(key, secret) ⇒ Object
Methods included from Validation
#valid_hex?, #validate_api_key_id, #validate_api_key_secret, #validate_scheme
Methods included from Regions
#get_region_for_api_credential, #remove_prefix_from_api_credential
Methods included from Utils
#generate_nonce, #get_current_timestamp, #get_host_from_url, #get_path_and_params_from_url, #get_scheme_from_url, #parsed_url
Constructor Details
#initialize(app, api_key_id = nil, api_secret_key = nil) ⇒ FaradayMiddleware
Returns a new instance of FaradayMiddleware.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/veracode_api_signing/plugins/faraday_middleware.rb', line 23 def initialize(app, api_key_id = nil, api_secret_key = nil) if api_key_id && api_secret_key validate_credentials(api_key_id, api_secret_key) @api_key_id = api_key_id @api_secret_key = api_secret_key else api_key_id, api_secret_key = Credentials.new.get_credentials validate_credentials(api_key_id, api_secret_key) @api_key_id = api_key_id @api_secret_key = api_secret_key end super(app) end |
Instance Attribute Details
#api_key_id ⇒ Object (readonly)
Returns the value of attribute api_key_id.
18 19 20 |
# File 'lib/veracode_api_signing/plugins/faraday_middleware.rb', line 18 def api_key_id @api_key_id end |
#api_secret_key ⇒ Object (readonly)
Returns the value of attribute api_secret_key.
18 19 20 |
# File 'lib/veracode_api_signing/plugins/faraday_middleware.rb', line 18 def api_secret_key @api_secret_key end |
Instance Method Details
#on_request(env) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/veracode_api_signing/plugins/faraday_middleware.rb', line 39 def on_request(env) return if env.request_headers[KEY] url = env.url host = get_host_from_url(url) path = get_path_and_params_from_url(url) method = env.method.to_s.upcase auth = HMACAuth.new.generate_veracode_hmac_header(host, path, method, api_key_id, api_secret_key) env.request_headers[KEY] = auth end |
#validate_credentials(key, secret) ⇒ Object
50 51 52 53 |
# File 'lib/veracode_api_signing/plugins/faraday_middleware.rb', line 50 def validate_credentials(key, secret) validate_api_key_id(key) validate_api_key_secret(secret) end |