module Fcoin::Request
Public Instance Methods
delete(path, auth=true, payload={})
click to toggle source
Perform an HTTP DELETE request
# File lib/fcoin/request.rb, line 23 def delete(path, auth=true, payload={}) request(:delete, path, auth, payload) end
get(path, auth=true, payload={})
click to toggle source
Perform an HTTP GET request
# File lib/fcoin/request.rb, line 8 def get(path, auth=true, payload={}) request(:get, path, auth, payload) end
post(path, auth=true, payload={})
click to toggle source
Perform an HTTP POST request
# File lib/fcoin/request.rb, line 13 def post(path, auth=true, payload={}) request(:post, path, auth, payload) end
put(path, auth=true, payload={})
click to toggle source
Perform an HTTP PUT request
# File lib/fcoin/request.rb, line 18 def put(path, auth=true, payload={}) request(:put, path, auth, payload) end
Private Instance Methods
formatted(body)
click to toggle source
change the output format of the body
@param body [Hash] @return [Hash or JSON]
# File lib/fcoin/request.rb, line 62 def formatted(body) case format_type when :json body.to_json when :hash body else raise "format_type is #{format_type}. format_type must be included in [:json, :hash]." end end
request(http_method, path, auth, payload)
click to toggle source
Perform an HTTP request
# File lib/fcoin/request.rb, line 30 def request(http_method, path, auth, payload) response = connection.send(http_method) do |request| required = { http_method: http_method, path: path, payload: payload, endpoint: endpoint, api_key: api_key, secret_key: secret_key } if auth auth = Fcoin::Authorization.new(required) request.headers.merge!(auth.original_headers) end case http_method when :get, :delete request.url(path, payload) when :post, :put request.path = path request.body = payload unless payload.empty? end end return formatted(response.body) end