+package de.juplo.demo;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import java.io.IOException;
+
+
+@RequiredArgsConstructor
+public class BackendVersionInterceptor implements HandlerInterceptor
+{
+ public final static String BACKEND_VERSION = "X-Backend-Version";
+
+
+ private final String backendVersion;
+
+
+ @Override
+ public boolean preHandle(
+ HttpServletRequest request,
+ HttpServletResponse response,
+ Object handler) throws IOException
+ {
+ String requstedVersion = request.getHeader(BACKEND_VERSION);
+ if (requstedVersion != null && !requstedVersion.equals(backendVersion))
+ {
+ response.sendError(HttpStatus.GONE.value());
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+}