You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
760 B
23 lines
760 B
package middleware;
|
|
|
|
/**
|
|
* CORS中间件装饰器
|
|
* 具体装饰器类,用于处理跨域资源共享请求
|
|
*/
|
|
public class CORSMiddleware extends MiddlewareDecorator {
|
|
|
|
public CORSMiddleware(HttpRequestHandler decoratedHandler) {
|
|
super(decoratedHandler);
|
|
}
|
|
|
|
@Override
|
|
public HttpResponse handle(HttpRequest request) {
|
|
HttpResponse response = super.handle(request);
|
|
|
|
// 添加CORS头信息
|
|
String existingHeaders = response.getHeaders() != null ? response.getHeaders() + "\n" : "";
|
|
response.setHeaders(existingHeaders + "Access-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, PUT, DELETE\nAccess-Control-Allow-Headers: *");
|
|
|
|
return response;
|
|
}
|
|
} |