Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Wrapper around Net/HTTP which allows you to perform HTTP Requests.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
lib
test
.gitignore
CHANGELOG.rdoc
MIT-LICENSE
README.rdoc
http-requestor.gemspec
init.rb

README.rdoc

http-requestor Gem Version

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")})

More HTTP Verbs

You can also use other HTTP Verbs such as OPTIONS, PATCH, MOVE, HEAD, TRACE

* By instantiating the HTTP::Requestor class

  http = HTTP::Requestor.new("http://www.mydomain.com")

  http.options(path, parameters, headers)
  http.patch(path, parameters, headers)
  http.move(path, parameters, headers)
  http.head(path, parameters, headers)
  http.trace(path, parameters, headers)

* Directly calling the request method

  HTTP::Requestor.request(domain, request_type, path, parameters, headers)
  # where request type can be any value within GET, POST, PUT, DELETE, OPTIONS, PATCH, MOVE, HEAD, TRACE

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]gmail[dot]com for the same.

Something went wrong with that request. Please try again.