Module: Bigcommerce::HttpErrors
- Included in:
- Middleware::HttpException
- Defined in:
- lib/bigcommerce/exception.rb
Constant Summary collapse
- ERRORS =
{ 400 => Bigcommerce::BadRequest, 401 => Bigcommerce::Unauthorized, 403 => Bigcommerce::Forbidden, 404 => Bigcommerce::NotFound, 405 => Bigcommerce::MethodNotAllowed, 406 => Bigcommerce::NotAccepted, 408 => Bigcommerce::TimeOut, 409 => Bigcommerce::ResourceConflict, 429 => Bigcommerce::TooManyRequests, 500 => Bigcommerce::InternalServerError, 502 => Bigcommerce::BadGateway, 503 => Bigcommerce::ServiceUnavailable, 504 => Bigcommerce::GatewayTimeout, 509 => Bigcommerce::BandwidthLimitExceeded }.freeze
- X_RETRY_AFTER_HEADER_KEY =
'x-retry-after'
Instance Method Summary collapse
Instance Method Details
#throw_http_exception!(code, env) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/bigcommerce/exception.rb', line 48 def throw_http_exception!(code, env) return unless ERRORS.key?(code) response_headers = Faraday::Utils::Headers.new(env.response_headers) unless response_headers[X_RETRY_AFTER_HEADER_KEY].nil? response_headers[:retry_after] = response_headers[X_RETRY_AFTER_HEADER_KEY].to_i end raise ERRORS[code].new(response_headers), env.body end |