diff options
author | Sergey Nastich <nastich@users.noreply.github.com> | 2018-06-14 01:36:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-14 01:36:52 -0400 |
commit | a43e0a4d8b5cea6124acb0a3dac14e259a154a50 (patch) | |
tree | dfcf680a050c216b6d70bdcc50748839e7c35fed /src/main/scala/xyz | |
parent | d503665c743c17b4446c1eef58ac3733af2fde85 (diff) | |
download | driver-core-a43e0a4d8b5cea6124acb0a3dac14e259a154a50.tar.gz driver-core-a43e0a4d8b5cea6124acb0a3dac14e259a154a50.tar.bz2 driver-core-a43e0a4d8b5cea6124acb0a3dac14e259a154a50.zip |
Add `Connection: close` header to all responses in order to mitigate connection pool issues with envoy (#175)v1.11.2
Diffstat (limited to 'src/main/scala/xyz')
-rw-r--r-- | src/main/scala/xyz/driver/core/rest/DriverRoute.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala index fe3790f..55f39ba 100644 --- a/src/main/scala/xyz/driver/core/rest/DriverRoute.scala +++ b/src/main/scala/xyz/driver/core/rest/DriverRoute.scala @@ -32,7 +32,11 @@ trait DriverRoute { val tracingHeader = RawHeader(ContextHeaders.TrackingIdHeader, trackingId) MDC.put("trackingId", trackingId) - respondWithHeader(tracingHeader) + // This header will eliminate the risk of LB trying to reuse a connection + // that already timed out on the server side by completely rejecting keep-alive + val rejectKeepAlive = Connection("close") + + respondWithHeaders(tracingHeader, rejectKeepAlive) } } @@ -103,4 +107,5 @@ trait DriverRoute { protected def errorResponse[T <: Exception](statusCode: StatusCode, entity: ResponseEntity, exception: T): Route = { complete(HttpResponse(statusCode, entity = entity)) } + } |