summaryrefslogtreecommitdiffstats
path: root/docs/curl-wrap.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/curl-wrap.md')
-rw-r--r--docs/curl-wrap.md111
1 files changed, 111 insertions, 0 deletions
diff --git a/docs/curl-wrap.md b/docs/curl-wrap.md
new file mode 100644
index 0000000..0103317
--- /dev/null
+++ b/docs/curl-wrap.md
@@ -0,0 +1,111 @@
+# CURL wrapping functions reference.
+
+## int curl_wrap_perform (CURL * curl, char **result, size_t * size)
+
+Perform the CURL operation for 'curl' and put the result in memory. If 'result'
+isn't NULL it receives the returned content that then must be freed. If 'size'
+isn't NULL, it receives the size of the returned content. Note that if not NULL,
+the real content is one byte greater than the read size and the last byte
+zero. This facility allows to handle the returned content as a null terminated
+C-string.
+
+## void curl_wrap_do(CURL *curl, void (*callback)(void *closure, int status, CURL *curl, const char *result, size_t size), void *closure)
+
+Will perform the CURL operation and on success invokes the callback with the
+result and size of the operation or error on a failure.
+
+## int curl_wrap_content_type_is (CURL * curl, const char *value)
+
+Request `Content-Type` information from the curl session with this function
+
+Returns non-zero value if the CURL content type match the `value` and 0 otherwize
+
+## long curl_wrap_response_code_get(CURL *curl)
+
+Request the response code to a CURL operation.
+
+Returns the response code received on success or 0 on failure.
+
+## CURL *curl_wrap_prepare_get_url(const char *url)
+
+Prepare a GET CURL operation on the url given as parameter and Returns the CURL
+pointer.
+
+## CURL *curl_wrap_prepare_get(const char *base, const char *path, const char * const *args)
+
+Prepare a GET CURL operation on the decomposed url and escape it. The `url` has been
+decomposed in 3 parts:
+
+* `base`: representing the FQDN of the url.
+* `path`: the path to the requested page.
+* `args`: optionnal array of arguments provided for the GET request.
+
+Returns the prepared CURL request.
+
+## int curl_wrap_add_header(CURL *curl, const char *header)
+
+Add a header to a CURL operation.
+
+Returns the prepared CURL request.
+
+## int curl_wrap_add_header_value(CURL *curl, const char *name, const char *value)
+
+Add a tuple `name`, `value` to the header of a CURL operation.
+
+Returns the prepared CURL request.
+
+## CURL *curl_wrap_prepare_post_url_data(const char *url, const char *datatype, const char *data, size_t szdata)
+
+Prepare a POST CURL operation on the provided `url`.
+
+* `url`: a HTTP url.
+* `datatype`: HTTP `Content-Type` to use for the operation.
+* `data`: data to send.
+* `szdata`: size of the data to send.
+
+Returns the prepared CURL request.
+
+## CURL *curl_wrap_prepare_post_simple_unescaped(const char *base, const char *path, const char *args)
+
+Prepare a POST CURL operation on an unescaped `url` with arguments provided as
+a simple string.
+
+* `base`: representing the FQDN of the url.
+* `path`: the path to the requested page.
+* `args`: optionnals argument for the POST http request.
+
+Returns the prepared CURL request.
+
+## CURL *curl_wrap_prepare_post_simple_escaped(const char *base, const char *path, char *args)
+
+Prepare a POST CURL operation on an escaped `url` with arguments provided as
+a simple string.
+
+* `base`: representing the FQDN of the url.
+* `path`: the path to the requested page.
+* `args`: optionnals argument for the POST http request.
+
+Returns the prepared CURL request.
+
+## CURL *curl_wrap_prepare_post_unescaped(const char *base, const char *path, const char *separator, const char * const *args)
+
+Prepare a POST CURL operation on an unescaped `url` with arguments provided as
+an array of string concatened with a provided separator string.
+
+* `base`: representing the FQDN of the url.
+* `path`: the path to the requested page.
+* `separator`: string used as a separator when concatening the arguments.
+* `args`: optionnal array of arguments for the POST http request.
+
+Returns the prepared CURL request.
+
+## CURL *curl_wrap_prepare_post_escaped(const char *base, const char *path, const char * const *args)
+
+Prepare a POST CURL operation on an unescaped `url` with arguments provided as
+an array of string concatened without any separator.
+
+* `base`: representing the FQDN of the url.
+* `path`: the path to the requested page.
+* `args`: optionnal array of arguments for the POST http request.
+
+Returns the prepared CURL request.