mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-20 11:19:56 +00:00
63 lines
2.2 KiB
C
63 lines
2.2 KiB
C
/*
|
|
* === Client API reference
|
|
*/
|
|
|
|
#ifndef CS_MONGOOSE_SRC_HTTP_CLIENT_H_
|
|
#define CS_MONGOOSE_SRC_HTTP_CLIENT_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/*
|
|
* Helper function that creates an outbound HTTP connection.
|
|
*
|
|
* `url` is the URL to fetch. It must be properly URL-encoded, e.g. have
|
|
* no spaces, etc. By default, `mg_connect_http()` sends the Connection and
|
|
* Host headers. `extra_headers` is an extra HTTP header to send, e.g.
|
|
* `"User-Agent: my-app\r\n"`.
|
|
* If `post_data` is NULL, then a GET request is created. Otherwise, a POST
|
|
* request is created with the specified POST data. Note that if the data being
|
|
* posted is a form submission, the `Content-Type` header should be set
|
|
* accordingly (see example below).
|
|
*
|
|
* Examples:
|
|
*
|
|
* ```c
|
|
* nc1 = mg_connect_http(mgr, ev_handler_1, "http://www.google.com", NULL,
|
|
* NULL);
|
|
* nc2 = mg_connect_http(mgr, ev_handler_1, "https://github.com", NULL, NULL);
|
|
* nc3 = mg_connect_http(
|
|
* mgr, ev_handler_1, "my_server:8000/form_submit/",
|
|
* "Content-Type: application/x-www-form-urlencoded\r\n",
|
|
* "var_1=value_1&var_2=value_2");
|
|
* ```
|
|
*/
|
|
struct mg_connection *mg_connect_http(
|
|
struct mg_mgr *mgr,
|
|
MG_CB(mg_event_handler_t event_handler, void *user_data), const char *url,
|
|
const char *extra_headers, const char *post_data);
|
|
|
|
/*
|
|
* Helper function that creates an outbound HTTP connection.
|
|
*
|
|
* Mostly identical to mg_connect_http, but allows you to provide extra
|
|
*parameters
|
|
* (for example, SSL parameters)
|
|
*/
|
|
struct mg_connection *mg_connect_http_opt(
|
|
struct mg_mgr *mgr, MG_CB(mg_event_handler_t ev_handler, void *user_data),
|
|
struct mg_connect_opts opts, const char *url, const char *extra_headers,
|
|
const char *post_data);
|
|
|
|
/* Creates digest authentication header for a client request. */
|
|
int mg_http_create_digest_auth_header(char *buf, size_t buf_len,
|
|
const char *method, const char *uri,
|
|
const char *auth_domain, const char *user,
|
|
const char *passwd, const char *nonce);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
#endif /* CS_MONGOOSE_SRC_HTTP_CLIENT_H_ */
|