From e6c40a4e0948efe3d6f4b84d723ca042e2da6c6e Mon Sep 17 00:00:00 2001 From: HUAHUAI23 Date: Fri, 15 Mar 2024 02:23:16 +0000 Subject: [PATCH 1/3] test --- runtimes/nodejs/src/storage-server.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runtimes/nodejs/src/storage-server.ts b/runtimes/nodejs/src/storage-server.ts index 828b319369..7c8b456701 100644 --- a/runtimes/nodejs/src/storage-server.ts +++ b/runtimes/nodejs/src/storage-server.ts @@ -27,6 +27,11 @@ const websiteHostingPathHandler = async ( } const minioUrl = new URL(url, Config.OSS_INTERNAL_ENDPOINT) + + // const _url = url.parse(req.url, true) + console.log(minioUrl) + console.log(url) + const paths = tryPath(websiteHosting.bucketName, url) for (const path of paths) { From 26bdeedea2d4637c6a0df307b720eca4ad19a88b Mon Sep 17 00:00:00 2001 From: HUAHUAI23 Date: Fri, 15 Mar 2024 03:12:23 +0000 Subject: [PATCH 2/3] test1 --- runtimes/nodejs/src/storage-server.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/runtimes/nodejs/src/storage-server.ts b/runtimes/nodejs/src/storage-server.ts index 7c8b456701..a1ff79a2ef 100644 --- a/runtimes/nodejs/src/storage-server.ts +++ b/runtimes/nodejs/src/storage-server.ts @@ -28,16 +28,16 @@ const websiteHostingPathHandler = async ( const minioUrl = new URL(url, Config.OSS_INTERNAL_ENDPOINT) - // const _url = url.parse(req.url, true) - console.log(minioUrl) + console.log(minioUrl.pathname) console.log(url) - const paths = tryPath(websiteHosting.bucketName, url) + const paths = tryPath(websiteHosting.bucketName, minioUrl.pathname) for (const path of paths) { minioUrl.pathname = path try { await axios.head(minioUrl.toString()) + // Url.pathname only contain path eg: /path , Url.search only contain query string eg: ?query=string return minioUrl.pathname + minioUrl.search } catch (err) { if ((err as AxiosError).response?.status !== 404) { @@ -62,16 +62,21 @@ const storageServer = http.createServer( res.end() return } + try { const proxyReqUrl = new URL(Config.OSS_INTERNAL_ENDPOINT) - const path = await websiteHostingPathHandler(req.headers.host, req.url) + + const path = await websiteHostingPathHandler( + req.headers.host || '', + req.url || '', + ) const proxyReq = http.request({ host: proxyReqUrl.hostname, port: proxyReqUrl.port, headers: req.headers, method: req.method, - path: path, + path: path, // contain query string eg: /path?query=string }) proxyReq.on('response', (proxyRes: http.IncomingMessage) => { From 63fad8e9036f222312ea9d9ea254f656a62b7fac Mon Sep 17 00:00:00 2001 From: HUAHUAI23 Date: Fri, 15 Mar 2024 03:54:08 +0000 Subject: [PATCH 3/3] ok --- runtimes/nodejs/src/storage-server.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/runtimes/nodejs/src/storage-server.ts b/runtimes/nodejs/src/storage-server.ts index a1ff79a2ef..6d764a2b16 100644 --- a/runtimes/nodejs/src/storage-server.ts +++ b/runtimes/nodejs/src/storage-server.ts @@ -28,9 +28,6 @@ const websiteHostingPathHandler = async ( const minioUrl = new URL(url, Config.OSS_INTERNAL_ENDPOINT) - console.log(minioUrl.pathname) - console.log(url) - const paths = tryPath(websiteHosting.bucketName, minioUrl.pathname) for (const path of paths) { @@ -45,7 +42,7 @@ const websiteHostingPathHandler = async ( } } } - return url // If all paths are unavailable, the original URL is returned. + return url // If all paths are unavailable, the original url string is returned. } const storageServer = http.createServer(