From a88f12acadcfb4083a038f28b1a194b2ecb9680c Mon Sep 17 00:00:00 2001 From: Matt Rayner Date: Mon, 6 Nov 2017 17:00:48 +0000 Subject: [PATCH] Update base_request to properly handle posts --- lib/parliament/request/base_request.rb | 27 ++++++++++++++------------ lib/parliament/version.rb | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/parliament/request/base_request.rb b/lib/parliament/request/base_request.rb index 5624096..160944a 100644 --- a/lib/parliament/request/base_request.rb +++ b/lib/parliament/request/base_request.rb @@ -139,13 +139,16 @@ def post(params: nil, body: nil) http = Net::HTTP.new(endpoint_uri.host, endpoint_uri.port) http.use_ssl = true if endpoint_uri.scheme == 'https' - net_response = http.start do |h| - api_request = Net::HTTP::Post.new(endpoint_uri.request_uri) - add_headers(api_request) - api_request.body = body unless body.nil? + request = Net::HTTP::Post.new( + endpoint_uri.request_uri, + 'Content-Type' => 'application/json' + ) - h.request api_request - end + add_headers(request) + + request.body = body unless body.nil? + + net_response = http.request(request) handle_errors(net_response) @@ -181,12 +184,12 @@ def add_headers(request) def handle_errors(net_response) case net_response - when Net::HTTPOK # 2xx Status - exception_class = Parliament::NoContentResponseError if net_response['Content-Length'] == '0' - when Net::HTTPClientError # 4xx Status - exception_class = Parliament::ClientError - when Net::HTTPServerError # 5xx Status - exception_class = Parliament::ServerError + when Net::HTTPOK # 2xx Status + exception_class = Parliament::NoContentResponseError if net_response['Content-Length'] == '0' + when Net::HTTPClientError # 4xx Status + exception_class = Parliament::ClientError + when Net::HTTPServerError # 5xx Status + exception_class = Parliament::ServerError end raise exception_class.new(query_url, net_response) if exception_class diff --git a/lib/parliament/version.rb b/lib/parliament/version.rb index 9619390..d311d98 100644 --- a/lib/parliament/version.rb +++ b/lib/parliament/version.rb @@ -1,3 +1,3 @@ module Parliament - VERSION = '0.9.0'.freeze + VERSION = '0.10.0'.freeze end