Class: TravelTime::Middleware::ProtoMiddleware
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- TravelTime::Middleware::ProtoMiddleware
- Defined in:
- lib/travel_time/middleware/proto.rb
Overview
The Proto middleware is responsible for setting the basic auth headers for proto requests
on each request. These are automatically taken from the TravelTime.config.
Instance Method Summary collapse
Instance Method Details
#on_request(env) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/travel_time/middleware/proto.rb', line 12 def on_request(env) scheme = env.url.scheme raise TravelTime::Error, "Refusing to send credentials over #{scheme}" unless scheme == 'https' env.request_headers['Authorization'] = "Basic #{Base64.strict_encode64("#{TravelTime.config.application_id}:#{TravelTime.config.api_key}")}" env.request_headers['Content-Type'] = 'application/octet-stream' env.request_headers['Accept'] = 'application/octet-stream' env.request_headers['User-Agent'] = 'Travel Time Ruby SDK' end |