|
23 | 23 | import javax.servlet.http.HttpServletResponse;
|
24 | 24 | import java.io.IOException;
|
25 | 25 | import java.io.ObjectStreamException;
|
26 |
| -import java.util.Arrays; |
27 |
| -import java.util.Collections; |
28 |
| -import java.util.List; |
| 26 | +import java.util.*; |
29 | 27 | import java.util.logging.Logger;
|
30 | 28 |
|
31 | 29 | /**
|
@@ -65,12 +63,23 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
|
65 | 63 | HttpServletRequest req = (HttpServletRequest) request;
|
66 | 64 | HttpServletResponse resp = (HttpServletResponse) response;
|
67 | 65 |
|
68 |
| - resp.addHeader("Access-Control-Allow-Credentials", "true"); |
69 |
| - resp.addHeader("Access-Control-Allow-Origin", "https://observability.browserstack.com"); |
70 |
| - resp.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT"); |
71 |
| - resp.addHeader("Access-Control-Allow-Headers", "*"); |
72 |
| - resp.addHeader("Access-Control-Expose-Headers", "*"); |
73 |
| - resp.addHeader("Access-Control-Max-Age", "999"); |
| 66 | + Set<String> allowedOrigins = new HashSet<String>(Arrays.asList( |
| 67 | + "https://observability.browserstack.com", |
| 68 | + "https://automation.browserstack.com", |
| 69 | + "https://automate.browserstack.com", |
| 70 | + "https://app-automate.browserstack.com", |
| 71 | + "https://test-management.browserstack.com" |
| 72 | + )); |
| 73 | + |
| 74 | + String origin = req.getHeader("Origin"); |
| 75 | + if (origin != null && allowedOrigins.contains(origin)) { |
| 76 | + resp.addHeader("Access-Control-Allow-Credentials", "true"); |
| 77 | + resp.addHeader("Access-Control-Allow-Origin", origin); |
| 78 | + resp.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT"); |
| 79 | + resp.addHeader("Access-Control-Allow-Headers", "*"); |
| 80 | + resp.addHeader("Access-Control-Expose-Headers", "*"); |
| 81 | + resp.addHeader("Access-Control-Max-Age", "999"); |
| 82 | + } |
74 | 83 |
|
75 | 84 | if (req.getMethod().equals(PREFLIGHT_REQUEST)) {
|
76 | 85 | resp.setStatus(200);
|
|
0 commit comments