org.zalando.riptide.failsafe.RequestPolicy Maven / Gradle / Ivy
package org.zalando.riptide.failsafe;
import net.jodah.failsafe.Policy;
import org.apiguardian.api.API;
import org.springframework.http.client.ClientHttpResponse;
import org.zalando.riptide.RequestArguments;
import java.util.function.Predicate;
import static org.apiguardian.api.API.Status.MAINTAINED;
@API(status = MAINTAINED)
public interface RequestPolicy {
default boolean applies(final RequestArguments arguments) {
return true;
}
Policy prepare(final RequestArguments arguments);
static RequestPolicy of(final Policy policy) {
return new DefaultRequestPolicy(policy);
}
static RequestPolicy of(
final Policy policy,
final Predicate predicate) {
return of(of(policy), predicate);
}
static RequestPolicy of(
final RequestPolicy policy,
final Predicate predicate) {
return new ConditionalRequestPolicy(policy, predicate);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy