svn commit: r553233 - in /ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util: HttpClient.java URLConnector.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r553233 - in /ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util: HttpClient.java URLConnector.java

jonesde
Author: jonesde
Date: Wed Jul  4 08:11:07 2007
New Revision: 553233

URL: http://svn.apache.org/viewvc?view=rev&rev=553233
Log:
Added some stuff for client authentication with HTTP Basic Auth, and doing so more easily (ie does the base64 encode and sets the request header, etc)

Modified:
    ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/HttpClient.java
    ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/URLConnector.java

Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/HttpClient.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/HttpClient.java?view=diff&rev=553233&r1=553232&r2=553233
==============================================================================
--- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/HttpClient.java (original)
+++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/HttpClient.java Wed Jul  4 08:11:07 2007
@@ -52,6 +52,9 @@
     private String url = null;
     private String rawStream = null;
     private String clientCertAlias = null;
+    private String basicAuthUsername = null;
+    private String basicAuthPassword = null;
+
     private Map parameters = null;
     private Map headers = null;
     
@@ -221,6 +224,11 @@
         return this.trustAny;
     }
     
+    public void setBasicAuthInfo(String basicAuthUsername, String basicAuthPassword) {
+     this.basicAuthUsername = basicAuthUsername;
+     this.basicAuthPassword = basicAuthPassword;
+    }
+    
     /** Invoke HTTP request GET. */
     public String get() throws HttpClientException {
         return sendHttpRequest("get");
@@ -430,11 +438,19 @@
             }
 
             if (method.equalsIgnoreCase("post")) {
-                if (contentType == null)
+                if (contentType == null) {
                     con.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
+                }
                 con.setDoInput(true);
             }
-
+            
+            // if there is basicAuth info set the request property for it
+            if (basicAuthUsername != null) {
+             String basicAuthString = "Basic " + Base64.base64Encode(basicAuthUsername + ":" + (basicAuthPassword == null ? "" : basicAuthPassword));
+                con.setRequestProperty("Authorization", basicAuthString);
+                if (Debug.verboseOn() || debug) Debug.log("Header - Authorization: " + basicAuthString, module);
+            }
+            
             if (headers != null && headers.size() > 0) {
                 Set headerSet = headers.keySet();
                 Iterator i = headerSet.iterator();
@@ -443,7 +459,7 @@
                     String headerName = (String) i.next();
                     String headerValue = (String) headers.get(headerName);
                     con.setRequestProperty(headerName, headerValue);
-                    if (Debug.verboseOn() || debug) Debug.log("Header : " + headerName + " -> " + headerValue, module);
+                    if (Debug.verboseOn() || debug) Debug.log("Header - " + headerName + ": " + headerValue, module);
                 }
             }
 

Modified: ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/URLConnector.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/URLConnector.java?view=diff&rev=553233&r1=553232&r2=553233
==============================================================================
--- ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/URLConnector.java (original)
+++ ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/URLConnector.java Wed Jul  4 08:11:07 2007
@@ -19,6 +19,7 @@
 package org.ofbiz.base.util;
 
 import org.ofbiz.base.config.GenericConfigException;
+import org.ofbiz.base.util.Base64;
 
 import java.io.IOException;
 import java.net.HttpURLConnection;
@@ -116,6 +117,7 @@
             URLConnection con = null;
             try {
                 con = url.openConnection();
+                
                 if ("HTTPS".equalsIgnoreCase(url.getProtocol())) {
                     HttpsURLConnection scon = (HttpsURLConnection) con;
                     try {