JuliaLang/METADATA.jl — pull request #212 by amitmurthy (2013-04-20 08:24:03+00:00)
Title: Added libCURL to METADATA

This package does the following

- uses Clang.jl to auto-wrap libCURL.so as much as possible.
- a module httpc, for http client, implements a higher level abstraction for HTTP calls only
- other protocols can be used by using the libCURL module directly
- does not block the entire Julia process while requests are in process. It currently yields control back to the main scheduler via periodic sleep() calls. This will be changed to use the fdwatcher interface when support for the same becomes available.

This implementation differs in its approach to the existing CURL package in the following manner

- use of Clang.jl to generate libCURL wrappers. This exposes other protocols supported by libCURL.
- use of libCURLs multi interface. This provides the capability to have multiple concurrent calls active at the same time. The code has been tested with 100 concurrent clients.
- auto-detection of MIME types for file uploads based on /etc/mime.types