diff --git a/src/handler.ts b/src/handler.ts index ad40e28..5a92648 100644 --- a/src/handler.ts +++ b/src/handler.ts @@ -17,8 +17,8 @@ export default async function checkCache(request: Request): Promise { } }) } - let url = await parseRequest(request) - let cache = caches.default + const url = await parseRequest(request) + const cache = caches.default let response = await cache.match(url) if (!response) { response = await serveResult(url) diff --git a/src/helpers.ts b/src/helpers.ts index 9c3085d..93a8e90 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -4,9 +4,9 @@ import callAPI from './routing' export default async function serveResult(url: string): Promise { const { decode } = getParams(url) let status = 200 - let result: Result = await callAPI(url) + const result: Result = await callAPI(url) + if (result.game === 'Mobile Legends: Bang Bang') result.name.replace(/\u002B/g, '%20') if (result.name) { - result.name = result.name.replace(/\u002B/g, '%20') if (decode === null || decode === 'true' || decode !== 'false') { result.name = decodeURIComponent(result.name) } @@ -23,7 +23,7 @@ export default async function serveResult(url: string): Promise { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': allowedMethod.join(', '), 'Access-Control-Expose-Headers': '*', - 'Cache-Control': 'public, max-age=30, s-maxage=43200, proxy-revalidate, immutable', + 'Cache-Control': 'public, max-age=30, s-maxage=43200, immutable', 'X-Powered-By': '@ihsangan/valid' } }) diff --git a/src/utils.ts b/src/utils.ts index 8707f46..46ff49e 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -5,30 +5,30 @@ export function timeNow(): number { } export async function parseRequest(request: Request): Promise { - let url = new URL(request.url) + const url = new URL(request.url) if (request.method === 'POST') { const contentType = request.headers.get('content-type') let data: { [key: string]: string | null } = {} try { - if (contentType && contentType.includes('application/json')) { + if (contentType.includes('application/json')) { data = await request.json() - } else if (contentType && contentType.includes('application/x-www-form-urlencoded')) { + } else if (contentType.includes('application/x-www-form-urlencoded')) { const formData = await request.formData() for (const [key, value] of formData.entries()) { data[key] = value } } else { - return url.toString() + return url.href } for (const key in data) { url.searchParams.set(key, data[key]) } - return url.toString() + return url.href } catch (error) { - return url.toString() + return url.href } } - return url.toString() + return url.href } export function getParams(inputUrl: string): Params { diff --git a/wrangler.toml b/wrangler.toml index 36040e2..65589ae 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,6 +1,6 @@ name = "validator" main = "./src/index.ts" workers_dev = true -compatibility_date = "2025-01-01" +compatibility_date = "2026-01-01" [observability] enabled = true \ No newline at end of file