Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple REST client for Ruby, inspired by microframework syntax for specifying actions.
Ruby
branch: master

This branch is 694 commits behind rest-client:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
.gitignore
README
Rakefile
rest-client.gemspec

README

= REST Client -- simple DSL for accessing REST resources

A simple REST client for Ruby, inspired by the Sinatra's microframework style
of specifying actions: get, put, post, delete.

== Usage: Raw URL

  require 'rest_client'

  xml = RestClient.get 'http://example.com/resource'
  jpg = RestClient.get 'http://example.com/resource', :accept => 'image/jpg'

  private_resource = RestClient.get 'https://user:password@example.com/private/resource'

  RestClient.put 'http://example.com/resource', File.read('my.pdf'), :content_type => 'application/pdf'

  RestClient.post 'http://example.com/resource', xml, :content_type => 'application/xml'

  RestClient.delete 'http://example.com/resource'

See RestClient module docs for details.

== Usage: ActiveResource-Style

  resource = RestClient::Resource.new 'http://example.com/resource'
  resource.get

  private_resource = RestClient::Resource.new 'http://example.com/private/resource', 'user', 'pass'
  private_resource.put File.read('pic.jpg'), :content_type => 'image/jpg'

See RestClient::Resource module docs for details.

== Usage: Resource Nesting

  site = RestClient::Resource.new('http://example.com')
  site['posts/1/comments'].post 'Good article.', :content_type => 'text/plain'

See RestClient::Resource docs for details.

== Shell

Run: 
restclient resource_url [username] [password] 

or require the gem from within your ~/.rush/env.rb and have instant access to it from within your rush (http://rush.heroku.com) sessions.

You can also create a ~/.restclient file and store named sessions as:

name:
  :url: http://mydomain.com
  :username: myusername
  :password: supersecret

anothername:
  ...
  
The use like:

mycpu:~ adamwiggins$ restclient anothername
>>r
=> #<RestClient::Resource:0x557bac @password="supersecret", @user="myusername", @url="http://mydomain.com">
>>get '/'
=> Hey!

== Meta

Written by Adam Wiggins (adam at heroku dot com)

Patches contributed by: Chris Anderson, Greg Borenstein, Ardekantur, Pedro Belo, Rafael Souza, Rick Olson, and Aman Gupta

Released under the MIT License: http://www.opensource.org/licenses/mit-license.php

http://rest-client.heroku.com

http://github.com/adamwiggins/rest-client

Something went wrong with that request. Please try again.