diff --git a/docs/c-api/http.h/items.json b/docs/c-api/http.h/items.json index 037e457b33db00ce2c8a2e3217db566238a3bc07..01032204bbdc8b75c7f0b1103b28b3df27516169 100644 --- a/docs/c-api/http.h/items.json +++ b/docs/c-api/http.h/items.json @@ -16,10 +16,6 @@ "type": "markdown", "name": "mg_send_websocket_handshake2.md" }, - { - "type": "markdown", - "name": "mg_connect_ws.md" - }, { "type": "markdown", "name": "mg_send_websocket_frame.md" @@ -80,10 +76,6 @@ "type": "markdown", "name": "mg_http_create_digest_auth_header.md" }, - { - "type": "markdown", - "name": "mg_connect_http.md" - }, { "type": "markdown", "name": "mg_serve_http.md" diff --git a/docs/c-api/http.h/mg_connect_http.md b/docs/c-api/http.h/mg_connect_http.md deleted file mode 100644 index b897be0ce903f9ac554117935c8dcc080554d71d..0000000000000000000000000000000000000000 --- a/docs/c-api/http.h/mg_connect_http.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "mg_connect_http()" -decl_name: "mg_connect_http" -symbol_kind: "func" -signature: | - struct mg_connection *mg_connect_http(struct mg_mgr *mgr, - mg_event_handler_t event_handler, - const char *url, - const char *extra_headers, - const char *post_data); ---- - -Helper function that creates outbound HTTP connection. - -`url` is a URL to fetch. It must be properly URL-encoded, e.g. have -no spaces, etc. By default, `mg_connect_http()` sends Connection and -Host headers. `extra_headers` is an extra HTTP headers to send, e.g. -`"User-Agent: my-app\r\n"`. -If `post_data` is NULL, then GET request is created. Otherwise, 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"); -``` - diff --git a/docs/c-api/http.h/mg_connect_ws.md b/docs/c-api/http.h/mg_connect_ws.md deleted file mode 100644 index 417279c86129e797f733aebe18d7dd1b69d4d00e..0000000000000000000000000000000000000000 --- a/docs/c-api/http.h/mg_connect_ws.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "mg_connect_ws()" -decl_name: "mg_connect_ws" -symbol_kind: "func" -signature: | - struct mg_connection *mg_connect_ws(struct mg_mgr *mgr, - mg_event_handler_t event_handler, - const char *url, const char *protocol, - const char *extra_headers); ---- - -Helper function that creates an outbound WebSocket connection. - -`url` is a URL to connect to. It must be properly URL-encoded, e.g. have -no spaces, etc. By default, `mg_connect_ws()` sends Connection and -Host headers. `extra_headers` is an extra HTTP headers to send, e.g. -`"User-Agent: my-app\r\n"`. -If `protocol` is not NULL, then a `Sec-WebSocket-Protocol` header is sent. - -Examples: - -```c - nc1 = mg_connect_ws(mgr, ev_handler_1, "ws://echo.websocket.org", NULL, - NULL); - nc2 = mg_connect_ws(mgr, ev_handler_1, "wss://echo.websocket.org", NULL, - NULL); - nc3 = mg_connect_ws(mgr, ev_handler_1, "ws://api.cesanta.com", - "clubby.cesanta.com", NULL); -``` - diff --git a/mongoose.h b/mongoose.h index f357a25fe02b4e06298b35622415a8f00124b8cd..1b0f3dcad1bd0f72c39b9e135c1dee478cce3737 100644 --- a/mongoose.h +++ b/mongoose.h @@ -2147,11 +2147,25 @@ void mg_send_websocket_handshake2(struct mg_connection *nc, const char *path, * "clubby.cesanta.com", NULL); * ``` */ + struct mg_connection *mg_connect_ws(struct mg_mgr *mgr, mg_event_handler_t event_handler, const char *url, const char *protocol, const char *extra_headers); +/* + * Helper function that creates an outbound WebSocket connection + * + * Mostly identical to mg_connect_ws, but allows to provide extra parameters + * (for example, SSL parameters + */ + +struct mg_connection *mg_connect_ws_opt(struct mg_mgr *mgr, + mg_event_handler_t ev_handler, + struct mg_connect_opts opts, + const char *url, const char *protocol, + const char *extra_headers); + /* * Send websocket frame to the remote end. * @@ -2405,12 +2419,26 @@ int mg_http_create_digest_auth_header(char *buf, size_t buf_len, * "var_1=value_1&var_2=value_2"); * ``` */ + struct mg_connection *mg_connect_http(struct mg_mgr *mgr, mg_event_handler_t event_handler, const char *url, const char *extra_headers, const char *post_data); +/* + * Helper function that creates outbound HTTP connection. + * + * Mostly identical to mg_connect_http, but allows to provide extra parameters + * (for example, SSL parameters + */ + +struct mg_connection *mg_connect_http_opt(struct mg_mgr *mgr, + mg_event_handler_t ev_handler, + struct mg_connect_opts opts, + const char *url, + const char *extra_headers, + const char *post_data); /* * This structure defines how `mg_serve_http()` works. * Best practice is to set only required settings, and leave the rest as NULL.