/
SoRusV
/
esp32_https_server
Обзор
Документация
Войти
/
SoRusV
/
esp32_https_server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/HTTPHeaders.cpp
61 строка
1 KB
Frank Hessel
Normalize case of header names. Resolve #73
23 мар 2020, 21:56
Не верифицирован
23 мар 2020, 21:56
c221d22
Код
Авторство
О чём код?
#include "HTTPHeaders.hpp" namespace httpsserver { HTTPHeaders::HTTPHeaders() { _headers = new std::vector<HTTPHeader *>(); } HTTPHeaders::~HTTPHeaders() { clearAll(); delete _headers; } HTTPHeader * HTTPHeaders::get(std::string const &name) { std::string normalizedName = normalizeHeaderName(name); for(std::vector<HTTPHeader*>::iterator header = _headers->begin(); header != _headers->end(); ++header) { if ((*header)->_name.compare(normalizedName)==0) { return (*header); } } return NULL; } std::string HTTPHeaders::getValue(std::string const &name) { std::string normalizedName = normalizeHeaderName(name); for(std::vector<HTTPHeader*>::iterator header = _headers->begin(); header != _headers->end(); ++header) { if ((*header)->_name.compare(normalizedName)==0) { return ((*header)->_value); } } return ""; } void HTTPHeaders::set(HTTPHeader * header) { for(int i = 0; i < _headers->size(); i++) { if ((*_headers)[i]->_name.compare(header->_name)==0) { delete (*_headers)[i]; (*_headers)[i] = header; return; } } _headers->push_back(header); } std::vector<HTTPHeader *> * HTTPHeaders::getAll() { return _headers; } /** * Deletes all headers */ void HTTPHeaders::clearAll() { for(std::vector<HTTPHeader*>::iterator header = _headers->begin(); header != _headers->end(); ++header) { delete (*header); } _headers->clear(); } } /* namespace httpsserver */