4 #include "httphandler.h"
13 class QNetworkAccessManager;
14 class QNetworkCookieJar;
27 class ProxyContext : public QObject
32 ProxyContext(Settings *settings, quint16 http, quint16 socket);
34 QNetworkAccessManager* network_access_manager();
35 quint16 http_port() const;
36 quint16 socket_port() const;
37 QString prefix() const;
38 QString js_file() const;
39 QString css_file() const;
44 QNetworkAccessManager *m_manager;
45 QNetworkCookieJar *m_cookie;
48 quint16 m_socket_port;
54 class ProxyModule : public HttpModule
59 ProxyModule(Settings *settings, quint16 http, quint16 socket, QObject *parent);
62 virtual HttpHandler* create_handler(QByteArray method, QByteArray url);
63 virtual void destroy_handler(HttpHandler *handler);
67 ProxyContext *m_context;
70 class ProxyHandler : public HttpHandler
75 ProxyHandler(ProxyContext *context);
81 void onNetworkReplyFinished();
87 Html::pointer sanitize(Html::pointer p);
88 QString create_href(QString href);
89 void create_paragraph(Html::pointer begin_, Html::pointer tail_);
92 QString prefix() const;
95 ProxyContext *m_context;
96 QNetworkReply *m_reply;
100 class DefaultHtmlModule : public HttpModule
104 DefaultHtmlModule(Settings *settings, quint16 port, QObject *parent);
105 ~DefaultHtmlModule();
107 HttpHandler* create_handler(QByteArray method, QByteArray url);
108 void destroy_handler(HttpHandler *handler);
111 Settings *m_settings;
116 class DefaultHtmlHandler : public HttpHandler
120 DefaultHtmlHandler(Settings *settings, quint16 port, QByteArray html, DefaultHtmlModule *module);
121 ~DefaultHtmlHandler();
126 Settings *m_settings;