Class: Unfuzzle::Request
- Inherits:
-
Object
- Object
- Unfuzzle::Request
- Defined in:
- lib/unfuzzle/lib/unfuzzle/request.rb
Overview
Request
A basic wrapper for GET requests to the Unfuddle API
Class Method Summary collapse
-
.get(resource_path, query = nil) ⇒ Object
Retrieve a response from the given resource path.
-
.post(resource_path, payload) ⇒ Object
Send a POST request with data and retrieve a Response.
-
.put(resource_path, payload) ⇒ Object
Send a PUT request with data and retrieve a Response.
Instance Method Summary collapse
-
#client ⇒ Object
:nodoc:.
-
#endpoint_uri ⇒ Object
:nodoc:.
-
#get ⇒ Object
Retrieve a response from the current resource path.
-
#initialize(resource_path, payload = nil, query = nil) ⇒ Request
constructor
Create a new request for the given resource path.
-
#post ⇒ Object
Send a POST request to the configured endpoint.
-
#put ⇒ Object
Send a PUT request to the configured endpoint.
Constructor Details
#initialize(resource_path, payload = nil, query = nil) ⇒ Request
Create a new request for the given resource path
28 29 30 31 32 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 28 def initialize(resource_path, payload = nil, query = nil) @resource_path = resource_path @payload = payload @query = query end |
Class Method Details
.get(resource_path, query = nil) ⇒ Object
Retrieve a response from the given resource path
10 11 12 13 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 10 def self.get(resource_path, query = nil) request = new(resource_path, nil, query) request.get end |
.post(resource_path, payload) ⇒ Object
Send a POST request with data and retrieve a Response
16 17 18 19 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 16 def self.post(resource_path, payload) request = new(resource_path, payload) request.post end |
.put(resource_path, payload) ⇒ Object
Send a PUT request with data and retrieve a Response
22 23 24 25 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 22 def self.put(resource_path, payload) request = new(resource_path, payload) request.put end |
Instance Method Details
#client ⇒ Object
:nodoc:
40 41 42 43 44 45 46 47 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 40 def client # :nodoc: http = Net::HTTP.new(endpoint_uri.host, endpoint_uri.port) if Unfuzzle.use_ssl http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE end http end |
#endpoint_uri ⇒ Object
:nodoc:
34 35 36 37 38 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 34 def endpoint_uri # :nodoc: url = "https://#{Unfuzzle.subdomain}.unfuddle.com/api/v1#{@resource_path}.xml" url += @query if @query URI.parse(url) end |
#get ⇒ Object
Retrieve a response from the current resource path
50 51 52 53 54 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 50 def get request = Net::HTTP::Get.new(endpoint_uri.request_uri) request.basic_auth Unfuzzle.username, Unfuzzle.password Response.new(client.request(request)) end |
#post ⇒ Object
Send a POST request to the configured endpoint
57 58 59 60 61 62 63 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 57 def post request = Net::HTTP::Post.new(endpoint_uri.request_uri) request.basic_auth Unfuzzle.username, Unfuzzle.password request.content_type = 'application/xml' Response.new(client.request(request, @payload)) end |
#put ⇒ Object
Send a PUT request to the configured endpoint
66 67 68 69 70 71 72 |
# File 'lib/unfuzzle/lib/unfuzzle/request.rb', line 66 def put request = Net::HTTP::Put.new(endpoint_uri.request_uri) request.basic_auth Unfuzzle.username, Unfuzzle.password request.content_type = 'application/xml' Response.new(client.request(request, @payload)) end |