1
0
Fork 0
mirror of https://github.com/rest-client/rest-client.git synced 2022-11-09 13:49:40 -05:00
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
Find a file
2008-07-20 14:48:52 -04:00
bin Save named settings for restclient in ~/.restclient 2008-07-16 16:21:17 -07:00
lib remove xml parsing on failed requests 2008-07-20 14:48:52 -04:00
spec remove xml parsing on failed requests 2008-07-20 14:48:52 -04:00
.gitignore credentials sent via http basic auth 2008-03-10 16:52:59 -07:00
Rakefile Easy to use shell! 2008-07-07 20:04:22 -07:00
README Save named settings for restclient in ~/.restclient 2008-07-16 16:21:17 -07:00
rest-client.gemspec Easy to use shell! 2008-07-07 20:04:22 -07:00

= 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