package stirling.software.SPDF.config; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @Component public class EndpointInterceptor implements HandlerInterceptor { private final EndpointConfiguration endpointConfiguration; public EndpointInterceptor(EndpointConfiguration endpointConfiguration) { this.endpointConfiguration = endpointConfiguration; } @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); if (!endpointConfiguration.isEndpointEnabled(requestURI)) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "This endpoint is disabled"); return false; } return true; } }