mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 15:07:44 +08:00
Specify web proxy in SignalR connection building
Might solve https://github.com/ppy/osu/discussions/17897 (depends on how adeptly signalr falls back to long polling if/when is fails to websocket via the proxy, or maybe succeed). As with the framework side change, I've tested this to not break a zero-proxy flow. Intending to have the user test this after next release. Reference: https://stackoverflow.com/questions/59343807/get-system-default-web-proxy-in-net-core / https://stackoverflow.com/questions/13515058/using-signalr-client-through-a-web-proxy
This commit is contained in:
parent
5c0e5eb6f4
commit
e54d3702a6
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Net;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.SignalR.Client;
|
using Microsoft.AspNetCore.SignalR.Client;
|
||||||
@ -144,6 +145,12 @@ namespace osu.Game.Online
|
|||||||
var builder = new HubConnectionBuilder()
|
var builder = new HubConnectionBuilder()
|
||||||
.WithUrl(endpoint, options =>
|
.WithUrl(endpoint, options =>
|
||||||
{
|
{
|
||||||
|
// Use HttpClient.DefaultProxy once on net6 everywhere.
|
||||||
|
// The credential setter can also be removed at this point.
|
||||||
|
options.Proxy = WebRequest.DefaultWebProxy;
|
||||||
|
if (options.Proxy != null)
|
||||||
|
options.Proxy.Credentials = CredentialCache.DefaultCredentials;
|
||||||
|
|
||||||
options.Headers.Add("Authorization", $"Bearer {api.AccessToken}");
|
options.Headers.Add("Authorization", $"Bearer {api.AccessToken}");
|
||||||
options.Headers.Add("OsuVersionHash", versionHash);
|
options.Headers.Add("OsuVersionHash", versionHash);
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user