summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/web/mongoose.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/web/mongoose.h')
-rw-r--r--src/lib/web/mongoose.h202
1 files changed, 101 insertions, 101 deletions
diff --git a/src/lib/web/mongoose.h b/src/lib/web/mongoose.h
index 851d01801de..64c3a174966 100644
--- a/src/lib/web/mongoose.h
+++ b/src/lib/web/mongoose.h
@@ -34,21 +34,21 @@ struct mg_connection; // Handle for the individual connection
// This structure contains information about the HTTP request.
struct mg_request_info {
- const char *request_method; // "GET", "POST", etc
- const char *uri; // URL-decoded URI
- const char *http_version; // E.g. "1.0", "1.1"
- const char *query_string; // URL part after '?', not including '?', or NULL
- const char *remote_user; // Authenticated user, or NULL if no auth used
- long remote_ip; // Client's IP address
- int remote_port; // Client's port
- int is_ssl; // 1 if SSL-ed, 0 if not
- void *user_data; // User data pointer passed to mg_start()
-
- int num_headers; // Number of HTTP headers
- struct mg_header {
- const char *name; // HTTP header name
- const char *value; // HTTP header value
- } http_headers[64]; // Maximum 64 headers
+ const char *request_method; // "GET", "POST", etc
+ const char *uri; // URL-decoded URI
+ const char *http_version; // E.g. "1.0", "1.1"
+ const char *query_string; // URL part after '?', not including '?', or NULL
+ const char *remote_user; // Authenticated user, or NULL if no auth used
+ long remote_ip; // Client's IP address
+ int remote_port; // Client's port
+ int is_ssl; // 1 if SSL-ed, 0 if not
+ void *user_data; // User data pointer passed to mg_start()
+
+ int num_headers; // Number of HTTP headers
+ struct mg_header {
+ const char *name; // HTTP header name
+ const char *value; // HTTP header value
+ } http_headers[64]; // Maximum 64 headers
};
@@ -56,73 +56,73 @@ struct mg_request_info {
// which callbacks to invoke. For detailed description, see
// https://github.com/valenok/mongoose/blob/master/UserManual.md
struct mg_callbacks {
- // Called when mongoose has received new HTTP request.
- // If callback returns non-zero,
- // callback must process the request by sending valid HTTP headers and body,
- // and mongoose will not do any further processing.
- // If callback returns 0, mongoose processes the request itself. In this case,
- // callback must not send any data to the client.
- int (*begin_request)(struct mg_connection *);
-
- // Called when mongoose has finished processing request.
- void (*end_request)(const struct mg_connection *, int reply_status_code);
-
- // Called when mongoose is about to log a message. If callback returns
- // non-zero, mongoose does not log anything.
- int (*log_message)(const struct mg_connection *, const char *message);
-
- // Called when mongoose initializes SSL library.
- int (*init_ssl)(void *ssl_context, void *user_data);
-
- // Called when websocket request is received, before websocket handshake.
- // If callback returns 0, mongoose proceeds with handshake, otherwise
- // cinnection is closed immediately.
- int (*websocket_connect)(const struct mg_connection *);
-
- // Called when websocket handshake is successfully completed, and
- // connection is ready for data exchange.
- void (*websocket_ready)(struct mg_connection *);
-
- // Called when data frame has been received from the client.
- // Parameters:
- // bits: first byte of the websocket frame, see websocket RFC at
- // http://tools.ietf.org/html/rfc6455, section 5.2
- // data, data_len: payload, with mask (if any) already applied.
- // Return value:
- // non-0: keep this websocket connection opened.
- // 0: close this websocket connection.
- int (*websocket_data)(struct mg_connection *, int bits,
- char *data, size_t data_len);
-
- // Called when mongoose tries to open a file. Used to intercept file open
- // calls, and serve file data from memory instead.
- // Parameters:
- // path: Full path to the file to open.
- // data_len: Placeholder for the file size, if file is served from memory.
- // Return value:
- // NULL: do not serve file from memory, proceed with normal file open.
- // non-NULL: pointer to the file contents in memory. data_len must be
- // initilized with the size of the memory block.
- const char * (*open_file)(const struct mg_connection *,
- const char *path, size_t *data_len);
-
- // Called when mongoose is about to serve Lua server page (.lp file), if
- // Lua support is enabled.
- // Parameters:
- // lua_context: "lua_State *" pointer.
- void (*init_lua)(struct mg_connection *, void *lua_context);
-
- // Called when mongoose has uploaded a file to a temporary directory as a
- // result of mg_upload() call.
- // Parameters:
- // file_file: full path name to the uploaded file.
- void (*upload)(struct mg_connection *, const char *file_name);
-
- // Called when mongoose is about to send HTTP error to the client.
- // Implementing this callback allows to create custom error pages.
- // Parameters:
- // status: HTTP error status code.
- int (*http_error)(struct mg_connection *, int status);
+ // Called when mongoose has received new HTTP request.
+ // If callback returns non-zero,
+ // callback must process the request by sending valid HTTP headers and body,
+ // and mongoose will not do any further processing.
+ // If callback returns 0, mongoose processes the request itself. In this case,
+ // callback must not send any data to the client.
+ int (*begin_request)(struct mg_connection *);
+
+ // Called when mongoose has finished processing request.
+ void (*end_request)(const struct mg_connection *, int reply_status_code);
+
+ // Called when mongoose is about to log a message. If callback returns
+ // non-zero, mongoose does not log anything.
+ int (*log_message)(const struct mg_connection *, const char *message);
+
+ // Called when mongoose initializes SSL library.
+ int (*init_ssl)(void *ssl_context, void *user_data);
+
+ // Called when websocket request is received, before websocket handshake.
+ // If callback returns 0, mongoose proceeds with handshake, otherwise
+ // cinnection is closed immediately.
+ int (*websocket_connect)(const struct mg_connection *);
+
+ // Called when websocket handshake is successfully completed, and
+ // connection is ready for data exchange.
+ void (*websocket_ready)(struct mg_connection *);
+
+ // Called when data frame has been received from the client.
+ // Parameters:
+ // bits: first byte of the websocket frame, see websocket RFC at
+ // http://tools.ietf.org/html/rfc6455, section 5.2
+ // data, data_len: payload, with mask (if any) already applied.
+ // Return value:
+ // non-0: keep this websocket connection opened.
+ // 0: close this websocket connection.
+ int (*websocket_data)(struct mg_connection *, int bits,
+ char *data, size_t data_len);
+
+ // Called when mongoose tries to open a file. Used to intercept file open
+ // calls, and serve file data from memory instead.
+ // Parameters:
+ // path: Full path to the file to open.
+ // data_len: Placeholder for the file size, if file is served from memory.
+ // Return value:
+ // NULL: do not serve file from memory, proceed with normal file open.
+ // non-NULL: pointer to the file contents in memory. data_len must be
+ // initilized with the size of the memory block.
+ const char * (*open_file)(const struct mg_connection *,
+ const char *path, size_t *data_len);
+
+ // Called when mongoose is about to serve Lua server page (.lp file), if
+ // Lua support is enabled.
+ // Parameters:
+ // lua_context: "lua_State *" pointer.
+ void (*init_lua)(struct mg_connection *, void *lua_context);
+
+ // Called when mongoose has uploaded a file to a temporary directory as a
+ // result of mg_upload() call.
+ // Parameters:
+ // file_file: full path name to the uploaded file.
+ void (*upload)(struct mg_connection *, const char *file_name);
+
+ // Called when mongoose is about to send HTTP error to the client.
+ // Implementing this callback allows to create custom error pages.
+ // Parameters:
+ // status: HTTP error status code.
+ int (*http_error)(struct mg_connection *, int status);
};
// Start web server.
@@ -151,8 +151,8 @@ struct mg_callbacks {
// Return:
// web server context, or NULL on error.
struct mg_context *mg_start(const struct mg_callbacks *callbacks,
- void *user_data,
- const char **configuration_options);
+ void *user_data,
+ const char **configuration_options);
// Stop the web server.
@@ -191,9 +191,9 @@ const char **mg_get_valid_option_names(void);
// Return:
// 1 on success, 0 on error.
int mg_modify_passwords_file(const char *passwords_file_name,
- const char *domain,
- const char *user,
- const char *password);
+ const char *domain,
+ const char *user,
+ const char *password);
// Return information associated with the request.
@@ -217,16 +217,16 @@ int mg_write(struct mg_connection *, const void *buf, size_t len);
// -1 on error
// >0 number of bytes written on success
int mg_websocket_write(struct mg_connection* conn, int opcode,
- const char *data, size_t data_len);
+ const char *data, size_t data_len);
// Opcodes, from http://tools.ietf.org/html/rfc6455
enum {
- WEBSOCKET_OPCODE_CONTINUATION = 0x0,
- WEBSOCKET_OPCODE_TEXT = 0x1,
- WEBSOCKET_OPCODE_BINARY = 0x2,
- WEBSOCKET_OPCODE_CONNECTION_CLOSE = 0x8,
- WEBSOCKET_OPCODE_PING = 0x9,
- WEBSOCKET_OPCODE_PONG = 0xa
+ WEBSOCKET_OPCODE_CONTINUATION = 0x0,
+ WEBSOCKET_OPCODE_TEXT = 0x1,
+ WEBSOCKET_OPCODE_BINARY = 0x2,
+ WEBSOCKET_OPCODE_CONNECTION_CLOSE = 0x8,
+ WEBSOCKET_OPCODE_PING = 0x9,
+ WEBSOCKET_OPCODE_PONG = 0xa
};
@@ -253,7 +253,7 @@ enum {
//
// Works exactly like mg_write(), but allows to do message formatting.
int mg_printf(struct mg_connection *,
- PRINTF_FORMAT_STRING(const char *fmt), ...) PRINTF_ARGS(2, 3);
+ PRINTF_FORMAT_STRING(const char *fmt), ...) PRINTF_ARGS(2, 3);
// Send contents of the entire file together with HTTP headers.
@@ -296,7 +296,7 @@ const char *mg_get_header(const struct mg_connection *, const char *name);
// Destination buffer is guaranteed to be '\0' - terminated if it is not
// NULL or zero length.
int mg_get_var(const char *data, size_t data_len,
- const char *var_name, char *dst, size_t dst_len);
+ const char *var_name, char *dst, size_t dst_len);
// Fetch value of certain cookie variable into the destination buffer.
//
@@ -312,7 +312,7 @@ int mg_get_var(const char *data, size_t data_len,
// -2 (destination buffer is NULL, zero length or too small to hold the
// value).
int mg_get_cookie(const char *cookie, const char *var_name,
- char *buf, size_t buf_len);
+ char *buf, size_t buf_len);
// Download data from the remote web server.
@@ -330,9 +330,9 @@ int mg_get_cookie(const char *cookie, const char *var_name,
// conn = mg_download("google.com", 80, 0, ebuf, sizeof(ebuf),
// "%s", "GET / HTTP/1.0\r\nHost: google.com\r\n\r\n");
struct mg_connection *mg_download(const char *host, int port, int use_ssl,
- char *error_buffer, size_t error_buffer_size,
- PRINTF_FORMAT_STRING(const char *request_fmt),
- ...) PRINTF_ARGS(6, 7);
+ char *error_buffer, size_t error_buffer_size,
+ PRINTF_FORMAT_STRING(const char *request_fmt),
+ ...) PRINTF_ARGS(6, 7);
// Close the connection opened by mg_download().
@@ -366,7 +366,7 @@ const char *mg_version(void);
// http://ftp.ics.uci.edu/pub/ietf/html/rfc1866.txt
// Return: length of the decoded data, or -1 if dst buffer is too small.
int mg_url_decode(const char *src, int src_len, char *dst,
- int dst_len, int is_form_url_encoded);
+ int dst_len, int is_form_url_encoded);
// MD5 hash given strings.
// Buffer 'buf' must be 33 bytes long. Varargs is a NULL terminated list of