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

New features(?) #5

Closed
Ironholds opened this issue Dec 8, 2014 · 3 comments
Closed

New features(?) #5

Ironholds opened this issue Dec 8, 2014 · 3 comments

Comments

@Ironholds
Copy link
Contributor

For the second time in a row, I've started working on a problem and Hadley or someone else has informed me you're already doing it ;p. I figure I should get involved in this (even if it means learning the C API. And, you know: if you'll have me).

Things I'd like to add, as a starter: bindings to easy_unescape and easy_escape, ideally ones that split the scheme out beforehand to avoid the :// getting encoded.

And, what are your thoughts on adding functionality that isn't found in the underlying curl library? URL composition and decomposition (as httr does it, but in C and vectorised), value extraction from parameters, that sort of thing.

@jeroen
Copy link
Owner

jeroen commented Dec 9, 2014

I rather keep this package clean and only implement the essential low-level bindings to libcurl so that the package will be low maintenance once it is done. URL escaping has already been implemented a dozen times, for example URLencode and URLdecode in base, or encodeURI in httpuv. If you want to redo that or add other misc stuff, perhaps it's better to do that in a separate package.

@Ironholds
Copy link
Contributor Author

Sure, except URL escaping in base R is fundamentally broken ;p. I actually already took your advice; if you don't want to bind in curl_easy_escape et al, that's probably fine.

@jeroen
Copy link
Owner

jeroen commented Dec 9, 2014

Very cool. I think it's indeed better to implement this yourself, rather than dragging in a heavy dependency like libcurl to do something pretty trivial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants