23 #ifndef QHTTPENGINE_QHTTPSOCKET_H
24 #define QHTTPENGINE_QHTTPSOCKET_H
28 #include "qhttpengine.h"
29 #include "qhttpparser.h"
31 class QHTTPENGINE_EXPORT QHttpSocketPrivate;
101 MovedPermanently = 301,
111 MethodNotAllowed = 405,
113 InternalServerError = 500
122 QHttpSocket(QTcpSocket *socket, QObject *parent = 0);
130 virtual qint64 bytesAvailable()
const;
137 virtual bool isSequential()
const;
145 virtual void close();
153 QByteArray method()
const;
161 QByteArray path()
const;
166 bool isHeadersParsed()
const;
175 QHttpHeaderMap headers()
const;
183 qint64 contentLength()
const;
194 void setStatusCode(
int statusCode,
const QByteArray &statusReason = QByteArray());
203 void setHeader(
const QByteArray &name,
const QByteArray &value);
211 void setHeaders(
const QHttpHeaderMap &headers);
224 void writeRedirect(
const QByteArray &path,
bool permanent =
false);
229 void writeError(
int statusCode,
const QByteArray &statusReason = QByteArray());
241 void headersParsed();
248 virtual qint64 readData(
char *data, qint64 maxlen);
253 virtual qint64 writeData(
const char *data, qint64 len);
257 QHttpSocketPrivate *
const d;
258 friend class QHttpSocketPrivate;
261 #endif // QHTTPENGINE_QHTTPSOCKET_H