Author: tterm
Date: Fri Jan 21 15:55:20 2011
New Revision: 1061864

URL: http://svn.apache.org/viewvc?rev=1061864&view=rev
Log:
SMXCOMP-844 Possibility to choose preemptive Authentication for the http 
provider endpoint.

Modified:
    
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpComponent.java
    
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpConfiguration.java

Modified: 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpComponent.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpComponent.java?rev=1061864&r1=1061863&r2=1061864&view=diff
==============================================================================
--- 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpComponent.java
 (original)
+++ 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpComponent.java
 Fri Jan 21 15:55:20 2011
@@ -257,6 +257,8 @@ public class HttpComponent extends Defau
             
params.setMaxTotalConnections(configuration.getMaxTotalConnections());
             connectionManager.setParams(params);
             client = new HttpClient(connectionManager);
+            
client.getParams().setAuthenticationPreemptive(configuration.isPreemptiveAuthentication());
+
         }
         // Create connectionPool
         if (connectionPool == null) {

Modified: 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpConfiguration.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpConfiguration.java?rev=1061864&r1=1061863&r2=1061864&view=diff
==============================================================================
--- 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpConfiguration.java
 (original)
+++ 
servicemix/components/trunk/bindings/servicemix-http/src/main/java/org/apache/servicemix/http/HttpConfiguration.java
 Fri Jan 21 15:55:20 2011
@@ -151,6 +151,12 @@ public class HttpConfiguration implement
     private boolean wantHeadersFromHttpIntoExchange;
 
     /**
+   * This field is used to decide if the http provider processor http client 
should use preemptive authentication
+   * which avoids in case of true the double sending of requests.
+   */
+    private boolean preemptiveAuthentication;
+
+    /**
      * @return Returns the rootDir.
      * @org.apache.xbean.Property hidden="true"
      */
@@ -663,6 +669,23 @@ public class HttpConfiguration implement
         this.wantHeadersFromHttpIntoExchange = wantHeadersFromHttpIntoExchange;
     }
 
+    /**
+     *
+     * @return true if preemptive auth is used in the http client
+     */
+    public boolean isPreemptiveAuthentication() {
+        return preemptiveAuthentication;
+    }
+
+    /**
+     *
+     * @param preemptiveAuthentication the value which strategy should be used
+     */
+    public void setPreemptiveAuthentication(boolean preemptiveAuthentication) {
+        this.preemptiveAuthentication = preemptiveAuthentication;
+        save();
+    }
+
     public void save() {
         setProperty(componentName + ".jettyThreadPoolSize", 
Integer.toString(jettyThreadPoolSize));
         setProperty(componentName + ".jettyClientThreadPoolSize", 
Integer.toString(jettyClientThreadPoolSize));
@@ -684,6 +707,7 @@ public class HttpConfiguration implement
         setProperty(componentName + ".proxyPort", Integer.toString(proxyPort));
         setProperty(componentName + ".wantHeadersFromHttpIntoExchange", Boolean
             .toString(wantHeadersFromHttpIntoExchange));
+        setProperty(componentName + ".preemptiveAuthentication", 
Boolean.toString(preemptiveAuthentication));
         if (rootDir != null) {
             File f = new File(rootDir, CONFIG_FILE);
             try {
@@ -739,10 +763,8 @@ public class HttpConfiguration implement
                 .getProperty(componentName + ".jettyClientThreadPoolSize"));
         }
         if (properties.getProperty(componentName + ".jettyClientPerProvider") 
!= null) {
-            jettyClientPerProvider = Boolean.valueOf(
-                                                     
properties.getProperty(componentName
-                                                                            + 
".jettyClientPerProvider"))
-                .booleanValue();
+            jettyClientPerProvider = 
Boolean.valueOf(properties.getProperty(componentName + 
".jettyClientPerProvider"))
+              .booleanValue();
         }
         if (properties.getProperty(componentName + ".jettyConnectorClassName") 
!= null) {
             jettyConnectorClassName = properties.getProperty(componentName + 
".jettyConnectorClassName");
@@ -799,6 +821,10 @@ public class HttpConfiguration implement
                 .valueOf(properties.getProperty(componentName + 
".wantHeadersFromHttpIntoExchange"))
                 .booleanValue();
         }
+        if (properties.getProperty(componentName + 
".preemptiveAuthentication") != null) {
+            preemptiveAuthentication = 
Boolean.valueOf(properties.getProperty(componentName + 
".preemptiveAuthentication")).booleanValue();
+        }
+
         return true;
     }
 


Reply via email to