# Curb 0.0.1 - New ruby libcurl bindings

**URL:** <https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356>\
**Category:** Ruby\
**Created:** [November 17, 2006, 8:27pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356 "2006-11-17T20:27:17Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 17, 2006, 8:27pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/1 "2006-11-17T20:27:17Z")

</div>

Curb 0.0.1 is now available from [http://curb.rubyforge.org](http://curb.rubyforge.org). Curb  
provides  
nice, easy to use bindings to the libcurl URL transfer library.

This is the first release, and Curb is still a work-in-progress.  
Currently, it supports the curl\_easy interface, and can handle the most  
common usages for libcurl.

The project is now seeking user feedback, testers on various platforms,  
and requests for the features you need the most.

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 17, 2006, 8:33pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/2 "2006-11-17T20:33:19Z")

</div>

On Nov 17, 2006, at 1:25 PM, Ross B. wrote:

> Curb 0.0.1 is now available from [http://curb.rubyforge.org](http://curb.rubyforge.org). Curb  
> provides nice, easy to use bindings to the libcurl URL transfer  
> library.
> 
> This is the first release, and Curb is still a work-in-progress.  
> Currently, it supports the curl\_easy interface, and can handle the  
> most common usages for libcurl.

Bravo! Thank you for this!

James Edward G. II

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 17, 2006, 9:53pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/3 "2006-11-17T21:53:26Z")

</div>

On 11/17/06, Ross B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Curb 0.0.1 is now available from [http://curb.rubyforge.org](http://curb.rubyforge.org). Curb provides  
> nice, easy to use bindings to the libcurl URL transfer library.
> 
> This is the first release, and Curb is still a work-in-progress.  
> Currently, it supports the curl\_easy interface, and can handle the most  
> common usages for libcurl.
> 
> The project is now seeking user feedback, testers on various platforms,  
> and requests for the features you need the most.

Awesome, Ross! In my basic testing, it seems to work on amd64 also.

jeremy

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 19, 2006, 8:12am UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/4 "2006-11-19T08:12:14Z")

</div>

Here here!

If you search the newsgroup, you’ll see that this is one of the most  
commonly requested libs for Ruby. A hearty thanks to starting this!  
Now, only to see those version numbers grow!

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 19, 2006, 11:32am UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/5 "2006-11-19T11:32:26Z")

</div>

Thanks ross !

Does the lib support streams of datas ?

–  
Cheers,  
zimbatm

> **[oree.ch](http://zimbatm.oree.ch)**
>
> This domain may be for sale!

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 19, 2006, 8:27pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/6 "2006-11-19T20:27:12Z")

</div>

On Sun, 19 Nov 2006 07:05:06 -0000, S. Robert J.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Here here!
> 
> If you search the newsgroup, you’ll see that this is one of the most  
> commonly requested libs for Ruby. A hearty thanks to starting this!  
> Now, only to see those version numbers grow!

Yeah, I’ve seen so many requests that I felt guilty sitting on it any  
longer 🙂

I’m planning to divide my (somewhat limited) open-source time fairly  
evenly between curb and libxml-ruby for a while, so it should move  
reasonably quickly, but curb will get stable a lot quicker if people get  
involved and help me test and improve it… 😉

Cheers,

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 19, 2006, 8:27pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/7 "2006-11-19T20:27:12Z")

</div>

On Sun, 19 Nov 2006 10:32:01 -0000, Jonas P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Thanks ross !
> 
> Does the lib support streams of datas ?

It depends on what you mean. Theres still some work to do integrating  
with  
Curl’s stream handling, so for the most part the answer is “not  
directly”

- it’s not yet at the point where you can pass in IO handles. So if  
you’re  
after streamed PUTs and so forth you’re out of luck right now  
(especially  
since PUT isn’t actually supported yet, either ;)).

OTOH If you’re just doing big downloads and don’t want to keep it all in  
memory until you’re done, theres more support for that - you can supply  
your own header and body handlers as needed, e.g:

File.open(‘some.file’, ‘w+’) do |f|  
Curl.perform(‘[http://your/url](http://your/url)’) do |curl|  
curl.on\_body { |data| f \<\< data }  
end  
end

Also, when doing HTTP file uploads with POST, if you supply a filename  
for  
the post-field then the upload file won’t ever get wholly read into  
memory, either (libcurl takes care of the stream itself).

Cheers,

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 22, 2006, 6:47pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/8 "2006-11-22T18:47:17Z")

</div>

Ross B. wrote:

> Yeah, I’ve seen so many requests that I felt guilty sitting on it any  
> longer 🙂
> 
> I’m planning to divide my (somewhat limited) open-source time fairly  
> evenly between curb and libxml-ruby for a while, so it should move  
> reasonably quickly, but curb will get stable a lot quicker if people get  
> involved and help me test and improve it… 😉

We do our dev on Windoze as well as Linux - when’s Windows targetted  
for? (I’d love to be able to help.)

---

<div class="post-metadata">

**Author:** ![ross\_b](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8edcca/32.png) [@ross\_b](https://www.ruby-forum.com/u/ross_b)\
**Post date:** [November 20, 2006, 2:45pm UTC](https://www.ruby-forum.com/t/curb-0-0-1-new-ruby-libcurl-bindings/76356/9 "2006-11-20T14:45:58Z")

</div>

On 19/11/06, Ross B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> - it’s not yet at the point where you can pass in IO handles. So if you’re  
> end  
> end
> 
> Also, when doing HTTP file uploads with POST, if you supply a filename for  
> the post-field then the upload file won’t ever get wholly read into  
> memory, either (libcurl takes care of the stream itself).

Thanks Ross, this is exaclty what I was looking for. I’ll try the lib  
later out.

–  
Cheers,  
zimbatm

> **[oree.ch](http://zimbatm.oree.ch)**
>
> This domain may be for sale!
