github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/retrofit2/auth/HttpBearerAuth.mustache (about) 1 package {{invokerPackage}}.auth; 2 3 import java.io.IOException; 4 5 import okhttp3.Interceptor; 6 import okhttp3.Request; 7 import okhttp3.Response; 8 9 public class HttpBearerAuth implements Interceptor { 10 private final String scheme; 11 private String bearerToken; 12 13 public HttpBearerAuth(String scheme) { 14 this.scheme = scheme; 15 } 16 17 public String getBearerToken() { 18 return bearerToken; 19 } 20 21 public void setBearerToken(String bearerToken) { 22 this.bearerToken = bearerToken; 23 } 24 25 @Override 26 public Response intercept(Chain chain) throws IOException { 27 Request request = chain.request(); 28 29 // If the request already have an authorization (eg. Basic auth), do nothing 30 if (request.header("Authorization") == null && bearerToken != null) { 31 request = request.newBuilder() 32 .addHeader("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken) 33 .build(); 34 } 35 return chain.proceed(request); 36 } 37 38 private static String upperCaseBearer(String scheme) { 39 return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; 40 } 41 42 }