http-requestor

A Wrapper around Net/HTTP which allows you to perform HTTP Requests in a simple way.

Installation

gem install http-requestor

Usage

Initialize a domain, and send request to multiple paths

http = HTTP::Requestor.new("http://www.mydomain.com")
# This will initialize the HTTP::Requestor class
get_request    = http.get(path, parameters, headers)
post_request   = http.post(path, parameters, headers)
put_request    = http.put(path, parameters, headers)
delete_request = http.delete(path, parameters, headers)
# path         => for example: "/some_path"
# parameters   => this is an optional parameter, if you want to send some parameters alongwith the request
# headers      => this is also an optional parameter, you can pass a hash with stringified keys

Get a response right away

HTTP::Requestor.request(domain, request_type, path, parameters, headers)
# domain       => for example: "http://www.some_domain.com"
# request_type => GET|POST|PUT|DELETE
# path         => for example: "/some_path"
# parameters   => this is an optional parameter, if you want to send some parameters alongwith the request
# headers      => this is also an optional parameter, you can pass a hash with stringified keys

OR you can do it the other way

HTTP::Requestor.request_with_url(url, request_type, data, headers)
# url          => for example: "http://www.some_domain.com/some_path_value"
# request_type => GET|POST|PUT|DELETE
# parameters   => this is an optional parameter, if you want to send some parameters alongwith the request
# headers      => this is also an optional parameter, you can pass a hash with stringified keys

HTTP Basic Authentication

HTTP::Requestor.send_basic_auth_request(url, username, password)
# url      => for example: "http://www.some_domain.com/some_path_value" only GET URL's supported currently
# username => basic_auth_username
# password => basic_auth_password

Multipart Form Post

uri = "http://some_domain/somepath"
data = {:file => File.open("testfile.txt")}
response = HTTP::Requestor.multipart_request(uri, "post | put", data)
# If you already have the instance of HTTP::Requestor class then you can upload files as follows:
http = HTTP::Requestor.new("http://www.mydomain.com")
response = http.post_multipart(some_path, {:file => File.open("testfile.txt")})
response = http.put_multipart(some_path, {:file => File.open("testfile.txt")})

Issues and Suggestions

Please report all the issues in the Github Issues Page, suggestions are also welcome. You can also mail me at rohit0981989[at]gmailcom for the same.