Browse Source

Define and use Http::HeaderMap type

adaptive-webui-19844
Chocobo1 4 years ago
parent
commit
be152f45c9
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 4
      src/base/http/requestparser.cpp
  2. 8
      src/base/http/types.h
  3. 1
      src/webui/webapplication.cpp

4
src/base/http/requestparser.cpp

@ -57,7 +57,7 @@ namespace @@ -57,7 +57,7 @@ namespace
return in;
}
bool parseHeaderLine(const QString &line, QStringMap &out)
bool parseHeaderLine(const QString &line, HeaderMap &out)
{
// [rfc7230] 3.2. Header Fields
const int i = line.indexOf(':');
@ -287,7 +287,7 @@ bool RequestParser::parseFormData(const QByteArray &data) @@ -287,7 +287,7 @@ bool RequestParser::parseFormData(const QByteArray &data)
const QString headers = QString::fromLatin1(list[0]);
const QByteArray payload = viewWithoutEndingWith(list[1], CRLF);
QStringMap headersMap;
HeaderMap headersMap;
const QVector<QStringRef> headerLines = headers.splitRef(CRLF, QString::SkipEmptyParts);
for (const auto &line : headerLines) {
if (line.trimmed().startsWith(HEADER_CONTENT_DISPOSITION, Qt::CaseInsensitive)) {

8
src/base/http/types.h

@ -34,8 +34,6 @@ @@ -34,8 +34,6 @@
#include <QString>
#include <QVector>
#include "base/types.h"
namespace Http
{
const char METHOD_GET[] = "GET";
@ -98,12 +96,14 @@ namespace Http @@ -98,12 +96,14 @@ namespace Http
QString value;
};
using HeaderMap = QMap<QString, QString>; // <Header name, Header value>
struct Request
{
QString version;
QString method;
QString path;
QStringMap headers;
HeaderMap headers;
QHash<QString, QByteArray> query;
QHash<QString, QString> posts;
QVector<UploadedFile> files;
@ -118,7 +118,7 @@ namespace Http @@ -118,7 +118,7 @@ namespace Http
struct Response
{
ResponseStatus status;
QStringMap headers;
HeaderMap headers;
QByteArray content;
Response(uint code = 200, const QString &text = "OK")

1
src/webui/webapplication.cpp

@ -46,6 +46,7 @@ @@ -46,6 +46,7 @@
#include "base/http/httperror.h"
#include "base/logger.h"
#include "base/preferences.h"
#include "base/types.h"
#include "base/utils/bytearray.h"
#include "base/utils/fs.h"
#include "base/utils/misc.h"

Loading…
Cancel
Save