Class IdempotencyInterceptor

java.lang.Object
com.bytedesk.core.config.idempotency.IdempotencyInterceptor
All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor

@Component public class IdempotencyInterceptor extends Object implements org.springframework.web.servlet.HandlerInterceptor
  • Field Details

    • stringRedisTemplate

      private final org.springframework.data.redis.core.StringRedisTemplate stringRedisTemplate
    • authService

      private final AuthService authService
  • Constructor Details

    • IdempotencyInterceptor

      public IdempotencyInterceptor()
  • Method Details

    • preHandle

      public boolean preHandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler) throws Exception
      Specified by:
      preHandle in interface org.springframework.web.servlet.HandlerInterceptor
      Throws:
      Exception
    • afterCompletion

      public void afterCompletion(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object handler, Exception ex)
      Specified by:
      afterCompletion in interface org.springframework.web.servlet.HandlerInterceptor
    • resolveAnnotation

      private Idempotent resolveAnnotation(Object handler)
    • resolveClientKey

      private String resolveClientKey(jakarta.servlet.http.HttpServletRequest request)
    • safeGetUser

      private UserEntity safeGetUser()
    • buildRedisKey

      private String buildRedisKey(String orgUid, String userUid, String method, String path, String clientKey)
    • sha256Hex

      private String sha256Hex(String s)
    • nullToEmpty

      private String nullToEmpty(String s)
    • waitForCached

      private String waitForCached(String redisKey, int loops, long sleepMs)
    • writeJson

      private void writeJson(jakarta.servlet.http.HttpServletResponse response, int status, String json) throws IOException
      Throws:
      IOException