Commit afa5e3f4 authored by Alexander Alashkin's avatar Alexander Alashkin Committed by rojer

Enable SSL in SJ/WS

PUBLISHED_FROM=d7b3e083c7a7d5095c8e61bb6183ae7e6e068858
parent f57fcbcb
...@@ -16,10 +16,6 @@ ...@@ -16,10 +16,6 @@
"type": "markdown", "type": "markdown",
"name": "mg_send_websocket_handshake2.md" "name": "mg_send_websocket_handshake2.md"
}, },
{
"type": "markdown",
"name": "mg_connect_ws.md"
},
{ {
"type": "markdown", "type": "markdown",
"name": "mg_send_websocket_frame.md" "name": "mg_send_websocket_frame.md"
...@@ -80,10 +76,6 @@ ...@@ -80,10 +76,6 @@
"type": "markdown", "type": "markdown",
"name": "mg_http_create_digest_auth_header.md" "name": "mg_http_create_digest_auth_header.md"
}, },
{
"type": "markdown",
"name": "mg_connect_http.md"
},
{ {
"type": "markdown", "type": "markdown",
"name": "mg_serve_http.md" "name": "mg_serve_http.md"
......
---
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");
```
---
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);
```
...@@ -2147,11 +2147,25 @@ void mg_send_websocket_handshake2(struct mg_connection *nc, const char *path, ...@@ -2147,11 +2147,25 @@ void mg_send_websocket_handshake2(struct mg_connection *nc, const char *path,
* "clubby.cesanta.com", NULL); * "clubby.cesanta.com", NULL);
* ``` * ```
*/ */
struct mg_connection *mg_connect_ws(struct mg_mgr *mgr, struct mg_connection *mg_connect_ws(struct mg_mgr *mgr,
mg_event_handler_t event_handler, mg_event_handler_t event_handler,
const char *url, const char *protocol, const char *url, const char *protocol,
const char *extra_headers); 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. * Send websocket frame to the remote end.
* *
...@@ -2405,12 +2419,26 @@ int mg_http_create_digest_auth_header(char *buf, size_t buf_len, ...@@ -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"); * "var_1=value_1&var_2=value_2");
* ``` * ```
*/ */
struct mg_connection *mg_connect_http(struct mg_mgr *mgr, struct mg_connection *mg_connect_http(struct mg_mgr *mgr,
mg_event_handler_t event_handler, mg_event_handler_t event_handler,
const char *url, const char *url,
const char *extra_headers, const char *extra_headers,
const char *post_data); 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. * This structure defines how `mg_serve_http()` works.
* Best practice is to set only required settings, and leave the rest as NULL. * Best practice is to set only required settings, and leave the rest as NULL.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment