sefidgaran / signalr_client

A Flutter SignalR Client for ASP.NET Core
https://pub.dev/packages/signalr_netcore
MIT License
71 stars 111 forks source link

MessageHeaders question #73

Open cyberprophet opened 9 months ago

cyberprophet commented 9 months ago
final defaultHeaders = MessageHeaders();

defaultHeaders.setHeaderValue("HEADER_MOCK_1", "HEADER_VALUE_1");
defaultHeaders.setHeaderValue("HEADER_MOCK_2", "HEADER_VALUE_2");

final httpConnectionOptions = new HttpConnectionOptions(
          httpClient: WebSupportingHttpClient(logger,
              httpClientCreateCallback: _httpClientCreateCallback),
          accessTokenFactory: () => Future.value('JWT_TOKEN'),
          logger: logger,
          logMessageContent: true,
          headers: defaultHeaders);

final _hubConnection = HubConnectionBuilder()
          .withUrl(_serverUrl, options: httpConnectionOptions)
          .withAutomaticReconnect(retryDelays: [2000, 5000, 10000, 20000, null])
          .configureLogging(logger)
          .build();

When sent through the message header, the header is not visible when it arrives at the SignalR server.

public override async Task OnConnectedAsync()
{
    var context = Context.GetHttpContext();

    if (context != null && context.Request.Headers.TryGetValue("HEADER_MOCK_1", out StringValues value))
    {
        // **value** is not found.
    }
    await base.OnConnectedAsync();
}

Is there a way to solve it?

felixkriechbaum commented 4 months ago

Any updates on this, it is very annoying

cyberprophet commented 4 months ago

I was frustrated,

so I made it again after using a fork.

https://github.com/cyberprophet/signalr_client