package com.koushikdutta.async.sample.middleware; import android.text.TextUtils; import android.util.Base64; import com.koushikdutta.async.http.AsyncHttpClient; import com.koushikdutta.async.http.SimpleMiddleware; import java.util.Hashtable; /** * Created by koush on 2/15/15. */ public class BasicAuthMiddleware extends SimpleMiddleware { // insert this using public static BasicAuthMiddleware add(AsyncHttpClient client) { BasicAuthMiddleware ret = new BasicAuthMiddleware(); client.getMiddleware().add(ret); return ret; } @Override public void onRequest(OnRequestData data) { super.onRequest(data); // do more checking here, since uri may not necessarily be http or have a host, etc. String auth = auths.get(data.request.getUri().getHost()); if (!TextUtils.isEmpty(auth)) data.request.setHeader("Authorization", auth); } Hashtable<String, String> auths = new Hashtable<String, String>(); public void setAuthorizationForHost(String host, String username, String password) { String auth = "Basic " + Base64.encodeToString(String.format("%s:%s", username, password).getBytes(), Base64.NO_WRAP); auths.put(host, auth); } }