#524 Solved - Add request headers to websocket connection (#528)

This commit is contained in:
JanKolk 2018-08-04 09:02:30 +02:00 committed by Tom Pallister
parent 37fb32b7f5
commit 89f0cc786a

View File

@ -29,6 +29,17 @@ namespace Ocelot.WebSockets.Middleware
var wsToUpstreamClient = await context.WebSockets.AcceptWebSocketAsync(); var wsToUpstreamClient = await context.WebSockets.AcceptWebSocketAsync();
var wsToDownstreamService = new ClientWebSocket(); var wsToDownstreamService = new ClientWebSocket();
foreach (var requestHeader in context.Request.Headers)
{
// Do not copy the Sec-Websocket headers because it is specified by the own connection it will fail when you copy this one.
if (requestHeader.Key.StartsWith("Sec-WebSocket"))
{
continue;
}
wsToDownstreamService.Options.SetRequestHeader(requestHeader.Key, requestHeader.Value);
}
var uri = new Uri(serverEndpoint); var uri = new Uri(serverEndpoint);
await wsToDownstreamService.ConnectAsync(uri, CancellationToken.None); await wsToDownstreamService.ConnectAsync(uri, CancellationToken.None);