version 5.4.0

remove CORS default header from PIHTTPServer
fix several docs
fix PIMathVector::dot return type
add units directory with PIUnits facility
This commit is contained in:
2025-09-26 21:33:45 +03:00
parent daab41e41e
commit 5db97ca959
30 changed files with 1888 additions and 556 deletions

View File

@@ -3,8 +3,8 @@
#include "microhttpd_server.h"
//! ~english HTTP server
//! ~russian HTTP сервер
//! \~english HTTP server
//! \~russian HTTP сервер
class PIP_HTTP_SERVER_EXPORT PIHTTPServer: public MicrohttpdServer {
PIOBJECT_SUBCLASS(PIHTTPServer, MicrohttpdServer)
@@ -15,12 +15,12 @@ public:
using RequestFunction = std::function<PIHTTP::MessageMutable(const PIHTTP::MessageConst &)>;
//! ~english Registers handler for specific path and HTTP method
//! ~russian Регистрирует обработчик для указанного пути и HTTP метода
//! \~english Registers handler for specific path and HTTP method
//! \~russian Регистрирует обработчик для указанного пути и HTTP метода
bool registerPath(const PIString & path, PIHTTP::Method method, RequestFunction functor);
//! ~english Registers handler for specific path and HTTP method
//! ~russian Регистрирует обработчик для указанного пути и HTTP метода
//! \~english Registers handler for specific path and HTTP method
//! \~russian Регистрирует обработчик для указанного пути и HTTP метода
template<typename T>
bool
registerPath(const PIString & path, PIHTTP::Method method, T * o, PIHTTP::MessageMutable (T::*function)(const PIHTTP::MessageConst &)) {
@@ -28,36 +28,36 @@ public:
}
//! ~english Registers handler for unregistered pathes
//! ~russian Регистрирует обработчик для незарегистрированных путей
//! \~english Registers handler for unregistered pathes
//! \~russian Регистрирует обработчик для незарегистрированных путей
void registerUnhandled(RequestFunction functor);
//! ~english Registers handler for unregistered pathes
//! ~russian Регистрирует обработчик для незарегистрированных путей
//! \~english Registers handler for unregistered pathes
//! \~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 Удаляет обработчик для указанного пути и метода
//! \~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 Удаляет все обработчики для указанного пути
//! \~english Unregisters all handlers for specific path
//! \~russian Удаляет все обработчики для указанного пути
void unregisterPath(const PIString & path);
//! ~english Adds header to all server responses
//! ~russian Добавляет заголовок ко всем ответам сервера
//! \~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 Удаляет заголовок из ответов сервера
//! \~english Removes header from server responses
//! \~russian Удаляет заголовок из ответов сервера
void removeReplyHeader(const PIString & name) { reply_headers.remove(name); }
//! ~english Clears all custom response headers
//! ~russian Очищает все пользовательские заголовки ответов
//! \~english Clears all custom response headers
//! \~russian Очищает все пользовательские заголовки ответов
void clearReplyHeaders() { reply_headers.clear(); }
private: