6363import com .linecorp .armeria .internal .common .NonWrappingRequestContext ;
6464import com .linecorp .armeria .internal .common .util .TemporaryThreadLocals ;
6565import com .linecorp .armeria .internal .server .RouteDecoratingService .InitialDispatcherService ;
66+ import com .linecorp .armeria .server .ConnectionContext ;
6667import com .linecorp .armeria .server .HttpService ;
6768import com .linecorp .armeria .server .ProxiedAddresses ;
6869import com .linecorp .armeria .server .Route ;
@@ -107,6 +108,7 @@ public final class DefaultServiceRequestContext
107108 private final InetAddress clientAddress ;
108109 private final InetSocketAddress remoteAddress ;
109110 private final InetSocketAddress localAddress ;
111+ private final ConnectionContext connectionContext ;
110112
111113 private boolean shouldReportUnloggedExceptions = true ;
112114
@@ -151,12 +153,14 @@ public DefaultServiceRequestContext(
151153 RoutingResult routingResult , ExchangeType exchangeType ,
152154 HttpRequest req , @ Nullable SSLSession sslSession , ProxiedAddresses proxiedAddresses ,
153155 InetAddress clientAddress , InetSocketAddress remoteAddress , InetSocketAddress localAddress ,
156+ ConnectionContext connectionContext ,
154157 long requestStartTimeNanos , long requestStartTimeMicros ,
155158 Supplier <? extends AutoCloseable > contextHook ) {
156159
157160 this (cfg , ch , eventLoop , meterRegistry , sessionProtocol , id , routingContext , routingResult ,
158161 exchangeType , req , sslSession , proxiedAddresses , clientAddress , remoteAddress , localAddress ,
159- null /* requestCancellationScheduler */ , requestStartTimeNanos , requestStartTimeMicros ,
162+ connectionContext , null /* requestCancellationScheduler */ ,
163+ requestStartTimeNanos , requestStartTimeMicros ,
160164 HttpHeaders .of (), HttpHeaders .of (), contextHook );
161165 }
162166
@@ -166,6 +170,7 @@ public DefaultServiceRequestContext(
166170 RoutingResult routingResult , ExchangeType exchangeType ,
167171 HttpRequest req , @ Nullable SSLSession sslSession , ProxiedAddresses proxiedAddresses ,
168172 InetAddress clientAddress , InetSocketAddress remoteAddress , InetSocketAddress localAddress ,
173+ ConnectionContext connectionContext ,
169174 @ Nullable CancellationScheduler requestCancellationScheduler ,
170175 long requestStartTimeNanos , long requestStartTimeMicros ,
171176 HttpHeaders additionalResponseHeaders , HttpHeaders additionalResponseTrailers ,
@@ -196,6 +201,7 @@ public DefaultServiceRequestContext(
196201 this .clientAddress = requireNonNull (clientAddress , "clientAddress" );
197202 this .remoteAddress = requireNonNull (remoteAddress , "remoteAddress" );
198203 this .localAddress = requireNonNull (localAddress , "localAddress" );
204+ this .connectionContext = requireNonNull (connectionContext , "connectionContext" );
199205
200206 log = RequestLog .builder (this );
201207 log .startRequest (requestStartTimeNanos , requestStartTimeMicros );
@@ -255,11 +261,16 @@ public InetAddress clientAddress() {
255261 return clientAddress ;
256262 }
257263
258- @ Override
264+ @ Nullable
259265 protected Channel channel () {
260266 return ch ;
261267 }
262268
269+ @ Override
270+ public ConnectionContext connectionContext () {
271+ return connectionContext ;
272+ }
273+
263274 @ Override
264275 public ServiceConfig config () {
265276 return cfg ;
0 commit comments