When we use the following configuration and keep http connection alive, some requests will fail to get authorization information during consecutive requests.
channelizer: org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer authentication: { authenticationHandler: org.apache.tinkerpop.gremlin.server.handler.SaslAndHttpBasicAuthenticationHandler, }
We expect the sequence in the pipeline to be:
(http-response-encoder = io.netty.handler.codec.http.HttpResponseEncoder), (authenticator = org.apache.tinkerpop.gremlin.server.handler.SaslAndHttpBasicAuthenticationHandler), (http-authentication = org.apache.tinkerpop.gremlin.server.handler.HttpBasicAuthenticationHandler), (request-handler = org.apache.tinkerpop.gremlin.server.handler.HttpGremlinEndpointHandler),
authenticator -> http-authentication -> request-handler
But sometimes its order becomes the following, so that user information cannot be obtained:
(http-response-encoder = io.netty.handler.codec.http.HttpResponseEncoder), (authenticator = org.apache.tinkerpop.gremlin.server.handler.SaslAndHttpBasicAuthenticationHandler), (request-handler = org.apache.tinkerpop.gremlin.server.handler.HttpGremlinEndpointHandler), (http-authentication = org.apache.tinkerpop.gremlin.server.handler.HttpBasicAuthenticationHandler),
authenticator -> request-handler -> http-authentication