diff --git a/opengrok-web/src/main/java/org/opengrok/web/api/v1/controller/SystemController.java b/opengrok-web/src/main/java/org/opengrok/web/api/v1/controller/SystemController.java index 8a6d394fd58..f2563e49cd8 100644 --- a/opengrok-web/src/main/java/org/opengrok/web/api/v1/controller/SystemController.java +++ b/opengrok-web/src/main/java/org/opengrok/web/api/v1/controller/SystemController.java @@ -49,6 +49,7 @@ public class SystemController { public static final String PATH = "system"; + public static final String INDEX_TIME = "indextime"; private final RuntimeEnvironment env = RuntimeEnvironment.getInstance(); @@ -70,7 +71,7 @@ public void loadPathDescriptions(@Valid final PathDescription[] descriptions) th } @GET - @Path("/indextime") + @Path("/" + INDEX_TIME) @Produces(MediaType.APPLICATION_JSON) public String getIndexTime() throws JsonProcessingException { Date date = new IndexTimestamp().getDateForLastIndexRun(); diff --git a/opengrok-web/src/main/java/org/opengrok/web/api/v1/filter/IncomingFilter.java b/opengrok-web/src/main/java/org/opengrok/web/api/v1/filter/IncomingFilter.java index 326d72ba3fa..20848148acb 100644 --- a/opengrok-web/src/main/java/org/opengrok/web/api/v1/filter/IncomingFilter.java +++ b/opengrok-web/src/main/java/org/opengrok/web/api/v1/filter/IncomingFilter.java @@ -73,7 +73,7 @@ public class IncomingFilter implements ContainerRequestFilter, ConfigurationChan private static final Set allowedPaths = new HashSet<>(Arrays.asList( SearchController.PATH, SuggesterController.PATH, SuggesterController.PATH + "/config", HistoryController.PATH, FileController.PATH, AnnotationController.PATH, - SystemController.PATH + "/ping")); + SystemController.PATH + "/ping", SystemController.PATH + "/" + SystemController.INDEX_TIME )); @Context private HttpServletRequest request; diff --git a/opengrok-web/src/test/java/org/opengrok/web/api/v1/controller/SystemControllerTest.java b/opengrok-web/src/test/java/org/opengrok/web/api/v1/controller/SystemControllerTest.java index 5691dc075c8..43edf012f95 100644 --- a/opengrok-web/src/test/java/org/opengrok/web/api/v1/controller/SystemControllerTest.java +++ b/opengrok-web/src/test/java/org/opengrok/web/api/v1/controller/SystemControllerTest.java @@ -159,7 +159,7 @@ void testIndexTime() throws IOException, ParseException { Files.setLastModifiedTime(indexTimeFile, FileTime.fromMillis(date.getTime())); Response r = target("system") - .path("indextime") + .path(SystemController.INDEX_TIME) .request().get(); String result = r.readEntity(String.class); diff --git a/opengrok-web/src/test/java/org/opengrok/web/api/v1/filter/IncomingFilterTest.java b/opengrok-web/src/test/java/org/opengrok/web/api/v1/filter/IncomingFilterTest.java index 56bc780fa8d..9fe367e05b3 100644 --- a/opengrok-web/src/test/java/org/opengrok/web/api/v1/filter/IncomingFilterTest.java +++ b/opengrok-web/src/test/java/org/opengrok/web/api/v1/filter/IncomingFilterTest.java @@ -32,6 +32,7 @@ import org.mockito.ArgumentCaptor; import org.opengrok.indexer.configuration.CommandTimeoutType; import org.opengrok.indexer.configuration.RuntimeEnvironment; +import org.opengrok.web.api.v1.controller.SystemController; import java.lang.reflect.Field; import java.util.HashSet; @@ -243,4 +244,9 @@ void systemPathDescWithoutTokenTest() throws Exception { assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), captor.getValue().getStatus()); } + + @Test + void systemIndexTimeRemoteWithoutTokenTest() throws Exception { + assertFilterDoesNotBlockAddress("10.0.0.1", SystemController.PATH + "/" + SystemController.INDEX_TIME); + } }