diff --git a/src/main/java/io/apitally/spring/ApitallyFilter.java b/src/main/java/io/apitally/spring/ApitallyFilter.java index 23b4eed..466bd29 100644 --- a/src/main/java/io/apitally/spring/ApitallyFilter.java +++ b/src/main/java/io/apitally/spring/ApitallyFilter.java @@ -42,7 +42,7 @@ public ApitallyFilter(ApitallyClient client) { @Override protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull FilterChain filterChain) throws ServletException, IOException { - if (!client.isEnabled()) { + if (!client.isEnabled() || request.getMethod().equals("OPTIONS")) { filterChain.doFilter(request, response); return; } diff --git a/src/main/java/io/apitally/spring/ApitallyUtils.java b/src/main/java/io/apitally/spring/ApitallyUtils.java index 9adf270..6000c8a 100644 --- a/src/main/java/io/apitally/spring/ApitallyUtils.java +++ b/src/main/java/io/apitally/spring/ApitallyUtils.java @@ -6,6 +6,7 @@ import org.springframework.boot.SpringBootVersion; import org.springframework.core.SpringVersion; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition; import org.springframework.web.servlet.mvc.condition.PatternsRequestCondition; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; @@ -19,6 +20,7 @@ public static List getPaths(RequestMappingHandlerMapping requestMappingHan .flatMap(entry -> { RequestMappingInfo mappingInfo = entry.getKey(); return mappingInfo.getMethodsCondition().getMethods().stream() + .filter(method -> method != RequestMethod.OPTIONS && method != RequestMethod.HEAD) .flatMap(method -> { PathPatternsRequestCondition pathPatterns = mappingInfo.getPathPatternsCondition(); if (pathPatterns != null && pathPatterns.getPatterns() != null) {