Merge pull request #9608 from tchak/fix-api-client

fix(api_client): fix some edge cases
This commit is contained in:
Paul Chavard 2023-10-16 14:50:51 +00:00 committed by GitHub
commit 5bf0d3ed54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,7 +7,7 @@ class API::Client
response = case method
when :get
Typhoeus.get(url,
headers: headers_with_authorization(headers, authorization_token),
headers: headers_with_authorization(headers, false, authorization_token),
params:,
timeout: TIMEOUT)
when :post
@ -40,8 +40,8 @@ class API::Client
body = parse_body(response.body)
case body
in Success(body)
if !schema || schema.valid?(body)
Success(OK[body.deep_symbolize_keys, response])
if !schema || schema.valid?(body.deep_stringify_keys)
Success(OK[body, response])
else
Failure(Error[:schema, response.code, false, SchemaError.new(schema.validate(body))])
end
@ -58,7 +58,7 @@ class API::Client
end
def parse_body(body)
Success(JSON.parse(body))
Success(JSON.parse(body, symbolize_names: true))
rescue JSON::ParserError => error
Failure(error)
end