module WrataApi::WrataApiRequest
Module for describing base request actions
Public Instance Methods
default_header()
click to toggle source
@return [Hash] default header for requests
# File lib/wrata_api/wrata_api_request.rb, line 8 def default_header { 'Cookie' => "remember_token=#{@cookie}; \ _runner_session=#{@wrata_session}", 'X-CSRF-Token' => @csrf_token } end
http_object(uri)
click to toggle source
@param uri [URI] url of server @return [Net:HTTP] http instance
# File lib/wrata_api/wrata_api_request.rb, line 46 def http_object(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == 'https' http end
perform_get(uri, body = {})
click to toggle source
Make get request @param uri [URI] uri wiht server @param body [Hash] body of request @return [JSON] result of request
# File lib/wrata_api/wrata_api_request.rb, line 18 def perform_get(uri, body = {}) request = Net::HTTP::Get.new(uri.request_uri, default_header) request.set_form_data(body) body = http_object(uri).request(request).body @logger.info("Get request: #{uri} answered: #{body}") return {} if body.empty? JSON.parse(body) end
perform_post(uri, body = {})
click to toggle source
Make post request @param uri [URI] uri wiht server @param body [Hash] body of request @return [JSON] result of request
# File lib/wrata_api/wrata_api_request.rb, line 32 def perform_post(uri, body = {}) http = http_object(uri) request = Net::HTTP::Post.new(uri.request_uri, default_header) request.set_form_data(body) http.read_timeout = 500 body = http.request(request).body @logger.info("Post request: #{uri} answered: #{body}") return {} if body.empty? JSON.parse(body) end