TS-E+ базовая библиотека.
libTSE+
 Указатель Классы Функции Переменные Определения типов
Открытые члены | Защищенные члены | Полный список членов класса
Класс HTTPD

#include <httpd.h>

Граф наследования:HTTPD:
SocketListener

Открытые члены

 HTTPD (uint16_t port, uint32_t timeout)
 
virtual void handle (Socket *)
 
virtual uint32_t timeout ()
 
virtual void release (Socket *)
 
bool sendFile (Socket *socket, VFSFile *file, const bool parseVars)
 
char * getParam (Socket *socket, const char *name)
 
Vector< KV * > * getParams (Socket *socket)
 
Vector< KV * > * getCookies (Socket *socket)
 
char * getCookie (Socket *socket, const char *name)
 
char * getParam_P (Socket *, const char *)
 
char * getCookie_P (Socket *, const char *)
 
void setCookie (Socket *socket, const char *name, const char *value)
 
void setCookie_P (Socket *, const char *, const char *)
 
void deleteCookie (Socket *socket, const char *name)
 
void deleteCookie_P (Socket *socket, const char *name)
 
void setHeaderField (Socket *socket, const char *field)
 
void sendHeader (Socket *socket, const HTTPStatus status, const MIME mime)
 
void sendError (Socket *socket, const HTTPStatus status)
 
uint8_t * getContent (Socket *)
 
size_t getContentSize (Socket *)
 
RequestMethod getRequestType (Socket *)
 
virtual void onRegister ()
 
- Открытые члены inherited from SocketListener
 SocketListener (const uint8_t protocol, const uint16_t port)
 
void setPort (uint16_t port)
 
const uint8_t protocol ()
 
const uint16_t port ()
 
virtual void onIdle ()
 

Защищенные члены

virtual void handleRequest (Socket *socket, char *path)
 
virtual void handleVariable (Socket *socket, const char *var)
 
virtual bool handleAuth (Realm *realm, const char *user, const char *password)
 
virtual void readSecuritySettings ()
 
void setTimeout (uint32_t timeout)
 
VFSFileopenFile (const char *name, bool &isGZipped)
 
void addRealm (Realm *realm)
 

Additional Inherited Members

- Защищенные данные inherited from SocketListener
uint16_t _port
 

Подробное описание

Базовый HTTPD server

Методы

void HTTPD::addRealm ( Realm realm)
protected

Добавить новую защищенную область

Аргументы
realmдескриптор защищенной области
void HTTPD::deleteCookie ( Socket socket,
const char *  name 
)

Удалить cookie

Аргументы
socket- соединение
name- имя cookie
void HTTPD::deleteCookie_P ( Socket socket,
const char *  name 
)

Удалить cookie используя имя в progmem

Аргументы
socket- соединение
name- имя cookie в progmem
uint8_t* HTTPD::getContent ( Socket )

Получить данные тела запроса (для POST запросов)

size_t HTTPD::getContentSize ( Socket )

Получить длину тела запроса (для POST запросов)

char* HTTPD::getCookie ( Socket socket,
const char *  name 
)

Получить cookie

char* HTTPD::getCookie_P ( Socket ,
const char *   
)

получить cookie используя имя в progmem

Vector<KV *>* HTTPD::getCookies ( Socket socket)

Получить все cookie.

char* HTTPD::getParam ( Socket socket,
const char *  name 
)

Получить параметр запроса

Аргументы
socket- активное соединение
name- имя параметра
Возвращает
- значение параметра или NULL
char* HTTPD::getParam_P ( Socket ,
const char *   
)

получить параметры используя имя в progmem параметры аналогичны getParam

Vector<KV *>* HTTPD::getParams ( Socket socket)

Получить все параметры

RequestMethod HTTPD::getRequestType ( Socket )

Получить тип HTTP запроса

virtual void HTTPD::handle ( Socket socket)
virtual

Обработать соединение, получившее данные

Аргументы
socket- активное соединение

Замещает SocketListener.

virtual bool HTTPD::handleAuth ( Realm realm,
const char *  user,
const char *  password 
)
protectedvirtual

Обработка запроса аутентификации для реалма

Аргументы
realm- security realm
user- имя пользователя
password- пароль пользователя
Возвращает
- true если авторизация успешна, false - иначе
virtual void HTTPD::handleRequest ( Socket socket,
char *  path 
)
protectedvirtual

Обработчик запроса

Аргументы
socket- активное соединение
path- путь запроса
virtual void HTTPD::handleVariable ( Socket socket,
const char *  var 
)
protectedvirtual

Обработать подстановку переменных

Аргументы
socket- активное соединение
var- переменная (без ограничивающих тегов <? и ?>
virtual void HTTPD::onRegister ( )
inlinevirtual

Действия при регистрации сервера в супердемоне. Вызываются однократно

Переопределяет метод предка SocketListener.

VFSFile* HTTPD::openFile ( const char *  name,
bool &  isGZipped 
)
protected

Открыть файл

Аргументы
name- имя файла
isGZipped- возвращает true если был найден файл в сжатом формате
Возвращает
- файл, или NULL если файл не найден
virtual void HTTPD::readSecuritySettings ( )
protectedvirtual

Считать настройка security realm-ов. Вызывается однократно, при старте сервера

virtual void HTTPD::release ( Socket socket)
virtual

Освободить соединение. Вызывается при закрытии соединения

Аргументы
socket- закрытое соединение

Замещает SocketListener.

void HTTPD::sendError ( Socket socket,
const HTTPStatus  status 
)

Отправить HTTP ошибку и закрыть соединение. Формируется заголовк и тело сообщения

Аргументы
socket- активное соединение
status- HTTP-статус ошибки
bool HTTPD::sendFile ( Socket socket,
VFSFile file,
const bool  parseVars 
)

Отправить файл

Аргументы
socket- активное соединение
file- файл
parseVars- просматривать файл на предмет подстановки переменных (поиск <?имя?>
void HTTPD::sendHeader ( Socket socket,
const HTTPStatus  status,
const MIME  mime 
)

Отправить HTTP-заголовок

Аргументы
socket- активное соединение
status- HTTP статус
mime- MIME-тип тела ответа
void HTTPD::setCookie ( Socket socket,
const char *  name,
const char *  value 
)

Установить cookie. Должно быть вызвано до sendHeader

Аргументы
socket- активное соединеие
name- имя cookie
value- значение cookie
void HTTPD::setCookie_P ( Socket ,
const char *  ,
const char *   
)

Установить cookie используя имя в progmem. Должно быть вызвано до sendHeader

void HTTPD::setHeaderField ( Socket socket,
const char *  field 
)

Добавить поле в HTTP-заголовок. Должно быть вызвано до sendHeader

Аргументы
socket- активное соединение
field- поле HTTP-заголовка. Не должнозавершаться
void HTTPD::setTimeout ( uint32_t  timeout)
inlineprotected

Установить время ожидания данных

virtual uint32_t HTTPD::timeout ( )
inlinevirtual

Время ожидания активности соедиения, мс

Переопределяет метод предка SocketListener.


Объявления и описания членов класса находятся в файле: