summaryrefslogtreecommitdiff
path: root/research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md')
-rw-r--r--research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md72
1 files changed, 72 insertions, 0 deletions
diff --git a/research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md b/research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md
new file mode 100644
index 0000000..14b256b
--- /dev/null
+++ b/research/flossing/external/julia-1.6.7/share/julia/stdlib/v1.6/LibCURL/README.md
@@ -0,0 +1,72 @@
+LibCURL.jl
+==========
+
+*Julia wrapper for libCURL*
+
+[![Build Status](https://travis-ci.com/JuliaWeb/LibCURL.jl.svg?branch=master)](https://travis-ci.com/JuliaWeb/LibCURL.jl)
+[![Appveyor](https://ci.appveyor.com/api/projects/status/github/JuliaWeb/LibCurl.jl?svg=true)](https://ci.appveyor.com/project/shashi/libcurl-jl)
+[![codecov.io](http://codecov.io/github/JuliaWeb/LibCURL.jl/coverage.svg?branch=master)](http://codecov.io/github/JuliaWeb/LibCURL.jl?branch=master)
+
+---
+This is a simple Julia wrapper around http://curl.haxx.se/libcurl/ generated using [Clang.jl](https://github.com/ihnorton/Clang.jl). Please see the [libcurl API documentation](https://curl.haxx.se/libcurl/c/) for help on how to use this package.
+
+### Example (fetch a URL)
+
+```julia
+using LibCURL
+
+# init a curl handle
+curl = curl_easy_init()
+
+# set the URL and request to follow redirects
+curl_easy_setopt(curl, CURLOPT_URL, "http://example.com")
+curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1)
+
+
+# setup the callback function to recv data
+function curl_write_cb(curlbuf::Ptr{Cvoid}, s::Csize_t, n::Csize_t, p_ctxt::Ptr{Cvoid})
+ sz = s * n
+ data = Array{UInt8}(undef, sz)
+
+ ccall(:memcpy, Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cvoid}, UInt64), data, curlbuf, sz)
+ println("recd: ", String(data))
+
+ sz::Csize_t
+end
+
+c_curl_write_cb = @cfunction(curl_write_cb, Csize_t, (Ptr{Cvoid}, Csize_t, Csize_t, Ptr{Cvoid}))
+curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, c_curl_write_cb)
+
+
+# execute the query
+res = curl_easy_perform(curl)
+println("curl url exec response : ", res)
+
+# retrieve HTTP code
+http_code = Array{Clong}(undef, 1)
+curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, http_code)
+println("httpcode : ", http_code)
+
+# release handle
+curl_easy_cleanup(curl)
+
+```
+
+### Binaries
+
+This package uses the [LibCURL_jll](https://github.com/JuliaBinaryWrappers/libCURL_jll.jl) binary package to install compiled libCURL binaries on all supported platforms. The following products are defined in the jll
+
+* `libcurl`: A `LibraryProduct` referencing the shared library
+* `curl`: An `ExecutableProduct` referencing the binary
+
+This package also uses the [MozillaCACerts_jll](https://github.com/JuliaBinaryWrappers/MozillaCACerts_jll.jl) package to supply the Mozilla CA root certificate bundle. Note that the `cacert` symbol is re-exported from this package for ease of use.
+
+* `cacert`: A `FileProduct` referencing the Mozilla CA certificate bundle
+
+### SSL certificates
+
+Making SSL/TLS connections usually needs access to a CA certificate to validate peers. The Mozilla CA bundle can be used via this package. To use this certificate bundle, set the following option:
+
+```julia
+curl_easy_setopt(curl, CURLOPT_CAINFO, LibCURL.cacert)
+```