class SptyAPI::HTTP::Client
Constants
- CONTENT_TYPE
- DEFAULT_API
Attributes
access_token[RW]
api_overwrite[RW]
body_parameter[RW]
content_type_overwrite[RW]
endpoint[RW]
http_method[RW]
path_parameter[RW]
query_parameter[RW]
token_type[RW]
Public Class Methods
new(http_method:, token_type:, access_token: nil, endpoint:)
click to toggle source
# File lib/spty_api/http/client.rb, line 15 def initialize(http_method:, token_type:, access_token: nil, endpoint:) self.http_method = http_method self.token_type = token_type self.access_token = access_token self.endpoint = endpoint end
Public Instance Methods
request()
click to toggle source
# File lib/spty_api/http/client.rb, line 22 def request uri = prepare_uri http = prepare_http(uri) http.request(prepare_request(uri)) end
Private Instance Methods
prepare_body_parameter()
click to toggle source
# File lib/spty_api/http/client.rb, line 70 def prepare_body_parameter return body_parameter.to_json if content_type_overwrite.nil? body_parameter end
prepare_content_type()
click to toggle source
# File lib/spty_api/http/client.rb, line 66 def prepare_content_type (content_type_overwrite.nil?) ? CONTENT_TYPE : content_type_overwrite end
prepare_http(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 51 def prepare_http(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE http end
prepare_query_parameter()
click to toggle source
# File lib/spty_api/http/client.rb, line 39 def prepare_query_parameter return '' if query_parameter.nil? q_params = '' query_parameter.each_with_index do |(key, value), index| q_params += '&' if index > 0 q_params += "#{key}=#{value}" end q_params end
prepare_request(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 59 def prepare_request(uri) req = self.send("setup_request_#{http_method}", uri) req['Authorization'] = "#{token_type} #{access_token}" req end
prepare_uri()
click to toggle source
# File lib/spty_api/http/client.rb, line 30 def prepare_uri id = (path_parameter.nil?) ? '' : path_parameter[:id] api = (api_overwrite.nil?) ? DEFAULT_API : api_overwrite uri = "#{api}#{endpoint}" uri += "/#{id}" if id != '' uri += "?#{prepare_query_parameter}" URI.parse(uri) end
setup_request_delete(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 95 def setup_request_delete(uri) Net::HTTP::Delete.new(uri.request_uri) end
setup_request_get(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 75 def setup_request_get(uri) Net::HTTP::Get.new(uri.request_uri) end
setup_request_post(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 79 def setup_request_post(uri) req = Net::HTTP::Post.new(uri.request_uri) req.body = prepare_body_parameter req["Content-Type"] = prepare_content_type req end
setup_request_put(uri)
click to toggle source
# File lib/spty_api/http/client.rb, line 87 def setup_request_put(uri) req = Net::HTTP::Put.new(uri.request_uri) req.body = prepare_body_parameter req["Content-Type"] = prepare_content_type req end