23 #ifndef QHTTPENGINE_SOCKET_H 24 #define QHTTPENGINE_SOCKET_H 26 #include <QHostAddress> 30 #include <qhttpengine/ibytearray.h> 32 #include "qhttpengine_export.h" 40 class QHTTPENGINE_EXPORT SocketPrivate;
96 class QHTTPENGINE_EXPORT
Socket :
public QIODevice
152 PartialContent = 206,
154 MovedPermanently = 301,
166 MethodNotAllowed = 405,
170 InternalServerError = 500,
174 ServiceUnavailable = 503,
176 HttpVersionNotSupported = 505
185 Socket(QTcpSocket *socket, QObject *parent = 0);
193 virtual qint64 bytesAvailable()
const;
200 virtual bool isSequential()
const;
209 virtual void close();
214 QHostAddress peerAddress()
const;
219 bool isHeadersParsed()
const;
235 QByteArray rawPath()
const;
243 QString path()
const;
251 QueryStringMap queryString()
const;
260 HeaderMap headers()
const;
268 qint64 contentLength()
const;
284 bool readJson(QJsonDocument &document);
295 void setStatusCode(
int statusCode,
const QByteArray &statusReason = QByteArray());
304 void setHeader(
const QByteArray &name,
const QByteArray &value,
bool replace =
true);
312 void setHeaders(
const HeaderMap &headers);
325 void writeRedirect(
const QByteArray &path,
bool permanent =
false);
330 void writeError(
int statusCode,
const QByteArray &statusReason = QByteArray());
335 void writeJson(
const QJsonDocument &document,
int statusCode = OK);
347 void headersParsed();
359 virtual qint64 readData(
char *data, qint64 maxlen);
364 virtual qint64 writeData(
const char *data, qint64 len);
368 SocketPrivate *
const d;
369 friend class SocketPrivate;
374 #endif // QHTTPENGINE_SOCKET_H Definition: basicauthmiddleware.h:30
QMultiMap< IByteArray, QByteArray > HeaderMap
Map consisting of HTTP headers.
Definition: socket.h:114
Method
Definition: socket.h:122
QMultiMap< QString, QString > QueryStringMap
Map consisting of query string values.
Definition: socket.h:105
Implementation of the HTTP protocol.
Definition: socket.h:96