mxd преди 4 години
родител
ревизия
8a12b55dc5

+ 1 - 1
src/main/java/org/ssssssss/magicapi/config/MagicController.java

@@ -9,7 +9,7 @@ import javax.servlet.http.HttpServletRequest;
 public class MagicController {
 
 
-	final String HEADER_REQUEST_SESSION = "Magic-Request-Session";
+	public static final String HEADER_REQUEST_SESSION = "Magic-Request-Session";
 
 	final String HEADER_REQUEST_BREAKPOINTS = "Magic-Request-Breakpoints";
 

+ 41 - 0
src/main/java/org/ssssssss/magicapi/config/MagicCorsFilter.java

@@ -0,0 +1,41 @@
+package org.ssssssss.magicapi.config;
+
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+public class MagicCorsFilter extends HttpFilter {
+
+
+	public void process(HttpServletRequest request, HttpServletResponse response) {
+		String value = request.getHeader("Origin");
+		response.setHeader("Access-Control-Allow-Origin", StringUtils.isBlank(value) ? "*" : value);
+		response.setHeader("Access-Control-Allow-Credentials", "true");
+		value = request.getHeader("Access-Control-Request-Headers");
+		if (StringUtils.isNotBlank(value)) {
+			response.setHeader("Access-Control-Allow-Headers", value);
+		}
+		value = request.getHeader("Access-Control-Request-Method");
+		if (StringUtils.isNotBlank(value)) {
+			response.setHeader("Access-Control-Allow-Method", value);
+		} else {
+			response.setHeader("Access-Control-Allow-Method", "GET,POST,OPTIONS,PUT,DELETE");
+		}
+	}
+
+	@Override
+	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
+		HttpServletRequest request = (HttpServletRequest) req;
+		if (StringUtils.isNotBlank(MagicAPIController.HEADER_REQUEST_SESSION)) {
+			process(request, (HttpServletResponse) resp);
+		}
+		chain.doFilter(req, resp);
+	}
+}

+ 1 - 2
src/main/java/org/ssssssss/magicapi/config/MappingHandlerMapping.java

@@ -3,7 +3,6 @@ package org.ssssssss.magicapi.config;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.context.request.NativeWebRequest;
 import org.springframework.web.context.request.RequestAttributes;
@@ -340,7 +339,7 @@ public class MappingHandlerMapping {
 		}
 	}
 
-	public void registerMapping(RequestMappingInfo requestMapping,Object handler,Method method){
+	public void registerMapping(RequestMappingInfo requestMapping, Object handler, Method method) {
 		requestMappingHandlerMapping.registerMapping(requestMapping, handler, method);
 	}