library to make it easy to download JSON replies over HTTP More...
Go to the source code of this file.
Data Structures | |
struct | GNUNET_CURL_DownloadBuffer |
Buffer data structure we use to buffer the HTTP download before giving it to the JSON parser. More... | |
Typedefs | |
typedef void(* | GNUNET_CURL_RescheduleCallback) (void *cls) |
Function called by the context to ask for the event loop to be rescheduled, that is the application should call GNUNET_CURL_get_select_info() as the set of sockets we care about just changed. More... | |
typedef void *(* | GNUNET_CURL_RawParser) (struct GNUNET_CURL_DownloadBuffer *db, CURL *eh, long *response_code) |
Parses the raw response we got from the Web server. More... | |
typedef void(* | GNUNET_CURL_ResponseCleaner) (void *response) |
Deallocate the response. More... | |
typedef void(* | GNUNET_CURL_JobCompletionCallback) (void *cls, long response_code, const void *response) |
Function to call upon completion of a job. More... | |
typedef void(* | GNUNET_CURL_RawJobCompletionCallback) (void *cls, long response_code, const void *body, size_t body_size) |
Function to call upon completion of a raw job. More... | |
Functions | |
struct GNUNET_CURL_Context * | GNUNET_CURL_init (GNUNET_CURL_RescheduleCallback cb, void *cb_cls) |
Initialise this library. More... | |
void | GNUNET_CURL_get_select_info (struct GNUNET_CURL_Context *ctx, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *except_fd_set, int *max_fd, long *timeout) |
Obtain the information for a select() call to wait until GNUNET_CURL_perform() is ready again. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CURL_append_header (struct GNUNET_CURL_Context *ctx, const char *header) |
Add custom request header. More... | |
void | GNUNET_CURL_perform (struct GNUNET_CURL_Context *ctx) |
Run the main event loop for the CURL interaction. More... | |
void | GNUNET_CURL_perform2 (struct GNUNET_CURL_Context *ctx, GNUNET_CURL_RawParser rp, GNUNET_CURL_ResponseCleaner rc) |
Run the main event loop for the HTTP interaction. More... | |
void | GNUNET_CURL_fini (struct GNUNET_CURL_Context *ctx) |
Cleanup library initialisation resources. More... | |
struct GNUNET_CURL_Job * | GNUNET_CURL_job_add (struct GNUNET_CURL_Context *ctx, CURL *eh, GNUNET_CURL_JobCompletionCallback jcc, void *jcc_cls) |
Schedule a CURL request to be executed and call the given jcc upon its completion. More... | |
struct GNUNET_CURL_Job * | GNUNET_CURL_job_add_with_ct_json (struct GNUNET_CURL_Context *ctx, CURL *eh, GNUNET_CURL_JobCompletionCallback jcc, void *jcc_cls) |
Schedule a CURL request to be executed and call the given jcc upon its completion. More... | |
void | GNUNET_CURL_set_userpass (struct GNUNET_CURL_Context *ctx, const char *userpass) |
Force use of the provided username and password for client authentication for all operations performed with ctx. More... | |
void | GNUNET_CURL_set_tlscert (struct GNUNET_CURL_Context *ctx, const char *certtype, const char *certfile, const char *keyfile, const char *keypass) |
Force use of the provided TLS client certificate for client authentication for all operations performed with ctx. More... | |
struct GNUNET_CURL_Job * | GNUNET_CURL_job_add2 (struct GNUNET_CURL_Context *ctx, CURL *eh, const struct curl_slist *job_headers, GNUNET_CURL_JobCompletionCallback jcc, void *jcc_cls) |
Schedule a CURL request to be executed and call the given jcc upon its completion. More... | |
struct GNUNET_CURL_Job * | GNUNET_CURL_job_add_raw (struct GNUNET_CURL_Context *ctx, CURL *eh, const struct curl_slist *job_headers, GNUNET_CURL_RawJobCompletionCallback jcc, void *jcc_cls) |
Schedule a CURL request to be executed and call the given jcc upon its completion. More... | |
void | GNUNET_CURL_extend_headers (struct GNUNET_CURL_Job *job, const struct curl_slist *extra_headers) |
Add extra_headers to the HTTP headers for job. More... | |
void | GNUNET_CURL_job_cancel (struct GNUNET_CURL_Job *job) |
Cancel a job. More... | |
struct GNUNET_CURL_RescheduleContext * | GNUNET_CURL_gnunet_rc_create (struct GNUNET_CURL_Context *ctx) |
Initialize reschedule context. More... | |
struct GNUNET_CURL_RescheduleContext * | GNUNET_CURL_gnunet_rc_create_with_parser (struct GNUNET_CURL_Context *ctx, GNUNET_CURL_RawParser rp, GNUNET_CURL_ResponseCleaner rc) |
Initialize reschedule context; with custom response parser. More... | |
void | GNUNET_CURL_gnunet_rc_destroy (struct GNUNET_CURL_RescheduleContext *rc) |
Destroy reschedule context. More... | |
void | GNUNET_CURL_gnunet_scheduler_reschedule (void *cls) |
Implementation of the GNUNET_CURL_RescheduleCallback for GNUnet's scheduler. More... | |
void | GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx, const char *header_name) |
Enable sending the async scope ID as a header. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CURL_is_valid_scope_id (const char *scope_id) |
Return GNUNET_YES if given a valid scope ID and GNUNET_NO otherwise. More... | |
library to make it easy to download JSON replies over HTTP
Definition in file gnunet_curl_lib.h.