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.
work/CORSMiddleware.java

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;
}
}