Skip to content

Commit 48af664

Browse files
jkarnegessima-fastly
authored andcommitted
proxy: fix sharing with external routing (#47961)
1 parent 026ea3b commit 48af664

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

src/cpp/proxy/engine.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,8 @@ class Engine::Private : public QObject
553553
routeId = QString::fromUtf8(req->requestHeaders().get("Pushpin-Route"));
554554
}
555555

556-
RequestSession *rs;
556+
RequestSession *rs = new RequestSession(config.id, domainMap, sockJsManager, inspect, inspectChecker, accept, stats);
557+
557558
if(passthroughData.isValid() && !preferInternal)
558559
{
559560
// passthrough request with preferInternal=false. in this case,
@@ -585,7 +586,6 @@ class Engine::Private : public QObject
585586

586587
route.targets += target;
587588

588-
rs = new RequestSession(config.id, stats);
589589
rs->setRoute(route);
590590
}
591591
else
@@ -594,13 +594,18 @@ class Engine::Private : public QObject
594594
// request with preferInternal=true. in that case, use domainmap
595595
// for lookup, with route ID if available
596596

597-
rs = new RequestSession(config.id, domainMap, sockJsManager, inspect, inspectChecker, accept, stats);
597+
rs->setRouteId(routeId);
598+
}
599+
600+
if(!passthroughData.isValid())
601+
{
602+
// these only make sense on regular requests
603+
598604
rs->setDebugEnabled(config.debug);
599605
rs->setAutoCrossOrigin(config.autoCrossOrigin);
600606
rs->setPrefetchSize(config.inspectPrefetch);
601607
rs->setDefaultUpstreamKey(config.upstreamKey);
602608
rs->setXffRules(config.xffUntrustedRule, config.xffTrustedRule);
603-
rs->setRouteId(routeId);
604609
}
605610

606611
rs->setAutoShare(autoShare);

src/cpp/proxy/requestsession.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,12 +1190,6 @@ public slots:
11901190
}
11911191
};
11921192

1193-
RequestSession::RequestSession(int workerId, StatsManager *stats, QObject *parent) :
1194-
QObject(parent)
1195-
{
1196-
d = new Private(this, workerId, 0, 0, 0, 0, 0, stats);
1197-
}
1198-
11991193
RequestSession::RequestSession(int workerId, DomainMap *domainMap, SockJsManager *sockJsManager, ZrpcManager *inspectManager, ZrpcChecker *inspectChecker, ZrpcManager *acceptManager, StatsManager *stats, QObject *parent) :
12001194
QObject(parent)
12011195
{

src/cpp/proxy/requestsession.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ class RequestSession : public QObject
5454
Q_OBJECT
5555

5656
public:
57-
RequestSession(int workerId, StatsManager *stats, QObject *parent = 0);
5857
RequestSession(int workerId, DomainMap *domainMap, SockJsManager *sockJsManager, ZrpcManager *inspectManager, ZrpcChecker *inspectChecker, ZrpcManager *accept, StatsManager *stats, QObject *parent = 0);
5958
~RequestSession();
6059

0 commit comments

Comments
 (0)