some autogen docs
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
|
||||
struct MicrohttpdServerConnection;
|
||||
|
||||
//! ~english Base HTTP server class implementing core functionality
|
||||
//! ~runnan Базовый класс HTTP сервера, реализующий основную функциональность
|
||||
class PIP_HTTP_SERVER_EXPORT MicrohttpdServer: public PIObject {
|
||||
PIOBJECT(MicrohttpdServer)
|
||||
friend struct MicrohttpdServerConnection;
|
||||
@@ -15,30 +17,75 @@ public:
|
||||
MicrohttpdServer();
|
||||
virtual ~MicrohttpdServer();
|
||||
|
||||
//! ~english Server configuration options
|
||||
//! ~russian Опции конфигурации сервера
|
||||
enum class Option {
|
||||
ConnectionLimit, // uint
|
||||
ConnectionTimeout, // uint, sec
|
||||
HTTPSEnabled, // bool
|
||||
HTTPSMemKey, // const char * to key.pem data
|
||||
HTTPSMemCert, // const char * to cert.pem data
|
||||
HTTPSKeyPassword // const char * to passwd for key.pem
|
||||
ConnectionLimit, //!< ~english Maximum concurrent connections
|
||||
//!< ~russian Максимальное количество соединений
|
||||
ConnectionTimeout, //!< ~english Connection timeout in seconds
|
||||
//!< ~russian Таймаут соединения в секундах
|
||||
HTTPSEnabled, //!< ~english Enable HTTPS support
|
||||
//!< ~russian Включить поддержку HTTPS
|
||||
HTTPSMemKey, //!< ~english SSL key in memory (PIByteArray)
|
||||
//!< ~russian SSL ключ в памяти (PIByteArray)
|
||||
HTTPSMemCert, //!< ~english SSL certificate in memory (PIByteArray)
|
||||
//!< ~russian SSL сертификат в памяти (PIByteArray)
|
||||
HTTPSKeyPassword //!< ~english SSL key password (PIByteArray)
|
||||
//!< ~russian Пароль SSL ключа (PIByteArray)
|
||||
};
|
||||
|
||||
//! ~english Sets server option
|
||||
//! ~russian Устанавливает опцию сервера
|
||||
void setOption(Option o, PIVariant v);
|
||||
|
||||
//! ~english Sets server favicon
|
||||
//! ~russian Устанавливает фавикон сервера
|
||||
void setFavicon(const PIByteArray & im);
|
||||
|
||||
|
||||
//! ~english Starts server on specified address
|
||||
//! ~russian Запускает сервер на указанном адресе
|
||||
bool listen(PINetworkAddress addr);
|
||||
|
||||
//! ~english Starts server on all interfaces
|
||||
//! ~russian Запускает сервер на всех интерфейсах
|
||||
bool listenAll(ushort port) { return listen({0, port}); }
|
||||
|
||||
//! ~english Checks if server is running
|
||||
//! ~russian Проверяет, работает ли сервер
|
||||
bool isListen() const;
|
||||
|
||||
//! ~english Stops the server
|
||||
//! ~russian Останавливает сервер
|
||||
void stop();
|
||||
|
||||
|
||||
//! ~english Enables basic authentication
|
||||
//! ~russian Включает базовую аутентификацию
|
||||
void enableBasicAuth() { setBasicAuthEnabled(true); }
|
||||
|
||||
//! ~english Disables basic authentication
|
||||
//! ~russian Выключает базовую аутентификацию
|
||||
void disableBasicAuth() { setBasicAuthEnabled(false); }
|
||||
|
||||
//! ~english Set basic authentication enabled to "yes"
|
||||
//! ~russian Устанавливает базовую аутентификацию в "yes"
|
||||
void setBasicAuthEnabled(bool yes) { use_basic_auth = yes; }
|
||||
|
||||
//! ~english Return if basic authentication enabled
|
||||
//! ~russian Возвращает включена ли базовая аутентификация
|
||||
bool isBasicAuthEnabled() const { return use_basic_auth; }
|
||||
|
||||
//! ~english Sets basic authentication realm
|
||||
//! ~russian Устанавливает область аутентификации
|
||||
void setBasicAuthRealm(const PIString & r) { realm = r; }
|
||||
|
||||
//! ~english Sets request processing callback
|
||||
//! ~russian Устанавливает callback для обработки запросов
|
||||
void setRequestCallback(std::function<PIHTTP::MessageMutable(const PIHTTP::MessageConst &)> c) { callback = c; }
|
||||
|
||||
//! ~english Sets basic authentication callback
|
||||
//! ~russian Устанавливает callback для базовой аутентификации
|
||||
void setBasicAuthCallback(std::function<bool(const PIString &, const PIString &)> c) { callback_auth = c; }
|
||||
|
||||
private:
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "microhttpd_server.h"
|
||||
|
||||
//! ~english HTTP server
|
||||
//! ~russian HTTP сервер
|
||||
class PIP_HTTP_SERVER_EXPORT PIHTTPServer: public MicrohttpdServer {
|
||||
PIOBJECT_SUBCLASS(PIHTTPServer, MicrohttpdServer)
|
||||
|
||||
@@ -12,24 +14,50 @@ public:
|
||||
|
||||
using RequestFunction = std::function<PIHTTP::MessageMutable(const PIHTTP::MessageConst &)>;
|
||||
|
||||
|
||||
//! ~english Registers handler for specific path and HTTP method
|
||||
//! ~russian Регистрирует обработчик для указанного пути и HTTP метода
|
||||
void registerPath(const PIString & path, PIHTTP::Method method, RequestFunction functor);
|
||||
|
||||
//! ~english Registers handler for specific path and HTTP method
|
||||
//! ~russian Регистрирует обработчик для указанного пути и HTTP метода
|
||||
template<typename T>
|
||||
void
|
||||
registerPath(const PIString & path, PIHTTP::Method method, T * o, PIHTTP::MessageMutable (T::*function)(const PIHTTP::MessageConst &)) {
|
||||
registerPath(path, method, [o, function](const PIHTTP::MessageConst & m) { return (o->*function)(m); });
|
||||
}
|
||||
|
||||
|
||||
//! ~english Registers handler for unhandled requests
|
||||
//! ~russian Регистрирует обработчик для необработанных запросов
|
||||
void registerUnhandled(RequestFunction functor);
|
||||
|
||||
//! ~english Registers handler for unhandled requests
|
||||
//! ~russian Регистрирует обработчик для необработанных запросов
|
||||
template<typename T>
|
||||
void registerUnhandled(T * o, PIHTTP::MessageMutable (T::*function)(const PIHTTP::MessageConst &)) {
|
||||
registerUnhandled([o, function](const PIHTTP::MessageConst & m) { return (o->*function)(m); });
|
||||
}
|
||||
|
||||
//! ~english Unregisters handler for specific path and method
|
||||
//! ~russian Удаляет обработчик для указанного пути и метода
|
||||
void unregisterPath(const PIString & path, PIHTTP::Method method);
|
||||
|
||||
//! ~english Unregisters all handlers for specific path
|
||||
//! ~russian Удаляет все обработчики для указанного пути
|
||||
void unregisterPath(const PIString & path);
|
||||
|
||||
// void registerBasicAuth() {}
|
||||
|
||||
//! ~english Adds header to all server responses
|
||||
//! ~russian Добавляет заголовок ко всем ответам сервера
|
||||
void addReplyHeader(const PIString & name, const PIString & value) { reply_headers[name] = value; }
|
||||
|
||||
//! ~english Removes header from server responses
|
||||
//! ~russian Удаляет заголовок из ответов сервера
|
||||
void removeReplyHeader(const PIString & name) { reply_headers.remove(name); }
|
||||
|
||||
//! ~english Clears all custom response headers
|
||||
//! ~russian Очищает все пользовательские заголовки ответов
|
||||
void clearReplyHeaders() { reply_headers.clear(); }
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user