Class: Kameleoon::Network::SyncNetProvider

Inherits:
NetProvider
  • Object
show all
Defined in:
lib/kameleoon/network/net_provider.rb

Instance Method Summary collapse

Instance Method Details

#make_request(request) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/kameleoon/network/net_provider.rb', line 64

def make_request(request)
  resp = nil
  begin
    case request.method
    when Method::GET
      req = Net::HTTP::Get.new(request.url)
    when Method::POST
      req = Net::HTTP::Post.new(request.url)
      req.body = request.data
    else
      return unknown_method_response(request.method, request)
    end
    timeout = request.timeout.to_f / 1000.0
    headers = collect_headers(request)
    headers.each { |k, v| req[k] = v }
    uri = URI(request.url)
    Net::HTTP.start(uri.hostname, uri.port, use_ssl: true, open_timeout: timeout,
                                            read_timeout: timeout, ssl_timeout: timeout) do |http|
      resp = http.request(req)
    end
  rescue => e
    return Response.new(e, nil, nil, request)
  end
  Response.new(nil, resp.code.to_i, resp.body, request)
end