Class: AmplitudeAnalytics::HttpClient
- Inherits:
-
Object
- Object
- AmplitudeAnalytics::HttpClient
- Defined in:
- lib/amplitude/http_client.rb
Overview
HttpClient
Instance Method Summary collapse
Instance Method Details
#post(url, payload, header = nil) ⇒ Object
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/amplitude/http_client.rb', line 131 def post(url, payload, header = nil) result = Response.new begin uri = URI.parse(url) http = Net::HTTP.new(uri.host || '', uri.port) http.use_ssl = uri.scheme == 'https' headers = header || JSON_HEADER request = Net::HTTP::Post.new(uri.request_uri, headers) request.body = payload res = http.request(request) result.parse(res) rescue Net::ReadTimeout result.code = 408 result.status = HttpStatus::TIMEOUT rescue Net::HTTPError => e begin result.parse(e) rescue StandardError result = Response.new result.code = e.response.code.to_i result.status = Response.get_status(e.response.code.to_i) result.body = { 'error' => e.response. } end rescue Net::OpenTimeout => e result.body = { 'error' => e. } end result end |