import express from 'express'; import cors from 'cors'; const app = express(); const PORT = process.env.PORT || 7860; app.use((req, res, next) => { console.log("before", req.method, req.originalUrl); next(); }); app.use((req, res, next) => { res.setHeader('Access-Control-Max-Age', 86400); next(); }); // 解析 JSON body app.use(express.json()); // --- CORS 配置 --- // 允许任何方法和标准的请求头 const corsOptions = { origin: '*', methods: '*', // 允许所有 HTTP 方法 allowedHeaders: '*', exposedHeaders: '*', maxAge: 10, // 10 秒内不重复预检请求 }; app.use(cors(corsOptions)); // 自定义中间件,添加一个测试用的响应头 app.use((req, res, next) => { res.setHeader('X-Custom-Header-Test', 'HuggingFace-Express-App-Works'); res.setHeader('Access-Control-Max-Age', 86400); next(); }); // --- 中间件和路由 --- // 使用 app.all() 捕获所有方法的 /api 请求 app.all('/api', (req, res) => { console.log(req.method, res.getHeader('Access-Control-Max-Age')); res.json({ message: `API is working! Request received with method: ${req.method}.`, methodUsed: req.method, // 在响应中明确指出收到的方法 bodyReceived: req.body, // 如果有请求体,也一并返回 timestamp: new Date().toISOString(), }); }); // 根路由,返回一个静态 HTML 骨架,由客户端 JS 填充内容 app.get('/', (req, res) => { res.send(`
Please copy the following dynamically generated fetch
POST request code into your browser's developer console to test:
Click the code block above to copy.