class AliexpressAPI::Connection
Public Instance Methods
get(path, params: {})
click to toggle source
# File lib/aliexpress_api/connection.rb, line 7 def get(path, params: {}) handle_request { HTTP.get(path, params: params) } end
post(path, params: {})
click to toggle source
# File lib/aliexpress_api/connection.rb, line 11 def post(path, params: {}) handle_request { HTTP.post(path, form: params) } end
Private Instance Methods
handle_request() { || ... }
click to toggle source
# File lib/aliexpress_api/connection.rb, line 17 def handle_request response = yield handle_response response rescue HTTP::ConnectionError => e raise ConnectionError, e.message rescue HTTP::RequestError => e raise RequestError, e.message rescue HTTP::TimeoutError => e raise TimeoutError, e.message rescue HTTP::HeaderError => e raise HeaderError, e.message rescue HTTP::Error => e raise Error, e.message end
handle_response(response)
click to toggle source
# File lib/aliexpress_api/connection.rb, line 32 def handle_response(response) case response.code.to_i when 301 raise RedirectionError, response when 200 response.parse(:json) when 400 raise BadRequestError, response when 401 raise UnauthorizedAccessError, response when 403 raise ForbiddenAccessError, response when 404 raise ResourceNotFoundError, response when 422 raise ResourceInvalidError, response when 429 raise TooManyRequestsError, response when 500 raise ServerError, response else raise ResponseError.new(response, "Unknown response code: #{response.code}") end end