Skip to content

Commit b579d56

Browse files
committed
fix: Access-Control-Allow-Origin response header is added
1 parent 38a62c4 commit b579d56

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

src/main/java/com/iemr/common/config/CorsConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class CorsConfig implements WebMvcConfigurer {
1414
@Override
1515
public void addCorsMappings(CorsRegistry registry) {
1616
registry.addMapping("/**")
17-
.allowedOriginPatterns(allowedOrigins.split(","))
17+
.allowedOrigins(allowedOrigins.split(","))
1818
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
1919
.allowedHeaders("*")
2020
.exposedHeaders("Authorization", "Jwttoken") // Explicitly expose headers if needed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.iemr.common.utils;
2+
3+
import jakarta.servlet.FilterChain;
4+
import jakarta.servlet.ServletException;
5+
import jakarta.servlet.http.HttpServletRequest;
6+
import jakarta.servlet.http.HttpServletResponse;
7+
import org.springframework.beans.factory.annotation.Value;
8+
import org.springframework.stereotype.Component;
9+
import org.springframework.web.filter.OncePerRequestFilter;
10+
11+
import java.io.IOException;
12+
import java.util.Arrays;
13+
14+
@Component
15+
public class DynamicCorsFilter extends OncePerRequestFilter {
16+
17+
@Value("${cors.allowed-origins}")
18+
private String[] allowedOrigins;
19+
20+
@Override
21+
protected void doFilterInternal(HttpServletRequest request,
22+
HttpServletResponse response,
23+
FilterChain filterChain)
24+
throws ServletException, IOException {
25+
26+
String origin = request.getHeader("Origin");
27+
if (origin != null && Arrays.asList(allowedOrigins).contains(origin)) {
28+
response.setHeader("Access-Control-Allow-Origin", origin);
29+
}
30+
31+
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
32+
response.setStatus(HttpServletResponse.SC_OK);
33+
} else {
34+
filterChain.doFilter(request, response);
35+
}
36+
}
37+
}

0 commit comments

Comments
 (0)