Publicado por Rafael Rosa em 09 de August de 2009
Patron – Um cliente HTTP mais simples para Ruby
Clique aqui para adicionar ao del.icio.us | Nenhum comentário - Deixe o seu agora!
Até 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.


