mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-06 23:57:19 +02:00
Refactor network.patchIceCandidates()
This commit is contained in:
parent
2469fbde96
commit
c7be90abe7
@ -102,10 +102,6 @@ function updateIceCandidates(candidates: any, options: any) {
|
|||||||
|
|
||||||
|
|
||||||
async function patchIceCandidates(request: Request, consoleAddrs?: {[index: string]: number}) {
|
async function patchIceCandidates(request: Request, consoleAddrs?: {[index: string]: number}) {
|
||||||
// ICE server candidates
|
|
||||||
const url = (typeof request === 'string') ? request : request.url;
|
|
||||||
|
|
||||||
if (url && url.endsWith('/ice') && url.includes('/sessions/') && request.method === 'GET') {
|
|
||||||
const response = await NATIVE_FETCH(request);
|
const response = await NATIVE_FETCH(request);
|
||||||
const text = await response.clone().text();
|
const text = await response.clone().text();
|
||||||
|
|
||||||
@ -129,9 +125,6 @@ async function patchIceCandidates(request: Request, consoleAddrs?: {[index: stri
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class XhomeInterceptor {
|
class XhomeInterceptor {
|
||||||
static #consoleAddrs: {[index: string]: number} = {};
|
static #consoleAddrs: {[index: string]: number} = {};
|
||||||
@ -282,9 +275,11 @@ class XhomeInterceptor {
|
|||||||
return XhomeInterceptor.#handleLogin(request);
|
return XhomeInterceptor.#handleLogin(request);
|
||||||
} else if (url.endsWith('/titles')) {
|
} else if (url.endsWith('/titles')) {
|
||||||
return XhomeInterceptor.#handleTitles(request);
|
return XhomeInterceptor.#handleTitles(request);
|
||||||
|
} else if (url && url.endsWith('/ice') && url.includes('/sessions/') && (request as Request).method === 'GET') {
|
||||||
|
return patchIceCandidates(request, XhomeInterceptor.#consoleAddrs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await patchIceCandidates(request, XhomeInterceptor.#consoleAddrs) || NATIVE_FETCH(request);
|
return await NATIVE_FETCH(request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -479,12 +474,6 @@ class XcloudInterceptor {
|
|||||||
static async handle(request: RequestInfo | URL, init?: RequestInit) {
|
static async handle(request: RequestInfo | URL, init?: RequestInit) {
|
||||||
let url = (typeof request === 'string') ? request : (request as Request).url;
|
let url = (typeof request === 'string') ? request : (request as Request).url;
|
||||||
|
|
||||||
// ICE server candidates
|
|
||||||
const patchedIpv6 = await patchIceCandidates(request as Request);
|
|
||||||
if (patchedIpv6) {
|
|
||||||
return patchedIpv6;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Server list
|
// Server list
|
||||||
if (url.endsWith('/v2/login/user')) {
|
if (url.endsWith('/v2/login/user')) {
|
||||||
return XcloudInterceptor.#handleLogin(request, init);
|
return XcloudInterceptor.#handleLogin(request, init);
|
||||||
@ -498,6 +487,8 @@ class XcloudInterceptor {
|
|||||||
return XcloudInterceptor.#handleCatalog(request, init);
|
return XcloudInterceptor.#handleCatalog(request, init);
|
||||||
} else if (url.includes('/v2/titles') || url.includes('/mru')) {
|
} else if (url.includes('/v2/titles') || url.includes('/mru')) {
|
||||||
return XcloudInterceptor.#handleTitles(request, init);
|
return XcloudInterceptor.#handleTitles(request, init);
|
||||||
|
} else if (url && url.endsWith('/ice') && url.includes('/sessions/') && (request as Request).method === 'GET') {
|
||||||
|
return patchIceCandidates(request as Request);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NATIVE_FETCH(request, init);
|
return NATIVE_FETCH(request, init);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user