Fotobot
Get data from your photovoltaic plant
webpage.h
Go to the documentation of this file.
1 
7 #ifndef _WEBPAGE_H_
8 #define _WEBPAGE_H_
9 
10 #include "httprequest.h"
11 #include "httpresponse.h"
12 #include "httpsession.h"
13 #include "static.h"
14 #include "mrequesthandler.h"
15 
20 class WebPage : public MRequestHandler {
21  Q_OBJECT
22  Q_DISABLE_COPY(WebPage);
23  public:
25  WebPage();
26 
27  virtual void servicePrivate(HttpRequest& request) = 0;
28  virtual void service (HttpRequest& request, HttpResponse& response);
29  void redirect(const QString& location);
30  static QString percentEncode(const QString& s);
31 
32  protected:
33  QString m_javascript;
34 
35  void setStatus(int code, QByteArray description) { m_response->setStatus(code, description); }
36  void setHeader(QByteArray name, QByteArray value) { m_response->setHeader(name, value); }
37  void setHeader(QByteArray name, int value) { m_response->setHeader(name, value); }
38  void write (QByteArray data) { m_body.append(data); }
39  void write (QString data) { m_body.append(data.toUtf8()); }
40  void write (const char* data) { m_body.append(data); }
41  void about ();
42  HttpSession getSession() { return Static::sessionStore->getSession(*m_request,*m_response); }
43 
44  virtual void writeHeader(HttpRequest& request, HttpResponse& response);
45  virtual void writeFooter(HttpRequest& request, HttpResponse& response);
46 
47  private:
48  HttpResponse *m_response;
49  HttpRequest *m_request;
50  QByteArray m_body;
51 };
52 
53 #endif // SESSIONCONTROLLER_H
WebPage()
Definition: webpage.cpp:13
static HttpSessionStore * sessionStore
Definition: static.h:57
virtual void writeHeader(HttpRequest &request, HttpResponse &response)
Definition: webpage.cpp:60