Class DefaultRedirectStrategy

  • All Implemented Interfaces:
    RedirectStrategy

    public final class DefaultRedirectStrategy
    extends Object
    implements RedirectStrategy
    A default implementation of RedirectStrategy that uses the provided maximum retry attempts, header name to look up redirect url value for, http methods and a known set of redirect status response codes (301, 302, 307, 308) to determine if request should be redirected.
    • Constructor Detail

      • DefaultRedirectStrategy

        public DefaultRedirectStrategy()
        Creates an instance of DefaultRedirectStrategy with a maximum number of redirect attempts 3, header name "Location" to locate the redirect url in the response headers and HttpMethod.GET and HttpMethod.HEAD as allowed methods for performing the redirect.
      • DefaultRedirectStrategy

        public DefaultRedirectStrategy​(int maxAttempts)
        Creates an instance of DefaultRedirectStrategy with the provided number of redirect attempts and default header name "Location" to locate the redirect url in the response headers and HttpMethod.GET and HttpMethod.HEAD as allowed methods for performing the redirect.
        Parameters:
        maxAttempts - The max number of redirect attempts that can be made.
        Throws:
        IllegalArgumentException - if maxAttempts is less than 0.
      • DefaultRedirectStrategy

        public DefaultRedirectStrategy​(int maxAttempts,
                                       String locationHeader,
                                       Set<HttpMethod> allowedMethods)
        Creates an instance of DefaultRedirectStrategy.
        Parameters:
        maxAttempts - The max number of redirect attempts that can be made.
        locationHeader - The header name containing the redirect URL.
        allowedMethods - The set of HttpMethod that are allowed to be redirected.
        Throws:
        IllegalArgumentException - if maxAttempts is less than 0.