github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/retrofit/auth/HttpBasicAuth.mustache (about)

     1  package {{invokerPackage}}.auth;
     2  
     3  import java.io.IOException;
     4  
     5  import com.squareup.okhttp.Credentials;
     6  import com.squareup.okhttp.Interceptor;
     7  import com.squareup.okhttp.Request;
     8  import com.squareup.okhttp.Response;
     9  
    10  public class HttpBasicAuth implements Interceptor {
    11  
    12      private String username;
    13      private String password;
    14      
    15      public String getUsername() {
    16          return username;
    17      }
    18  
    19      public void setUsername(String username) {
    20          this.username = username;
    21      }
    22  
    23      public String getPassword() {
    24          return password;
    25      }
    26  
    27      public void setPassword(String password) {
    28          this.password = password;
    29      }
    30  
    31      public void setCredentials(String username, String password) {
    32          this.username = username;
    33          this.password = password;
    34      }
    35  
    36      @Override
    37      public Response intercept(Chain chain) throws IOException {
    38          Request request = chain.request();
    39  
    40          // If the request already have an authorization (eg. Basic auth), do nothing
    41          if (request.header("Authorization") == null) {
    42              String credentials = Credentials.basic(username, password);
    43              request = request.newBuilder()
    44                      .addHeader("Authorization", credentials)
    45                      .build();
    46          }
    47          return chain.proceed(request);
    48      }
    49  }