Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite the API to more closely bind libcurl #105

Merged
merged 72 commits into from
May 13, 2016
Merged

Rewrite the API to more closely bind libcurl #105

merged 72 commits into from
May 13, 2016

Conversation

alexcrichton
Copy link
Owner

@alexcrichton alexcrichton commented May 12, 2016

These commits are a complete rewrite of the API of this crate based on binding more closely to the libcurl APIs themselves. This was originally started as a reimplementation to expose more features, but along the way I found that providing the same existing API may end up being more difficult than it's worth. In the end this rewrite performs a few things:

  • All FFI bindings are now validated via ctest
  • CI is now up and running for all platforms (including Windows platforms)
  • Many many more underlying curl configuration options are exposed. There's also a clear path for exposing all the other ones!
  • The path towards binding the curl multi interface is now much clearer, but not done just yet.

I'm gonna tag a bunch of issues and PRs as being closed by this, but I'd love to get some feedback on this as well! This PR currently requires the beta version of Rust as it uses the soon-to-be-stable std::panic APIs, so I won't make a release until those hit stable.

API docs

Closes #5
Closes #6
Closes #7
Closes #8
Closes #10
Closes #33
Closes #41
Closes #58
Closes #61
Closes #63
Closes #75
Closes #81
Closes #82
Closes #83
Closes #85
Closes #92
Closes #93
Closes #95
Closes #102
Closes #104

bar added 2 commits May 12, 2016 18:07
More ergonomic but requires an allocation. Deemed worth the tradeoff!
@alexcrichton alexcrichton merged commit 18ff5e8 into master May 13, 2016
@alexcrichton alexcrichton deleted the rewrite branch December 28, 2016 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment