Spaces:
Sleeping
Sleeping
Download artifacts/api-server/src/app.ts from Tahasaif3/DataExtract: direct link, hf CLI and curl.
- Browser
- Download file 1.49 kB
-
https://huggingface.co/spaces/Tahasaif3/DataExtract/resolve/main/artifacts/api-server/src/app.ts
- Command line
-
hf download hf://spaces/Tahasaif3/DataExtract/artifacts/api-server/src/app.ts
-
curl -L -o app.ts https://huggingface.co/spaces/Tahasaif3/DataExtract/resolve/main/artifacts/api-server/src/app.ts
1.49 kB
| import express, { type Express } from "express"; | |
| import cors from "cors"; | |
| import pinoHttp from "pino-http"; | |
| import router from "./routes"; | |
| import { logger } from "./lib/logger"; | |
| import { clerkMiddleware } from "@clerk/express"; | |
| import { publishableKeyFromHost } from "@clerk/shared/keys"; | |
| import { CLERK_PROXY_PATH, clerkProxyMiddleware, getClerkProxyHost } from "./middlewares/clerkProxyMiddleware"; | |
| const app: Express = express(); | |
| app.use( | |
| pinoHttp({ | |
| logger, | |
| serializers: { | |
| req(req) { | |
| return { | |
| id: req.id, | |
| method: req.method, | |
| url: req.url?.split("?")[0], | |
| }; | |
| }, | |
| res(res) { | |
| return { | |
| statusCode: res.statusCode, | |
| }; | |
| }, | |
| }, | |
| }), | |
| ); | |
| app.use(cors({ credentials: true, origin: true })); | |
| app.use(CLERK_PROXY_PATH, clerkProxyMiddleware()); | |
| app.use(express.json({ limit: '512kb' })); | |
| app.use(express.urlencoded({ extended: true })); | |
| app.use( | |
| clerkMiddleware((req) => ({ | |
| publishableKey: publishableKeyFromHost( | |
| getClerkProxyHost(req) ?? "", | |
| process.env.CLERK_PUBLISHABLE_KEY, | |
| ), | |
| authorizedParties: ["https://ecomhub.pk", "https://www.ecomhub.pk"], | |
| })), | |
| ); | |
| app.use("/api", router); | |
| app.use((err: unknown, req: express.Request, res: express.Response, _next: express.NextFunction) => { | |
| logger.error({ err }, "Unhandled request error"); | |
| if (!res.headersSent) res.status(500).json({ error: "Something went wrong. Please try again." }); | |
| }); | |
| export default app; | |