问题描述
我目前正在通过以下方式中止请求(在链接事件循环期货中运行良好):
return request.eventLoop.makeFailedFuture(Abort(.badRequest))
我的CORS配置如下:
let corsConfiguration = CORSMiddleware.Configuration(allowedOrigin: .all,allowedMethods: [.GET,.POST,.PUT,.OPTIONS,.DELETE,.PATCH],allowedHeaders: [.accept,.authorization,.contentType,.origin,.xRequestedWith])
let corsMiddleware = CORSMiddleware(configuration: corsConfiguration)
app.middleware.use(corsMiddleware)
问题是CORSMiddleware似乎对中止的请求没有任何作用。如何解决此问题,以便前端可以读取错误而不被CORS阻止?
解决方法
看看docs for CORSMiddleware-因为您希望CORS东西在错误中间件之前触发,因此您需要先注册它。唯一的方法是按照说明自己设置整个中间件链