|
messenger_via_http_server
1.0
|
Прослойка между SQLite и mongoose. Подробнее...
#include <string.h>#include <sstream>#include "mongoose.h"#include "db_plugin.h"#include "sqlite3.h"
Функции | |
| int | is_equal (const struct mg_str *s1, const struct mg_str *s2) |
| Функция сравнивает две строки на предмет равенства Подробнее... | |
| 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. Подробнее... | |
Прослойка между SQLite и mongoose.
Функции, содержащиеся в файле выполняют роль прослойки между базой данных SQLite и серверной частью приложения, написанной с использованием mongoose networking library. Так же содержит все функции api сервера.
| 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 | если пользователь не найден в базе данных |
| Указатель | на строку, содержащую имя пользователя |


Функция сравнивает две строки на предмет равенства
| s1,s2 | Сравниваемые строки |
| 1 | Строки равны |
| 0 | Строки не равны |

| 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