Go to the documentation of this file.00001
00006 #ifndef HTTPRESPONSE_H
00007 #define HTTPRESPONSE_H
00008
00009 #include <QMap>
00010 #include <QString>
00011 #include <QTcpSocket>
00012 #include "httpcookie.h"
00013
00036 class HttpResponse {
00037 Q_DISABLE_COPY(HttpResponse)
00038 public:
00039
00044 HttpResponse(QTcpSocket* socket);
00045
00051 void setHeader(QByteArray name, QByteArray value);
00052
00058 void setHeader(QByteArray name, int value);
00059
00061 QMap<QByteArray,QByteArray>& getHeaders();
00062
00064 QMap<QByteArray,HttpCookie>& getCookies();
00065
00069 void setStatus(int statusCode, QByteArray description=QByteArray());
00070
00085 void write(QByteArray data, bool lastPart=false);
00086
00091 bool hasSentLastPart() const;
00092
00097 void setCookie(const HttpCookie& cookie);
00098
00099 private:
00100
00102 QMap<QByteArray,QByteArray> headers;
00103
00105 QTcpSocket* socket;
00106
00108 int statusCode;
00109
00111 QByteArray statusText;
00112
00114 bool sentHeaders;
00115
00117 bool sentLastPart;
00118
00120 QMap<QByteArray,HttpCookie> cookies;
00121
00123 void writeToSocket(QByteArray data);
00124
00130 void writeHeaders();
00131
00132 };
00133
00134 #endif // HTTPRESPONSE_H