3 import jakarta.servlet.http.HttpServletRequest;
4 import jakarta.servlet.http.HttpServletResponse;
5 import lombok.RequiredArgsConstructor;
6 import org.springframework.http.HttpStatus;
7 import org.springframework.web.servlet.HandlerInterceptor;
9 import java.io.IOException;
12 @RequiredArgsConstructor
13 public class BackendVersionInterceptor implements HandlerInterceptor
15 public final static String BACKEND_VERSION = "X-Backend-Version";
18 private final String backendVersion;
22 public boolean preHandle(
23 HttpServletRequest request,
24 HttpServletResponse response,
25 Object handler) throws IOException
27 String requstedVersion = request.getHeader(BACKEND_VERSION);
28 if (requstedVersion != null && !requstedVersion.equals(backendVersion))
30 response.sendError(HttpStatus.GONE.value());