[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] gem 'rufus-verbs' released

John Mettraux

1/18/2008 1:32:00 AM

== 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/ru...


Best regards,

--
John Mettraux -///- http://jmettraux.o...

5 Answers

Bob Hutchison

1/18/2008 12:11:00 PM

0

Hi,

On 17-Jan-08, at 8:31 PM, John Mettraux 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.
>
>
> == 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)

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/ru...

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 Mettraux -///- http://jmettraux.o...
>

----
Bob Hutchison -- tumblelog at http://www.recurs...
Recursive Design Inc. -- weblog at http://www.recursiv...
http://www.rec... -- works on http://www.raconteur.info/cms-for-static-con...



Bob Hutchison

1/18/2008 12:19:00 PM

0

Hi again,

On 17-Jan-08, at 8:31 PM, John Mettraux 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 Hutchison -- tumblelog at http://www.recurs...
Recursive Design Inc. -- weblog at http://www.recursiv...
http://www.rec... -- works on http://www.raconteur.info/cms-for-static-con...



Michael Fellinger

1/18/2008 2:12:00 PM

0

On Jan 18, 2008 10:31 AM, John Mettraux <jmettraux@openwfe.org> 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.
>
>
> == 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

Do you plan on adding automatic cookie handling?

^ manveru

John Mettraux

1/19/2008 4:24:00 AM

0

On Jan 18, 2008 9:10 PM, Bob Hutchison <hutch@recursive.ca> wrote:
>
> On 17-Jan-08, at 8:31 PM, John Mettraux wrote:
>
> > 'rufus-verbs' is an extended HTTP client library (gem). It provides
> > the four main HTTP "verbs" as Ruby methods : get, put, post and
> > delete.
> >
> > == 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)
>
> 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,

--
John Mettraux -///- http://jmettraux.o...

John Mettraux

1/19/2008 4:38:00 AM

0

Hi,

On Jan 18, 2008 11:12 PM, Michael Fellinger <m.fellinger@gmail.com> wrote:
>
> On Jan 18, 2008 10:31 AM, John Mettraux <jmettraux@openwfe.org> wrote:
> >
> > 'rufus-verbs' is an extended HTTP client library (gem). It provides
> > the four main HTTP "verbs" as Ruby methods : get, put, post and
> > delete.
> >
> > * 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
>
> 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