module Speechpad::Request
Public Instance Methods
get(params, options={})
click to toggle source
# File lib/speechpad/request.rb, line 8 def get(params, options={}) params = generate_signature(params) request(:get, params, options) end
post(params, options={})
click to toggle source
# File lib/speechpad/request.rb, line 13 def post(params, options={}) params = generate_signature(params) request(:post, params, options) end
Private Instance Methods
generate_signature(params)
click to toggle source
# File lib/speechpad/request.rb, line 30 def generate_signature(params) params["timestamp"] = Time.now.utc.strftime('%Y-%m-%dT%H:%M:%SZ') s = params.keys.sort.map{|key| params[key]}.join('') params["signature"] = Base64.encode64(OpenSSL::HMAC.digest('sha1',@secret_key, s))[0,28] params end
request(method, params, options)
click to toggle source
POST the Params to the Speechpad
end point.
@param body [String] The formatted XML of the API call make sure to call builder.to_xml.
# File lib/speechpad/request.rb, line 23 def request(method, params, options) response = connection.send(method) do |request| request.url '/services', params end response.body end