Commit 2f49e63d authored by Sergey Lyubka's avatar Sergey Lyubka

Moved docstrings to API.md

parent 988b40f7
...@@ -176,6 +176,27 @@ Return: number of bytes written to the client. If return value is less then ...@@ -176,6 +176,27 @@ Return: number of bytes written to the client. If return value is less then
`data_len`, it is a failure, meaning that client has closed the connection. `data_len`, it is a failure, meaning that client has closed the connection.
int mg_printf(struct mg_connection *, const char *fmt, ...);
Send data to the client using printf() semantics.
Works exactly like mg_write(), but allows to do message formatting.
void mg_send_file(struct mg_connection *conn, const char *path);
Send contents of the entire file together with HTTP headers.
int mg_read(struct mg_connection *, void *buf, int len);
Read data from the remote end, return number of bytes read.
If remote side has closed the connection, return value is less or equal to 0.
const char *mg_get_header(const struct mg_connection *, const char *name);
Get the value of particular HTTP header. This is a helper function.
It traverses http_headers array, and if the header is present in the array,
returns its value. If it is not present, NULL is returned.
## Embedding Examples ## Embedding Examples
The common pattern is to handle `MG_REQUEST_BEGIN` and serve static files The common pattern is to handle `MG_REQUEST_BEGIN` and serve static files
......
...@@ -47,6 +47,7 @@ struct mg_request_info { ...@@ -47,6 +47,7 @@ struct mg_request_info {
} http_headers[64]; // Maximum 64 headers } http_headers[64]; // Maximum 64 headers
}; };
// This structure is passed to the user's event handler function.
struct mg_event { struct mg_event {
int type; // Event type, possible types are defined below int type; // Event type, possible types are defined below
#define MG_REQUEST_BEGIN 1 // event_param: NULL #define MG_REQUEST_BEGIN 1 // event_param: NULL
...@@ -111,30 +112,10 @@ int mg_write(struct mg_connection *, const void *buf, int len); ...@@ -111,30 +112,10 @@ int mg_write(struct mg_connection *, const void *buf, int len);
#define PRINTF_ARGS(x, y) #define PRINTF_ARGS(x, y)
#endif #endif
// Send data to the client using printf() semantics.
//
// Works exactly like mg_write(), but allows to do message formatting.
int mg_printf(struct mg_connection *, 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.
void mg_send_file(struct mg_connection *conn, const char *path); void mg_send_file(struct mg_connection *conn, const char *path);
// Read data from the remote end, return number of bytes read.
// Return:
// 0 connection has been closed by peer. No more data could be read.
// < 0 read error. No more data could be read from the connection.
// > 0 number of bytes read into the buffer.
int mg_read(struct mg_connection *, void *buf, int len); int mg_read(struct mg_connection *, void *buf, int len);
// Get the value of particular HTTP header.
//
// This is a helper function. It traverses request_info->http_headers array,
// and if the header is present in the array, returns its value. If it is
// not present, NULL is returned.
const char *mg_get_header(const struct mg_connection *, const char *name); const char *mg_get_header(const struct mg_connection *, const char *name);
......
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