typescript - Access-Control-Allow-Methods 在预检响应中不允许方法 PUT。Firebase 云函数
问题描述
我有一个 Firebase 云函数端点,它将 PUT 请求转发到另一个 API 端点。我确实设置了这些Access-Control-Allow-
标题:
// src/middlewares/enableCORS.ts
export default function enableCORS(
fn: (req: https.Request, res: e.Response) => Promise<void>
) {
return async (req: https.Request, res: e.Response) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', '*');
res.header(
'Access-Control-Allow-Methods',
'GET, POST, PUT, DELETE, OPTIONS'
);
res.header('Access-Control-Max-Age', '86400');
if (req.method === 'OPTIONS') {
res.end();
return;
}
await fn(req, res);
};
}
// src/index.ts
import enableCORS from './middlewares/enableCORS'
export const my_endpoint = https.onRequest(
enableCORS(async (request, response) => {
// Forward request
})
);
但是我来自浏览器的请求仍然被 CORS 阻止。请帮忙。
解决方案
回答我自己的问题:
我通过使用 esbuild 将分离的文件捆绑到单个 index.js 文件中解决了这个问题。
推荐阅读
- html - 如何在网站加载时自动弹出模式
- javascript - 渲染中的Vuejs错误:“TypeError:无法读取未定义的属性'props'”Vuejs
- reactjs - 如何在反应中将多个插件传递给完整日历组件
- css - 我可以将元素浮动到其段落的顶部吗?
- ruby-on-rails - 在 Rails 中的 Minitest 测试文件中加载命名空间模块
- emacs - 尝试以 org 模式重新归档时,“请在重新归档路径中指明目标文件”
- java - 无法完成 Javadoc 生成
- python - pip安装后无法导入我自己的python包
- javascript - 如何将现有项目与 jsconfig 集成
- php - PHP页面不显示下载的PNG文件