Publicado por Rafael Rosa em 09 de August de 2009

Patron – Um cliente HTTP mais simples para Ruby

Phillip TolandAté pouco tempo atrás estava usando a biblioteca Curb para fazer chamadas HTTP com Ruby, e devo dizer que estava bastante feliz com ela. Porém, Phillip Toland não estava tão satisfeito assim com sua API e o fato dela ser complicada de ser modificada, uma vez que a maior parte dela é implementada em C. Assim, ele criou uma biblioteca alternativa chamada Patron, escrita em Ruby tanto quanto possível.

Ela usa como base a libcurl, assim como a Curb, mas com o objetivo de proporcionar uma interface mais simples mas mantendo as vantagens oferecidas pela libcurl. Para usar a Patron você pode instanciar um objeto Session com as opções desejadas:

sess = Patron::Session.new
sess.base_url = "http://search.twitter.com/"

...e então chamar os métodos dela para executar suas operações de GET, HEAD, PUT, POST ou DELETE. Por exemplo:

response = sess.get "search.json?q=ruby"

Eu realmente gosto do modo como a Patron permite que você envie headers customizados nas requisições, o que eu achava meio complicado com a Curb.

sess.post("/foo/stuff", "some data", {"Content-Type" => "text/plain"})

O Phillip explica melhor os motivos que o levaram ao design da biblioteca no seu blog. Você pode baixá-la no Github ou instalá-la como uma gem.

Deixe um Comentário