[
https://issues.apache.org/jira/browse/ARROW-7594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17343421#comment-17343421
]
Antoine Pitrou edited comment on ARROW-7594 at 5/12/21, 6:02 PM:
-----------------------------------------------------------------
We could use libCURL directly or try to leverage one of the existing C++
wrapper libraries, e.g. [https://whoshuu.github.io/cpr/] or
https://github.com/JosephP91/curlcpp
We would probably want to use the "multi" API which allows for concurrency and
non-blocking operations.
https://curl.se/libcurl/c/libcurl-multi.html
though another possibility is to use the "easy" API in a dedicated thread
together with custom callbacks.
was (Author: pitrou):
We could use libCURL directly or try to leverage one of the existing C++
wrapper libraries, e.g. [https://whoshuu.github.io/cpr/] or
https://github.com/JosephP91/curlcpp
We would probably want to use the "multi" API which allows for concurrency and
non-blocking operations.
https://curl.se/libcurl/c/libcurl-multi.html
> [C++] Implement HTTP and FTP file systems
> -----------------------------------------
>
> Key: ARROW-7594
> URL: https://issues.apache.org/jira/browse/ARROW-7594
> Project: Apache Arrow
> Issue Type: New Feature
> Components: C++
> Affects Versions: 0.15.1
> Reporter: Ben Kietzman
> Priority: Major
>
> It'd be handy to have (probably read only) a generic filesystem
> implementation which wrapped {{any cURLable base url}}:
> {code}
> ARROW_ASSIGN_OR_RAISE(auto fs,
> HttpFileSystem::Make("https://some.site/json-api/v3"));
> ASSERT_OK_AND_ASSIGN(auto json_stream, fs->OpenInputStream("slug"));
> // ...
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)