001 002package io.vrap.rmf.base.client.http; 003 004import java.util.concurrent.ExecutorService; 005import java.util.concurrent.ScheduledExecutorService; 006 007import dev.failsafe.spi.Scheduler; 008 009/** 010 * Middleware to add an oauth authentication header to requests 011 */ 012public interface OAuthMiddleware extends Middleware { 013 014 static OAuthMiddleware of(final ScheduledExecutorService executor, final OAuthHandler oAuthHandler) { 015 return new OAuthMiddlewareImpl(executor, oAuthHandler, 1, false); 016 } 017 018 static OAuthMiddleware of(final ExecutorService executor, final OAuthHandler oAuthHandler) { 019 return new OAuthMiddlewareImpl(executor, oAuthHandler, 1, false); 020 } 021 022 static OAuthMiddleware of(final Scheduler scheduler, final OAuthHandler oAuthHandler) { 023 return new OAuthMiddlewareImpl(scheduler, oAuthHandler, 1, false); 024 } 025 026 static OAuthMiddleware of(final OAuthHandler oAuthHandler) { 027 return new OAuthMiddlewareImpl(oAuthHandler, 1, false); 028 } 029 030 static OAuthMiddleware of(final ScheduledExecutorService executor, final OAuthHandler oauthHandler, 031 final int maxRetries) { 032 return new OAuthMiddlewareImpl(executor, oauthHandler, maxRetries, false); 033 } 034 035 static OAuthMiddleware of(final ExecutorService executor, final OAuthHandler oauthHandler, final int maxRetries) { 036 return new OAuthMiddlewareImpl(executor, oauthHandler, maxRetries, false); 037 } 038 039 static OAuthMiddleware of(final Scheduler scheduler, final OAuthHandler oauthHandler, final int maxRetries) { 040 return new OAuthMiddlewareImpl(scheduler, oauthHandler, maxRetries, false); 041 } 042 043 static OAuthMiddleware of(final OAuthHandler oauthHandler, final int maxRetries) { 044 return new OAuthMiddlewareImpl(oauthHandler, maxRetries, false); 045 } 046 047 static OAuthMiddleware of(final ScheduledExecutorService executor, final OAuthHandler oauthHandler, 048 final int maxRetries, final boolean useCircuitBreaker) { 049 return new OAuthMiddlewareImpl(executor, oauthHandler, maxRetries, useCircuitBreaker); 050 } 051 052 static OAuthMiddleware of(final ExecutorService executor, final OAuthHandler oauthHandler, final int maxRetries, 053 final boolean useCircuitBreaker) { 054 return new OAuthMiddlewareImpl(executor, oauthHandler, maxRetries, useCircuitBreaker); 055 } 056 057 static OAuthMiddleware of(final Scheduler scheduler, final OAuthHandler oauthHandler, final int maxRetries, 058 final boolean useCircuitBreaker) { 059 return new OAuthMiddlewareImpl(scheduler, oauthHandler, maxRetries, useCircuitBreaker); 060 } 061 062 static OAuthMiddleware of(final OAuthHandler oauthHandler, final int maxRetries, final boolean useCircuitBreaker) { 063 return new OAuthMiddlewareImpl(oauthHandler, maxRetries, useCircuitBreaker); 064 } 065}