handle curl

This commit is contained in:
SX-9 2024-11-16 16:12:53 +07:00
commit fed0961210
3 changed files with 40 additions and 2 deletions

21
package-lock.json generated
View file

@ -8,12 +8,14 @@
"name": "5th-site", "name": "5th-site",
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@sveltejs/adapter-cloudflare": "^4.7.4" "@sveltejs/adapter-cloudflare": "^4.7.4",
"figlet": "^1.8.0"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^3.0.0", "@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/kit": "^2.0.0", "@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/figlet": "^1.7.0",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"postcss": "^8.4.47", "postcss": "^8.4.47",
"svelte": "^4.2.7", "svelte": "^4.2.7",
@ -985,6 +987,12 @@
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="
}, },
"node_modules/@types/figlet": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@types/figlet/-/figlet-1.7.0.tgz",
"integrity": "sha512-KwrT7p/8Eo3Op/HBSIwGXOsTZKYiM9NpWRBJ5sVjWP/SmlS+oxxRvJht/FNAtliJvja44N3ul1yATgohnVBV0Q==",
"dev": true
},
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.8.6", "version": "22.8.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.6.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.6.tgz",
@ -1576,6 +1584,17 @@
} }
} }
}, },
"node_modules/figlet": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz",
"integrity": "sha512-chzvGjd+Sp7KUvPHZv6EXV5Ir3Q7kYNpCr4aHrRW79qFtTefmQZNny+W1pW9kf5zeE6dikku2W50W/wAH2xWgw==",
"bin": {
"figlet": "bin/index.js"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",

View file

@ -13,6 +13,7 @@
"@sveltejs/adapter-auto": "^3.0.0", "@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/kit": "^2.0.0", "@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/figlet": "^1.7.0",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"postcss": "^8.4.47", "postcss": "^8.4.47",
"svelte": "^4.2.7", "svelte": "^4.2.7",
@ -23,6 +24,7 @@
}, },
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"@sveltejs/adapter-cloudflare": "^4.7.4" "@sveltejs/adapter-cloudflare": "^4.7.4",
"figlet": "^1.8.0"
} }
} }

17
src/hooks.server.ts Normal file
View file

@ -0,0 +1,17 @@
import type { Handle } from '@sveltejs/kit';
import figlet from 'figlet';
import info from '$lib';
export const handle: Handle = async ({ event, resolve }) => {
if (!event.request.headers.get('user-agent')?.includes('curl')) return await resolve(event);
else return new Response(`\
${info.title} - curl version
${await figlet.text(info.name.toUpperCase(), {
font: "Standard",
// @ts-expect-error
}).catch(() => info.name.toUpperCase())}
${info.description}
`);
};