[ANN] gem 'rufus-verbs' released

Discussion in 'Ruby' started by John Mettraux, Jan 18, 2008.

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


    Best regards,

    --
    John Mettraux -///- http://jmettraux.openwfe.org
    John Mettraux, Jan 18, 2008
    #1
    1. Advertising

  2. 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/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 Mettraux -///- http://jmettraux.openwfe.org
    >


    ----
    Bob Hutchison -- tumblelog at http://www.recursive.ca/so/
    Recursive Design Inc. -- weblog at http://www.recursive.ca/hutch
    http://www.recursive.ca/ -- works on http://www.raconteur.info/cms-for-static-content/home/
    Bob Hutchison, Jan 18, 2008
    #2
    1. Advertising

  3. 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.recursive.ca/so/
    Recursive Design Inc. -- weblog at http://www.recursive.ca/hutch
    http://www.recursive.ca/ -- works on http://www.raconteur.info/cms-for-static-content/home/
    Bob Hutchison, Jan 18, 2008
    #3
  4. On Jan 18, 2008 10:31 AM, 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)
    > * http digest authentication
    > * cache awareness
    > * head, options


    Do you plan on adding automatic cookie handling?

    ^ manveru
    Michael Fellinger, Jan 18, 2008
    #4
  5. On Jan 18, 2008 9:10 PM, Bob Hutchison <> 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.openwfe.org
    John Mettraux, Jan 19, 2008
    #5
  6. Hi,

    On Jan 18, 2008 11:12 PM, Michael Fellinger <> wrote:
    >
    > On Jan 18, 2008 10:31 AM, 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.
    > >
    > > * 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
    John Mettraux, Jan 19, 2008
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kevin Spencer

    Re: TRACE and HEAD verbs ignored by handler

    Kevin Spencer, Jul 1, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    346
    Rein Petersen
    Jul 2, 2003
  2. Kenneth Myhra

    A question about IHttpModule and verbs

    Kenneth Myhra, Feb 6, 2004, in forum: ASP .Net
    Replies:
    2
    Views:
    386
    Kenneth Myhra
    Feb 10, 2004
  3. Austin 7873
    Replies:
    5
    Views:
    171
    Eric Hodel
    Jan 27, 2007
  4. Bishnu Das
    Replies:
    1
    Views:
    340
    John Mettraux
    Mar 24, 2008
  5. Alvaro Di
    Replies:
    0
    Views:
    91
    Alvaro Di
    Mar 9, 2010
Loading...

Share This Page