Module: RubyPtv::Request
Overview
Module used for dispatching http requests
Instance Method Summary collapse
- #parse(resp) ⇒ Object
-
#request(path, params = {}) ⇒ Object
Perform HTTP get request.
Instance Method Details
#parse(resp) ⇒ Object
29 30 31 |
# File 'lib/ruby_ptv/request.rb', line 29 def parse(resp) JSON.parse(resp.body) end |
#request(path, params = {}) ⇒ Object
Perform HTTP get request
path = request path params = parameters hash
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ruby_ptv/request.rb', line 14 def request(path, params = {}) raise StandardError, "Dev ID and secret key are required." unless @dev_id && @secret_key request_path = if params.empty? "/v3/#{path}?devid=#{@dev_id}" else "/v3/#{path}?#{URI.encode_www_form(params)}&devid=#{@dev_id}" end # Create unique SHA1 signature with each request signature = OpenSSL::HMAC.hexdigest("SHA1", @secret_key, request_path) req = "https://timetableapi.ptv.vic.gov.au" + request_path + "&signature=" + signature.upcase parse(HTTParty.get(req)) end |