Method: Croesus::WebRequest#initialize
- Defined in:
- lib/croesus/web_client/web_request.rb
#initialize(method, url, headers = {}, body = nil) ⇒ WebRequest
Returns a new instance of WebRequest.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/croesus/web_client/web_request.rb', line 34 def initialize(method, url, headers = {}, body = nil) @method = method if (method == :get) if body.is_a?(Hash) && body.length > 0 if url.include? "?" url += "&" else url += "?" end uri = Addressable::URI.new uri.query_values = body url += uri.query end else @body = body end unless url =~ URI.regexp raise "Invalid URL: " + url end @url = url.gsub(/\s+/, '%20') @headers = { 'Date' => utc_httpdate, 'Request-ID' => request_id, } headers.each_pair {|key, value| @headers[key.downcase] = value } Croesus.last_request = { headers: @headers, method: @method, url: @url } begin Croesus.last_request[:body] = JSON.parse(@body) if body.length > 2 rescue Exception end end |