aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2015-02-15 10:53:40 -0800
committerKoushik Dutta <koushd@gmail.com>2015-02-15 10:53:40 -0800
commit81a3c9f8f9ab85b7c6c6237d113617522b9209cd (patch)
tree12302e638dc99451822c5597b1e13ed06f2110fb
parentbd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba (diff)
downloadAndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.tar.gz
AndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.tar.bz2
AndroidAsync-81a3c9f8f9ab85b7c6c6237d113617522b9209cd.zip
basic auth middleware sample
-rw-r--r--AndroidAsync.iml16
-rw-r--r--AndroidAsyncSample/src/com/koushikdutta/async/sample/middleware/BasicAuthMiddleware.java36
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);
+ }
+}