Skip to content

Commit 15f7b0d

Browse files
committed
Move filters to sub packages, add comment for CorsFilter class
1 parent ecb1b6b commit 15f7b0d

5 files changed

Lines changed: 18 additions & 6 deletions

File tree

src/main/java/edu/harvard/iq/dataverse/api/ApiBlockingFilter.java renamed to src/main/java/edu/harvard/iq/dataverse/api/filter/ApiBlockingFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package edu.harvard.iq.dataverse.api;
1+
package edu.harvard.iq.dataverse.api.filter;
22

33
import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.ip.IpAddress;
44
import edu.harvard.iq.dataverse.engine.command.DataverseRequest;

src/main/java/edu/harvard/iq/dataverse/api/util/JsonResponseBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package edu.harvard.iq.dataverse.api.util;
22

3-
import edu.harvard.iq.dataverse.api.ApiBlockingFilter;
4-
53
import jakarta.json.Json;
64
import jakarta.json.JsonValue;
75
import jakarta.json.JsonObjectBuilder;
@@ -13,6 +11,8 @@
1311

1412
import org.apache.commons.lang3.exception.ExceptionUtils;
1513

14+
import edu.harvard.iq.dataverse.api.filter.ApiBlockingFilter;
15+
1616
import java.io.IOException;
1717
import java.util.Optional;
1818
import java.util.UUID;

src/main/java/edu/harvard/iq/dataverse/CorsFilter.java renamed to src/main/java/edu/harvard/iq/dataverse/filter/CorsFilter.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package edu.harvard.iq.dataverse;
1+
package edu.harvard.iq.dataverse.filter;
22

33
import jakarta.inject.Inject;
44
import jakarta.servlet.*;
@@ -9,6 +9,18 @@
99
import edu.harvard.iq.dataverse.settings.JvmSettings;
1010
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
1111

12+
/**
13+
* CorsFilter is a servlet filter that handles Cross-Origin Resource Sharing (CORS) for the Dataverse application.
14+
* It configures and applies CORS headers to HTTP responses based on application settings.
15+
*
16+
* This filter:
17+
* 1. Reads CORS configuration from JVM settings or (deprecated) the SettingsServiceBean. See the Dataverse Configuration Guide for more details.
18+
* 2. Determines whether CORS should be allowed based on these settings.
19+
* 3. If CORS is allowed, it adds the appropriate CORS headers to all HTTP responses. The JVMSettings allow customization of the header contents if desired.
20+
*
21+
* The filter is applied to all paths ("/*") in the application.
22+
*/
23+
1224
@WebFilter("/*")
1325
public class CorsFilter implements Filter {
1426

src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import edu.harvard.iq.dataverse.actionlogging.ActionLogRecord;
44
import edu.harvard.iq.dataverse.actionlogging.ActionLogServiceBean;
5-
import edu.harvard.iq.dataverse.api.ApiBlockingFilter;
5+
import edu.harvard.iq.dataverse.api.filter.ApiBlockingFilter;
66
import edu.harvard.iq.dataverse.util.StringUtil;
77
import edu.harvard.iq.dataverse.util.json.JsonUtil;
88
import jakarta.ejb.EJB;

src/test/java/edu/harvard/iq/dataverse/api/util/JsonResponseBuilderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package edu.harvard.iq.dataverse.api.util;
22

3-
import edu.harvard.iq.dataverse.api.ApiBlockingFilter;
43
import org.junit.jupiter.params.ParameterizedTest;
54
import org.junit.jupiter.params.provider.EmptySource;
65
import org.junit.jupiter.params.provider.NullSource;
76
import org.junit.jupiter.params.provider.ValueSource;
87
import org.mockito.Mockito;
98

9+
import edu.harvard.iq.dataverse.api.filter.ApiBlockingFilter;
1010
import jakarta.servlet.http.HttpServletRequest;
1111

1212
import static org.junit.jupiter.api.Assertions.*;

0 commit comments

Comments
 (0)