001 002package io.vrap.rmf.base.client.http; 003 004import java.util.Objects; 005 006import io.vrap.rmf.base.client.ApiHttpResponse; 007 008import dev.failsafe.RetryPolicyBuilder; 009 010/** 011 * Interface to enable the configuration of Failsafe instances 012 */ 013@FunctionalInterface 014public interface FailsafeRetryPolicyBuilderOptions { 015 RetryPolicyBuilder<ApiHttpResponse<byte[]>> apply(RetryPolicyBuilder<ApiHttpResponse<byte[]>> options); 016 017 default FailsafeRetryPolicyBuilderOptions andThen(FailsafeRetryPolicyBuilderOptions after) { 018 Objects.requireNonNull(after); 019 return (t) -> after.apply(apply(t)); 020 } 021}