|
messenger_via_http_server
1.0
|
Заголовочный файл, содержащий константы для прослойки и объявления некоторых функций. Подробнее...
#include "sqlite3.h"

Макросы | |
| #define | USERNAME_MAX_LENGTH 40 |
| Максимальная длина имени пользователя Подробнее... | |
| #define | PASS_MAX_LENGTH 256 |
| Максимальная длина пароля Подробнее... | |
Перечисления | |
| enum | api_op { API_OP_POST, API_OP_GET, API_OP_SET, API_OP_DEL } |
| Набор возможных типов запросов к api. Подробнее... | |
| enum | api_action { API_ACTION_NULL, API_ACTION_SEND_MESSAGE, API_ACTION_GET_MESSAGE, API_ACTION_REGISTER, API_ACTION_GET_USER } |
| Набор возможных запросов-действий к api. Подробнее... | |
Функции | |
| void * | db_open (const char *db_path) |
| Функция открывает локальную базу данных, а если она не существует, то создаёт новую Подробнее... | |
| void | db_close (void **db_handle) |
| Функция закрывает базу данных Подробнее... | |
| char * | build_message_json (const char *message_id, const char *from, const char *to, const char *message, const char *time) |
| Функция формирует строку - JSON сообщение Подробнее... | |
| int | switch_action (const mg_str *buf) |
| Функция парсит параметр action HTTP запроса Подробнее... | |
| char * | check_auth (const http_message *hm, void *db) |
| Функция выполняет проверку авторизации Подробнее... | |
| void | get_message (struct mg_connection *nc, const struct http_message *hm, void *db) |
| Функция api получения сообщения Подробнее... | |
| void | send_message (struct mg_connection *nc, const struct http_message *hm, void *db) |
| Функция api отправки сообщения Подробнее... | |
| char * | get_user_from_db (void *db, char *user) |
| Функция достаёт данные о пользователе из базы данных Подробнее... | |
| void | register_user (struct mg_connection *nc, const struct http_message *hm, void *db) |
| Функция api регистрации нового пользователя Подробнее... | |
| void | get_user (struct mg_connection *nc, const struct http_message *hm, void *db) |
| Функция api получения данных о пользователе Подробнее... | |
| void | op_post (struct mg_connection *nc, const struct http_message *hm, void *db) |
| Функция-обработчик POST запроса к api. Подробнее... | |
| void | db_op (struct mg_connection *nc, const struct http_message *hm, void *db, int op) |
| Функция-обработчик любого запроса к api. Подробнее... | |
Заголовочный файл, содержащий константы для прослойки и объявления некоторых функций.
| #define PASS_MAX_LENGTH 256 |
Максимальная длина пароля
| #define USERNAME_MAX_LENGTH 40 |
Максимальная длина имени пользователя
| enum api_action |
Набор возможных запросов-действий к api.
| enum api_op |
| char* build_message_json | ( | const char * | message_id, |
| const char * | from, | ||
| const char * | to, | ||
| const char * | message, | ||
| const char * | time | ||
| ) |
Функция формирует строку - JSON сообщение
| [in] | message_id | Уникальный идентификатор сообщения |
| [in] | from | От кого адресовано сообщение |
| [in] | to | Кому адресовано сообщение |
| [in] | message | Текст сообщения |
| [in] | time | Время, в которое сообщение было получено сервером (UTC Unix) |

| char* check_auth | ( | const http_message * | hm, |
| void * | db | ||
| ) |
Функция выполняет проверку авторизации
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |
| NULL | если пользователь не найден, или неправильный пароль |
| Указатель | на строку, содержащую имя пользователя |


| void db_close | ( | void ** | db_handle | ) |
Функция закрывает базу данных
| [in] | db_handle | указатель на handler базы данных, которую необходимо закрыть |


| void db_op | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db, | ||
| int | op | ||
| ) |
Функция-обработчик любого запроса к api.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |
| [in] | op | Тип запроса к api |


| void* db_open | ( | const char * | db_path | ) |
Функция открывает локальную базу данных, а если она не существует, то создаёт новую
| [in] | db_path | Путь к базе данных |


| void get_message | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db | ||
| ) |
Функция api получения сообщения
Функция проверяет авторизацию, достаёт из базы данных первое сообщение, которое неизвестно клиенту и отправляет ответ. В случае, если сообщение не найдено, возвращает ответ об отвутствии новых сообщений.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |


| void get_user | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db | ||
| ) |
Функция api получения данных о пользователе
Функция проверяет правильность запроса, отправляет по соединению данные о пользователе.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |


| char* get_user_from_db | ( | void * | db, |
| char * | user | ||
| ) |
Функция достаёт данные о пользователе из базы данных
| [in] | db | Handler базы данных |
| [in] | user | Указатель на строку, содержащую имя пользователя |
| NULL | если пользователь не найден в базе данных |
| Указатель | на строку, содержащую имя пользователя |


| void op_post | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db | ||
| ) |
Функция-обработчик POST запроса к api.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |


| void register_user | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db | ||
| ) |
Функция api регистрации нового пользователя
Функция проверяет правильность запроса, пытается добавить пользователя в базу данных. Результат попытки отправляет по открытому соединению.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |


| void send_message | ( | struct mg_connection * | nc, |
| const struct http_message * | hm, | ||
| void * | db | ||
| ) |
Функция api отправки сообщения
Функция проверяет авторизацию, правильность запроса, кладёт в базу данных новое сообщение.
| [in] | nc | Соединение, по которому нужно отправить ответ |
| [in] | hm | Тело HTTP запроса |
| [in] | db | Handler базы данных |


| int switch_action | ( | const mg_str * | buf | ) |
Функция парсит параметр action HTTP запроса
| [in] | buf | Тело HTTP запроса с параметрами |


1.8.13