diff options
author | Koushik Dutta <koushd@gmail.com> | 2015-02-15 10:53:40 -0800 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2015-02-15 10:53:40 -0800 |
commit | 81a3c9f8f9ab85b7c6c6237d113617522b9209cd (patch) | |
tree | 12302e638dc99451822c5597b1e13ed06f2110fb | |
parent | bd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba (diff) | |
download | AndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.tar.gz AndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.tar.bz2 AndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.zip |
basic auth middleware sample
-rw-r--r-- | AndroidAsync.iml | 16 | ||||
-rw-r--r-- | AndroidAsyncSample/src/com/koushikdutta/async/sample/middleware/BasicAuthMiddleware.java | 36 |
2 files changed, 52 insertions, 0 deletions
diff --git a/AndroidAsync.iml b/AndroidAsync.iml new file mode 100644 index 0000000..eaa4a88 --- /dev/null +++ b/AndroidAsync.iml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="Gradle" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="android-gradle" name="Android-Gradle"> + <configuration> + <option name="GRADLE_PROJECT_PATH" value=":AndroidAsync" /> + </configuration> + </facet> + </component> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> + diff --git a/AndroidAsyncSample/src/com/koushikdutta/async/sample/middleware/BasicAuthMiddleware.java b/AndroidAsyncSample/src/com/koushikdutta/async/sample/middleware/BasicAuthMiddleware.java new file mode 100644 index 0000000..f106386 --- /dev/null +++ b/AndroidAsyncSample/src/com/koushikdutta/async/sample/middleware/BasicAuthMiddleware.java @@ -0,0 +1,36 @@ +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); + } +} |