# Gem 'rufus-verbs' released

**URL:** <https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409>\
**Category:** Ruby\
**Created:** [January 18, 2008, 3:05am UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409 "2008-01-18T03:05:36Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 18, 2008, 3:05am UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/1 "2008-01-18T03:05:36Z")

</div>

== what is it ?

‘rufus-verbs’ is an extended HTTP client library (gem). It provides  
the four main HTTP “verbs” as Ruby methods : get, put, post and  
delete.

It wraps a certain number of techniques that make it a decent tool for  
manipulating web resources.

== features

currently :

- follows redirections
- automatically adds \_method={post|put} in the request parameters with  
the option :fake\_put =\> true
- HTTPS aware (‘verify none’ by default)
- HTTP basic authentication
- doesn’t propagate auth credentials in case of redirection to different  
host
- advertises and uses gzip compression
- proxy-aware (HTTP\_PROXY env var or :proxy option)
- conditional GET (via ConditionalEndPoint class)
- request body built via a block (post and put) or the :data option

maybe later :

- retry on failure
- greediness (automatic parsing for content like JSON or YAML)
- http digest authentication
- cache awareness
- head, options

more at [http://rufus.rubyforge.org/rufus-verbs/](http://rufus.rubyforge.org/rufus-verbs/)

Best regards,

---

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 18, 2008, 1:12pm UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/2 "2008-01-18T13:12:14Z")

</div>

Hi,

On 17-Jan-08, at 8:31 PM, John M. wrote:

> == features
> 
> - advertises and uses gzip compression
> - proxy-aware (HTTP\_PROXY env var or :proxy option)
> - conditional GET (via ConditionalEndPoint class)
> - request body built via a block (post and put) or the :data option
> 
> maybe later :
> 
> - retry on failure
> - greediness (automatic parsing for content like JSON or YAML)

You’ll be able to not do this right?

> - http digest authentication

Oh, this would be nice.

> - cache awareness
> - head, options
> 
> more at [http://rufus.rubyforge.org/rufus-verbs/](http://rufus.rubyforge.org/rufus-verbs/)

I see you are dependent on rufus-lru. That’s a really interesting gem  
that I don’t remember seeing anything about before. What else do you  
have tucked away in there? I see the OpenWFE stuff…

Cheers,  
Bob

> Best regards,
> 
> –  
> John M. -///- [http://jmettraux.openwfe.org](http://jmettraux.openwfe.org)

* * *

Bob H. – tumblelog at  
[http://www.recursive.ca/so/](http://www.recursive.ca/so/)  
Recursive Design Inc. – weblog at  
[http://www.recursive.ca/hutch](http://www.recursive.ca/hutch)  
[http://www.recursive.ca/](http://www.recursive.ca/) – works on  
[http://www.raconteur.info/cms-for-static-content/home/](http://www.raconteur.info/cms-for-static-content/home/)

---

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 18, 2008, 3:20pm UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/3 "2008-01-18T15:20:37Z")

</div>

On Jan 18, 2008 10:31 AM, John M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> == features
> 
> - proxy-aware (HTTP\_PROXY env var or :proxy option)
> - conditional GET (via ConditionalEndPoint class)
> - request body built via a block (post and put) or the :data option
> 
> maybe later :
> 
> - retry on failure
> - greediness (automatic parsing for content like JSON or YAML)
> - http digest authentication
> - cache awareness
> - head, options

Do you plan on adding automatic cookie handling?

^ manveru

---

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 18, 2008, 1:19pm UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/4 "2008-01-18T13:19:51Z")

</div>

Hi again,

On 17-Jan-08, at 8:31 PM, John M. wrote:

> == what is it ?
> 
> ‘rufus-verbs’ is an extended HTTP client library (gem). It provides  
> the four main HTTP “verbs” as Ruby methods : get, put, post and  
> delete.
> 
> It wraps a certain number of techniques that make it a decent tool for  
> manipulating web resources.

I also meant to say thank you. I think this will be put to very good  
use 🙂

Cheers,  
Bob

* * *

Bob H. – tumblelog at  
[http://www.recursive.ca/so/](http://www.recursive.ca/so/)  
Recursive Design Inc. – weblog at  
[http://www.recursive.ca/hutch](http://www.recursive.ca/hutch)  
[http://www.recursive.ca/](http://www.recursive.ca/) – works on  
[http://www.raconteur.info/cms-for-static-content/home/](http://www.raconteur.info/cms-for-static-content/home/)

---

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 19, 2008, 5:39am UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/5 "2008-01-19T05:39:42Z")

</div>

Hi,

On Jan 18, 2008 11:12 PM, Michael F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > - HTTPS aware (‘verify none’ by default)
> > - HTTP basic authentication
> > - doesn’t propagate auth credentials in case of redirection to different host
> > - advertises and uses gzip compression
> > - proxy-aware (HTTP\_PROXY env var or :proxy option)
> > - conditional GET (via ConditionalEndPoint class)
> > - request body built via a block (post and put) or the :data option
> 
> Do you plan on adding automatic cookie handling?

Yes, thinking about adding this to the EndPoint. But wondering if this  
shouldn’t be off by default. Feedback from the community will help me  
get this feature right 🙂

Best regards,

John

---

<div class="post-metadata">

**Author:** ![jmaenpaa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de053/32.png) [@jmaenpaa](https://www.ruby-forum.com/u/jmaenpaa)\
**Post date:** [January 19, 2008, 5:24am UTC](https://www.ruby-forum.com/t/gem-rufus-verbs-released/126409/6 "2008-01-19T05:24:30Z")

</div>

On Jan 18, 2008 9:10 PM, Bob H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > - request body built via a block (post and put) or the :data option
> > 
> > maybe later :
> > 
> > - retry on failure
> > - greediness (automatic parsing for content like JSON or YAML)
> 
> You’ll be able to not do this right?

Yes, the current behaviour should be the default. This greedy option  
goes perhaps too far.

> I see you are dependent on rufus-lru. That’s a really interesting gem  
> that I don’t remember seeing anything about before. What else do you  
> have tucked away in there? I see the OpenWFE stuff…

It depends on rufus-lru only for the conditional gets. There is no  
workflow related stuff in this “rufus-verbs” but of course I have  
built it to scratch my itch and play with web resources from  
workflows.

Best regards, thanks for the feedback,
