Permalink
Browse files

composer

  • Loading branch information...
1 parent 0981c06 commit 36e5153c49a9a4517cf3b5e44e685ed6e66ba4e8 @techblog techblog committed May 21, 2012
Showing with 78 additions and 324 deletions.
  1. +48 −206 composer.cpp
  2. +6 −20 composer.h
  3. +18 −98 composer.ui
  4. +6 −0 proxy/rypipedata.h
View
254 composer.cpp
@@ -3,177 +3,31 @@
#include <QNetworkProxy>
#include "rymimedata.h"
+#include "proxy/ryproxyserver.h"
+#include "proxy/rypipedata.h"
Composer::Composer(QWidget *parent) :
QWidget(parent),
ui(new Ui::Composer){
ui->setupUi(this);
- socket = new QTcpSocket();
- //socket->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,"127.0.0.1",8999));
- connect(socket,SIGNAL(connected()),SLOT(onConnected()));
- connect(socket,SIGNAL(error(QAbstractSocket::SocketError)),SLOT(onError(QAbstractSocket::SocketError)));
- connect(socket,SIGNAL(aboutToClose()),SLOT(onClose()));
- connect(socket,SIGNAL(readyRead()),SLOT(onData()));
-
- connect(ui->connectbtn,SIGNAL(clicked()),SLOT(onConnectBtnClick()));
- connect(ui->sendbtn,SIGNAL(clicked()),SLOT(onSendBtnClick()));
- connect(ui->disconnectbtn,SIGNAL(clicked()),SLOT(onDisConnectBtnClick()));
-
setAcceptDrops(true);
-
- ui->requestsComboBox->clear();
-
- QStringList requestStr;
- requestStr<<"w.l.qq.com"<<"80"<<
- "GET /lview?type=text&callback=auto_gen_1&loc=QQ_FC_RX_text1,QQ_FC_RX_text2,QQ_FC_RX_text3,QQ_FC_RX_text4,QQ_FC_RX_text5,QQ_FC_DZ_text1,QQ_FC_DZ_text2,QQ_FC_DZ_text3,QQ_FC_DZ_text4,QQ_FC_DZ_text5,QQ_FC_XP_text1,QQ_FC_XP_text2,QQ_FC_XP_text3,QQ_FC_XP_text4,QQ_FC_XP_text5,QQ_FC_ESF_text1,QQ_FC_ESF_text2,QQ_FC_ESF_text3,QQ_FC_ESF_text4,QQ_FC_ESF_text5,QQ_SX_ZS_Test1,QQ_SX_ZS_Test2,QQ_SX_ZS_Test3,QQ_SX_ZS_Test4,QQ_SX_ZS_Test5,QQ_SX_ZS_Test6,QQ_SX_ZS_Test7,QQ_SX_ZS_Test8,QQ_SX_ZS_Test9,QQ_SX_ZS_Test10,QQ_SX_LX_Test1,QQ_SX_LX_Test2,QQ_SX_LX_Test3,QQ_SX_LX_Test4,QQ_SX_LX_Test5,QQ_SX_LX_Test6,QQ_SX_LX_Test7,QQ_SX_LX_Test8,QQ_SX_LX_Test9,QQ_SX_LX_Test10&k=&t=%E8%85%BE%E8%AE%AF%E9%A6%96%E9%A1%B5&r=&s= HTTP/1.1"
- "\nHost: w.l.qq.com"
- "\nConnection: keep-alive"
- "\nAccept-Encoding: identity;q=1, *;q=0"
- "\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11"
- "\nAccept: */*"
- "\nReferer: http://im.qq.com/macqq/index.shtml"
- "\nAccept-Language: zh-CN,zh;q=0.8"
- "\nAccept-Charset: gb18030,utf-8;q=0.7,*;q=0.3"
- "\nCookie: pgv_r_cookie=116156043288; sd_machines=-1|-1|-1|-1; comment_uin=164473028 %u0069%u0070%u0074%u0074%u006f%u006e; comment_skey=e7eadd2dda7ad02007b2aa2da36d34a7+iptton; old_friend=true; lv_irt_id=fe103783d2a200ef99be838e606bae5d; pvid=8739289251; mbCardUserNotLoginTips=1; pt2gguin=o0164473028; ptisp=ctc; show_id=; o_cookie=164473028; verifysession=h005f594834a73e2d5de281414f85629403925acc6e89b25a779dcb0a60d2147ed189c5a866140b5cc7; pgv_pvid=o_cookie=164473028; pgv_info=ssid=s9100271653&pgvReferrer="
- "\nRange: bytes=48-6116217"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
- requestStr<<"w.qq.com"<<"80"<<
- "GET /css/webmini_main.css HTTP/1.1"
- "\nHost: w.qq.com"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
- requestStr<<"www.anjiala.com"<<"80"<<
- "GET /design/showview/2012-01-30/21393.html HTTP/1.1"
- "\nHost: www.anjiala.com"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
-
-
- requestStr<<"trace.qq.com"<<"80"<<
- "GET /collect?pj=1990&dm=w.qq.com&url=/&arg=&rdm=&rurl=&rarg=&icache=-&uv=&nu=&ol=&loc=http%3A//w.qq.com/&column=&subject=&nrnd=164473028&rnd=852 HTTP/1.1"
- "\nHost: trace.qq.com"
- "\nProxy-Connection: keep-alive"
- "\nCache-Control: no-cache"
- "\nPragma: no-cache"
- "\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11"
- "\nAccept: */*"
- "\nReferer: http://w.qq.com/"
- "\nAccept-Encoding: gzip,deflate,sdch"
- "\nAccept-Language: zh-CN,zh;q=0.8"
- "\nAccept-Charset: gb18030,utf-8;q=0.7,*;q=0.3"
- "\nCookie: pgv_r_cookie=116156043288; sd_machines=-1|-1|-1|-1; comment_uin=164473028 %u0069%u0070%u0074%u0074%u006f%u006e; comment_skey=e7eadd2dda7ad02007b2aa2da36d34a7+iptton; old_friend=true; lv_irt_id=fe103783d2a200ef99be838e606bae5d; pvid=8739289251; pt2gguin=o0164473028; qv_swfrfh=news.qq.com; qv_swfrfc=v2; verifysession=h008080f4865e1b20be8cba15fcb6b9a12b76209b5fe0c5e0355f92fe120c004d13ec81fb98ec036d86; pgv_pvid=o_cookie=164473028; pgv_info=ssid=s9694936942&pgvReferrer=; o_cookie=164473028"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
- requestStr<<"qt.gtimg.cn"<<"80"<<
- "GET /0.7963608948048204&q=s_sh000001 HTTP/1.1"
- "\nHost: qt.gtimg.cn"
- "\nProxy-Connection: keep-alive"
- "\nUser-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7"
- "\nAccept: */*"
- "\nReferer: http://www.qq.com/"
- "\nAccept-Encoding: gzip,deflate,sdch"
- "\nAccept-Language: zh-CN,zh;q=0.8"
- "\nAccept-Charset: gb18030,utf-8;q=0.7,*;q=0.3"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
-
- requestStr<<"bbs.anjiala.com"<<"80"<<
- "GET /member.php?mod=loginstatus HTTP/1.1"
- "\nHost: bbs.anjiala.com"
- "\nConnection: keep-alive"
- "\nUser-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7"
- "\nAccept: */*"
- "\nReferer: http://www.anjiala.com/design/showview/2012-01-30/21393.html"
- "\nAccept-Encoding: gzip,deflate,sdch"
- "\nAccept-Language: zh-CN,zh;q=0.8"
- "\nAccept-Charset: gb18030,utf-8;q=0.7,*;q=0.3"
- "\nCookie: gQHG_a52f_lastvisit=1329015447; gQHG_a52f_sid=G80s6O; gQHG_a52f_lastact=1329024158%09member.php%09loginstatus"
- "\n\n";
- _requests.append(requestStr);
- ui->requestsComboBox->addItem(requestStr.at(0));
- requestStr.clear();
-
-
-
-
- connect(ui->requestsComboBox,SIGNAL(currentIndexChanged(int)),SLOT(onRequestChanged(int)));
-
-
- ui->connectbtn->setDisabled(false);
- ui->sendbtn->setDisabled(true);
- ui->disconnectbtn->setDisabled(true);
-
- //connectToHost();
+ manager = new QNetworkAccessManager(this);
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
+ //ui->sendbtn->setDisabled(true);
+ pipeData = RyPipeData_ptr( new RyPipeData(0,0));
+ connect(ui->sendbtn,SIGNAL(clicked()),SLOT(onSendClicked()));
+ connect(manager,SIGNAL(finished(QNetworkReply*)),SLOT(onFinished(QNetworkReply*)));
}
Composer::~Composer()
{
delete ui;
}
-void Composer::onConnected(){
- ui->disconnectbtn->setDisabled(false);
- ui->connectbtn->setDisabled(true);
- ui->sendbtn->setDisabled(false);
- qDebug()<<"connected";
- //QByteArray ba = "GET /empty.html HTTP/1.1\r\nHost: w.qq.com\r\n\r\nGET / HTTP/1.1\r\nHost: w.qq.com\r\n\r\n";
- //socket->write(ba);
- //socket->flush();
-}
-void Composer::onData(){
- QByteArray ba = socket->readAll();
- if(pipeData->responseBodyRawData().isEmpty()){
- pipeData->parseResponse(&ba);
- }else{
- pipeData->appendResponseBody(&ba);
- }
-
- QByteArray baResponse = pipeData->responseHeaderRawData();
- baResponse.append("\r\n\r\n");
- if(pipeData->isResponseChunked()){
- baResponse.append(pipeData->responseBodyRawDataUnChunked());
- }else{
- baResponse.append(pipeData->responseBodyRawData());
- }
- //qDebug()<<"response:"<<QString(ba);
- ui->response->setPlainText(QString(baResponse).replace("\r\n","\\r\\n\r\n"));
-
-}
-
-void Composer::onError(QAbstractSocket::SocketError err){
- qDebug()<<"error"<<err;
- ui->connectbtn->setDisabled(false);
- ui->sendbtn->setDisabled(true);
- ui->disconnectbtn->setDisabled(true);
-}
-
-void Composer::onClose(){
- //qDebug()<<"close";
- ui->connectbtn->setDisabled(false);
- ui->sendbtn->setDisabled(true);
- ui->disconnectbtn->setDisabled(true);
-}
void Composer::setupProxy(QString host,qint16 port){
- _proxyHost = host;
- _proxyPort = port;
+
qDebug()<<host<<port;
//socket->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,host,port));
@@ -201,68 +55,56 @@ void Composer::dropEvent(QDropEvent *event){
if (mime) {
RyPipeData_ptr d = mime->pipeData();
- this->ui->server->setText(d->host);
- this->ui->port->setText(QString::number(d->port));
- this->ui->request->setPlainText(QString(d->requestHeaderRawData()).append("\r\n\r\n").append(d->requestBodyRawData()));
+ QString a = d->requestHeaderRawData();
+ a.append("\r\n\r\n");
+ a.append(d->requestBodyRawData());
+ ui->request->setPlainText(a);
//qDebug()<<"drop text="<<mime->text();
event->acceptProposedAction();
} else {
event->ignore();
}
}
-void Composer::onConnectBtnClick(){
- ui->response->setPlainText("");
- connectToHost();
-}
-
-void Composer::onDisConnectBtnClick(){
- //qDebug()<<"close";
- socket->abort();
-}
-
-void Composer::onSendBtnClick(){
- sendData(QByteArray().append(ui->request->toPlainText()));
-}
-
-void Composer::onRequestChanged(int i){
- if(i<_requests.size()){
- QStringList str = _requests.at(i);
- //qDebug()<<str;
- ui->server->setText(str.at(0));
- ui->port->setText(str.at(1));
- ui->request->setPlainText(str.at(2));
- }
-}
+void Composer::onFinished(QNetworkReply *reply){
+ int result = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
+ QString reson = reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toByteArray();
-void Composer::connectToHost(){
- if(socket->state() != QAbstractSocket::ClosingState
- && socket->state() != QAbstractSocket::UnconnectedState){
- qDebug()<<"already connected";
- socket->abort();
+ QString str = QString("HTTP/1.1 %1 %2\r\n").arg(result).arg(reson);
+ QList<QByteArray> headers = reply->rawHeaderList();
+ foreach(QByteArray header, headers){
+ str.append(header).append(": ").append(reply->rawHeader(header)).append("\r\n");
}
- socket->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,_proxyHost,_proxyPort));
- socket->connectToHost(ui->server->text(),ui->port->text().toInt());
+ str.append("\r\n");
+ str.append(reply->readAll());
+ qDebug()<<str;
+ ui->response->setPlainText(str);
}
-void Composer::sendData(const QByteArray &ba){
- /*
-
- /lview?type=text&callback=auto_gen_1&loc=QQ_FC_RX_text1,QQ_FC_RX_text2,QQ_FC_RX_text3,QQ_FC_RX_text4,QQ_FC_RX_text5,QQ_FC_DZ_text1,QQ_FC_DZ_text2,QQ_FC_DZ_text3,QQ_FC_DZ_text4,QQ_FC_DZ_text5,QQ_FC_XP_text1,QQ_FC_XP_text2,QQ_FC_XP_text3,QQ_FC_XP_text4,QQ_FC_XP_text5,QQ_FC_ESF_text1,QQ_FC_ESF_text2,QQ_FC_ESF_text3,QQ_FC_ESF_text4,QQ_FC_ESF_text5,QQ_SX_ZS_Test1,QQ_SX_ZS_Test2,QQ_SX_ZS_Test3,QQ_SX_ZS_Test4,QQ_SX_ZS_Test5,QQ_SX_ZS_Test6,QQ_SX_ZS_Test7,QQ_SX_ZS_Test8,QQ_SX_ZS_Test9,QQ_SX_ZS_Test10,QQ_SX_LX_Test1,QQ_SX_LX_Test2,QQ_SX_LX_Test3,QQ_SX_LX_Test4,QQ_SX_LX_Test5,QQ_SX_LX_Test6,QQ_SX_LX_Test7,QQ_SX_LX_Test8,QQ_SX_LX_Test9,QQ_SX_LX_Test10&k=&t=%E8%85%BE%E8%AE%AF%E9%A6%96%E9%A1%B5&r=&s=
-
- */
- pipeData.clear();
- pipeData = RyPipeData_ptr(new RyPipeData(0,0));
- QByteArray ba2 = ba;
- pipeData->parseRequest(&ba2);
-
- ba2 = ba;
- ba2.replace("\n","\r\n");
- //qDebug()<<"sending:"<<QString(ba2).replace("\r","\\r").replace("\n","\\n");
- if(socket->isOpen()){
- socket->write(ba2);
- socket->flush();
+void Composer::onSendClicked(){
+ bool isOk;
+ QByteArray ba = ui->request->toPlainText().toUtf8();
+ pipeData->parseRequest(&ba,&isOk);
+ //QByteArray ba = ui->request->toPlainText().toUtf8();
+ //pipeData->parseRequest(&ba,&isOk);
+ if(!isOk){
+ qDebug()<<"no OK!";
}else{
- qDebug()<<"socket not open";
+ QNetworkRequest req = QNetworkRequest(QUrl(pipeData->fullUrl));
+ const QMap<QString,QString> headers = pipeData->requestHeaders();
+ foreach(QString key,headers){
+ req.setRawHeader(key.toUtf8(),headers.value(key,QString()).toUtf8());
+ }
+ manager->setProxy(
+ QNetworkProxy(
+ QNetworkProxy::HttpProxy,RyProxyServer::instance()->serverAddress().toString(),
+ RyProxyServer::instance()->serverPort()
+ )
+ );
+ if(pipeData->method == "GET"){
+ manager->get(req);
+ }else if(pipeData->method == "POST"){
+ manager->post(req,pipeData->requestBodyRawData());
+ }
}
}
View
26 composer.h
@@ -1,8 +1,8 @@
#ifndef COMPOSER_H
#define COMPOSER_H
-#include <QWidget>
-#include <QTcpSocket>
+#include <QtGui>
+#include <QtNetwork>
#include "proxy/rypipedata.h"
namespace Ui {
@@ -24,28 +24,14 @@ class Composer : public QWidget
private:
Ui::Composer *ui;
- QTcpSocket *socket;
-
- QString _proxyHost;
- quint16 _proxyPort;
-
- QList<QStringList> _requests;
+ QNetworkAccessManager *manager;
RyPipeData_ptr pipeData;
private slots:
- void onConnected();
- void onData();
- void onError(QAbstractSocket::SocketError);
- void onClose();
-
- void onConnectBtnClick();
- void onDisConnectBtnClick();
- void onSendBtnClick();
- void onRequestChanged(int);
-
- void connectToHost();
- void sendData(const QByteArray &ba);
+ void onFinished(QNetworkReply *);
+ void onSendClicked();
+
};
#endif // COMPOSER_H
View
116 composer.ui
@@ -14,98 +14,20 @@
<string>Sender</string>
</property>
<layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLineEdit" name="server">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="acceptDrops">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>w.l.qq.com</string>
- </property>
- <property name="placeholderText">
- <string>server</string>
- </property>
- </widget>
- </item>
<item row="0" column="1">
- <widget class="QLineEdit" name="port">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>30</width>
- <height>0</height>
- </size>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="maximumSize">
+ <property name="sizeHint" stdset="0">
<size>
- <width>30</width>
- <height>16777215</height>
+ <width>40</width>
+ <height>20</height>
</size>
</property>
- <property name="acceptDrops">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>80</string>
- </property>
- <property name="placeholderText">
- <string>port</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QComboBox" name="requestsComboBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <item>
- <property name="text">
- <string>long without content-lenght</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>sort withou content-legth</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="0" column="3">
- <widget class="QPushButton" name="connectbtn">
- <property name="text">
- <string>connect</string>
- </property>
- </widget>
- </item>
- <item row="0" column="4">
- <widget class="QPushButton" name="disconnectbtn">
- <property name="text">
- <string>disconnect</string>
- </property>
- </widget>
- </item>
- <item row="0" column="5">
- <widget class="QPushButton" name="sendbtn">
- <property name="text">
- <string>send</string>
- </property>
- </widget>
+ </spacer>
</item>
- <item row="1" column="0" colspan="6">
+ <item row="1" column="0" colspan="3">
<widget class="QPlainTextEdit" name="request">
<property name="acceptDrops">
<bool>false</bool>
@@ -117,23 +39,14 @@
<string>request</string>
</property>
<property name="plainText">
- <string>GET /lview?type=text&amp;callback=auto_gen_1&amp;loc=QQ_FC_RX_text1,QQ_FC_RX_text2,QQ_FC_RX_text3,QQ_FC_RX_text4,QQ_FC_RX_text5,QQ_FC_DZ_text1,QQ_FC_DZ_text2,QQ_FC_DZ_text3,QQ_FC_DZ_text4,QQ_FC_DZ_text5,QQ_FC_XP_text1,QQ_FC_XP_text2,QQ_FC_XP_text3,QQ_FC_XP_text4,QQ_FC_XP_text5,QQ_FC_ESF_text1,QQ_FC_ESF_text2,QQ_FC_ESF_text3,QQ_FC_ESF_text4,QQ_FC_ESF_text5,QQ_SX_ZS_Test1,QQ_SX_ZS_Test2,QQ_SX_ZS_Test3,QQ_SX_ZS_Test4,QQ_SX_ZS_Test5,QQ_SX_ZS_Test6,QQ_SX_ZS_Test7,QQ_SX_ZS_Test8,QQ_SX_ZS_Test9,QQ_SX_ZS_Test10,QQ_SX_LX_Test1,QQ_SX_LX_Test2,QQ_SX_LX_Test3,QQ_SX_LX_Test4,QQ_SX_LX_Test5,QQ_SX_LX_Test6,QQ_SX_LX_Test7,QQ_SX_LX_Test8,QQ_SX_LX_Test9,QQ_SX_LX_Test10&amp;k=&amp;t=%E8%85%BE%E8%AE%AF%E9%A6%96%E9%A1%B5&amp;r=&amp;s= HTTP/1.1
-Host: w.l.qq.com
-Connection: keep-alive
-Accept-Encoding: identity;q=1, *;q=0
-User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11
-Accept: */*
-Referer: http://im.qq.com/macqq/index.shtml
-Accept-Language: zh-CN,zh;q=0.8
-Accept-Charset: gb18030,utf-8;q=0.7,*;q=0.3
-Cookie: pgv_r_cookie=116156043288; sd_machines=-1|-1|-1|-1; comment_uin=164473028 %u0069%u0070%u0074%u0074%u006f%u006e; comment_skey=e7eadd2dda7ad02007b2aa2da36d34a7+iptton; old_friend=true; lv_irt_id=fe103783d2a200ef99be838e606bae5d; pvid=8739289251; mbCardUserNotLoginTips=1; pt2gguin=o0164473028; ptisp=ctc; show_id=; o_cookie=164473028; verifysession=h005f594834a73e2d5de281414f85629403925acc6e89b25a779dcb0a60d2147ed189c5a866140b5cc7; pgv_pvid=o_cookie=164473028; pgv_info=ssid=s9100271653&amp;pgvReferrer=
-Range: bytes=48-6116217
+ <string>Get / HTTP/1.1
+Host: www.alloyteam.com
</string>
</property>
</widget>
</item>
- <item row="2" column="0" colspan="6">
+ <item row="2" column="0" colspan="3">
<widget class="QPlainTextEdit" name="response">
<property name="acceptDrops">
<bool>false</bool>
@@ -146,6 +59,13 @@ Range: bytes=48-6116217
</property>
</widget>
</item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="sendbtn">
+ <property name="text">
+ <string>send</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
View
6 proxy/rypipedata.h
@@ -142,6 +142,12 @@ class RyPipeData : public QObject
bool isResponseChunked()const{
return _isResponseChunked;
}
+ const QMap<QString,QString> requestHeaders()const{
+ return _requestHeaders;
+ }
+ const QMap<QString,QString> responseHeaders()const{
+ return _responseHeaders;
+ }
signals:

0 comments on commit 36e5153

Please sign in to comment.