Class: ShedCloud::PartnerApi::HttpTransport
- Inherits:
-
Object
- Object
- ShedCloud::PartnerApi::HttpTransport
- Defined in:
- lib/shedcloud/partner_api/http_transport.rb
Constant Summary collapse
- REQUEST_CLASS =
{ 'GET' => Net::HTTP::Get, 'POST' => Net::HTTP::Post, 'PUT' => Net::HTTP::Put, 'PATCH' => Net::HTTP::Patch, 'DELETE' => Net::HTTP::Delete }.freeze
Instance Method Summary collapse
Instance Method Details
#send(method, url, headers, body) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/shedcloud/partner_api/http_transport.rb', line 18 def send(method, url, headers, body) uri = URI(url) request = build_request(method, uri, headers, body) response = Net::HTTP.start( uri.host, uri.port, use_ssl: uri.scheme == 'https', open_timeout: 30, read_timeout: 30 ) do |http| http.request(request) end { status: response.code.to_i, body: response.body.to_s, headers: response.each_header.to_h.transform_values { |v| [v] } } end |