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 jscode() const;
43 QNetworkAccessManager *m_manager;
44 QNetworkCookieJar *m_cookie;
47 quint16 m_socket_port;
52 class ProxyModule : public HttpModule
57 ProxyModule(Settings *settings, quint16 http, quint16 socket, QObject *parent);
60 virtual HttpHandler* create_handler(QByteArray method, QByteArray url);
61 virtual void destroy_handler(HttpHandler *handler);
65 ProxyContext *m_context;
68 class ProxyHandler : public HttpHandler
73 ProxyHandler(ProxyContext *context);
79 void onNetworkReplyFinished();
85 Html::pointer sanitize(Html::pointer p);
86 //void sanitize_attribute(Html::pointer p, QString name_);
87 QString create_href(QString href);
88 void create_paragraph(Html::pointer begin_, Html::pointer tail_);
90 // void sanitize_document(HtmlDocument document);
91 // void sanitize_node(HtmlRange &range, HtmlRange::iterator it);
92 // void create_paragraph(HtmlRange body);
95 QString prefix() const;
98 ProxyContext *m_context;
99 QNetworkReply *m_reply;