package com.androideasyapps.phoenix.services.sagetv; import com.androideasyapps.phoenix.util.Base64EncoderProvider; import java.io.UnsupportedEncodingException; import java.util.Map; import retrofit.RequestInterceptor; /** * Created by seans on 20/12/14. */ public class SageTVRequestInterceptor implements RequestInterceptor { private final Credentials creds; private final Base64EncoderProvider base64; public static class Credentials { private final String user; private final String pass; public Credentials(String user, String pass) { this.user=user; this.pass=pass; } public String getUsername() { return user; } public String getPassword() { return pass; } } public SageTVRequestInterceptor(Credentials creds, Base64EncoderProvider base64EncoderProvider) { this.creds=creds; this.base64=base64EncoderProvider; } @Override public void intercept(RequestFacade request) { String authValue = base64.encode(creds.getUsername() + ":" + creds.getPassword()); request.addHeader("Authorization", "Basic " + authValue); } public void addAuthHeader(Map<String,String> headers) { String authValue = base64.encode(creds.getUsername() + ":" + creds.getPassword()); headers.put("Authorization", "Basic " + authValue); } }