class Rubhttp::Client

Public Class Methods

new(&block) click to toggle source
# File lib/rubhttp/client.rb, line 5
def initialize(&block)
  @app = RackBuilder.app(&block)
end

Public Instance Methods

connect(uri, options = {}) click to toggle source

Convert to a transparent TCP/IP tunnel.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 77
def connect(uri, options = {})
  request :connect, uri, options
end
delete(uri, options = {}) click to toggle source

Delete a resource.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 50
def delete(uri, options = {})
  request :delete, uri, options
end
get(uri, options = {}) click to toggle source

Get a resource.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 23
def get(uri, options = {})
  request :get, uri, options
end
head(uri, options = {}) click to toggle source

Request a get sans response body.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 14
def head(uri, options = {})
  request :head, uri, options
end
options(uri, options = {}) click to toggle source

Return the methods supported on the given URI.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 68
def options(uri, options = {})
  request :options, uri, options
end
patch(uri, options = {}) click to toggle source

Apply partial modifications to a resource.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 86
def patch(uri, options = {})
  request :patch, uri, options
end
post(uri, options = {}) click to toggle source

Post to a resource.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 32
def post(uri, options = {})
  request :post, uri, options
end
put(uri, options = {}) click to toggle source

Put to a resource.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 41
def put(uri, options = {})
  request :put, uri, options
end
request(verb, uri, options = {}) click to toggle source

Make an HTTP request with the given verb.

@param verb [String, Symbol] @param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 96
def request(verb, uri, options = {})
  r = Request.new(options.merge(verb: verb, uri: uri))
  @app.call(r)
end
trace(uri, options = {}) click to toggle source

Echo the request back to the client.

@param uri [String] @param options [Hash] @return [Response]

# File lib/rubhttp/client.rb, line 59
def trace(uri, options = {})
  request :trace, uri, options
end