Go to the documentation of this file.00001
00004 #ifndef BPSMDEREQUEST_H
00005 #define BPSMDEREQUEST_H
00006
00007 #include "bps.h"
00008 #include <QMap>
00009 #include <QObject>
00010
00011 class QTcpSocket;
00012 class QTextStream;
00013
00020 class BPSCORE_EXPORT BpsMdeRequest : public QObject
00021 {
00022 Q_OBJECT
00023 BPS_PRIVATE(BpsMdeRequest)
00024
00025 public:
00026
00032 enum Method {
00033 GET,
00034 POST,
00035 HEAD,
00036 PUT,
00037 DELETE,
00038 TRACE,
00039 OPTIONS,
00040 CONNECT
00041 };
00042
00046 enum MimeType {
00047 M_html,
00048 M_css,
00049 M_js,
00050 M_htc,
00051 M_ico,
00052 M_png,
00053 M_gif,
00054 M_jpg
00055 };
00056
00060 enum Status {
00061 S_OK = 200,
00062 S_SeeOther = 303,
00063 S_Forbidden = 403,
00064 S_NotFound = 404,
00065 S_NotAllowed = 405,
00066 S_ServerError = 500
00067 };
00068
00074 BpsMdeRequest(QTcpSocket* aSocket, QObject* aParent = 0);
00075
00076 virtual ~BpsMdeRequest();
00077
00081 QTcpSocket* socket() const;
00082
00086 QTextStream& html();
00087
00091 QString endl() const;
00092
00096 qlonglong sessionId() const;
00097
00104 void setSessionId(qlonglong aSessionId);
00105
00109 QString protocol() const;
00110
00114 Method method() const;
00115
00119 QString methodAsText() const;
00120
00124 Status status() const;
00125
00130 void setStatus(Status aStatus);
00131
00135 MimeType mimeType() const;
00136
00141 void setMimeType(MimeType aMimeType);
00142
00146 QString path() const;
00147
00151 QString host() const;
00152
00158 QVariantMap params() const;
00159
00163 QByteArray data() const;
00164
00169 void setData(const QByteArray& aData);
00170
00174 QString location() const;
00175
00180 void setLocation(const QString& aLocation);
00181
00187 void setMaxAge(quint32 aSeconds);
00188
00189
00193 bool mustClose() const;
00194
00198 void setMustClose();
00199
00207 void redirect(const QString& aPath = QString());
00208
00212 void sendReply();
00213
00219 static MimeType getMimeType(const QString& aPath);
00220
00226 static QString httpDate(const QDateTime& aUtcDateTime);
00227 };
00228
00229 #endif // BPSMDEREQUEST_H