You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ro...@apache.org on 2007/08/21 10:06:01 UTC

svn commit: r568003 - in /jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn: DefaultClientConnection.java DefaultClientConnectionOperator.java DefaultResponseParser.java

Author: rolandw
Date: Tue Aug 21 01:06:00 2007
New Revision: 568003

URL: http://svn.apache.org/viewvc?rev=568003&view=rev
Log:
HTTPCORE-110, adjustment to API changes

Modified:
    jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java
    jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnectionOperator.java
    jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java

Modified: jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java?rev=568003&r1=568002&r2=568003&view=diff
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnection.java Tue Aug 21 01:06:00 2007
@@ -43,6 +43,7 @@
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
+import org.apache.http.message.LineParser;
 import org.apache.http.params.HttpParams;
 import org.apache.http.impl.SocketHttpClientConnection;
 import org.apache.http.io.HttpMessageParser;
@@ -80,6 +81,8 @@
     /** Whether this connection is secure. */
     private boolean connSecure;
 
+    /** The line parser to use, or <code>null</code> for the default parser. */
+    private LineParser lineParser;
 
 
     // public default constructor
@@ -131,6 +134,26 @@
 
     } // shutdown
 
+
+    /**
+     * Obtains the line parser to be used for receiving messages.
+     *
+     * @return  the line parser, or <code>null</code> for the default
+     */
+    public LineParser getParser() {
+        return lineParser;
+    }
+
+    /**
+     * Specifies the line parser to use when receiving messages.
+     *
+     * @param parser    the line parser to use, or
+     *                  <code>null</code> for the default
+     */
+    public final void setParser(LineParser parser) {
+        lineParser = parser;
+    }
+
     
     public void close() throws IOException {
         LOG.debug("Connection closed");
@@ -172,7 +195,8 @@
             final SessionInputBuffer buffer,
             final HttpResponseFactory responseFactory, 
             final HttpParams params) {
-        return new DefaultResponseParser(buffer, responseFactory, params);
+        return new DefaultResponseParser
+            (buffer, lineParser, responseFactory, params);
     }
 
 

Modified: jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnectionOperator.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnectionOperator.java?rev=568003&r1=568002&r2=568003&view=diff
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnectionOperator.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultClientConnectionOperator.java Tue Aug 21 01:06:00 2007
@@ -36,6 +36,7 @@
 import java.net.InetAddress;
 
 import org.apache.http.HttpHost;
+import org.apache.http.message.LineParser;
 import org.apache.http.params.HttpParams;
 import org.apache.http.params.HttpConnectionParams;
 import org.apache.http.protocol.HttpContext;
@@ -69,6 +70,12 @@
     /** The scheme registry for looking up socket factories. */
     protected SchemeRegistry schemeRegistry;
 
+    /**
+     * The line parser to use for created connections.
+     * <code>null</code> indicates the default parser.
+     */
+    protected LineParser lineParser;
+
 
     /**
      * Creates a new client connection operator for the given scheme registry.
@@ -84,9 +91,31 @@
     }
 
 
+    /**
+     * Obtains the line parser to be used by the connections.
+     *
+     * @return  the line parser, or <code>null</code> for the default
+     */
+    public LineParser getParser() {
+        return lineParser;
+    }
+
+
+    /**
+     * Specifies the line parser to be used by the connections.
+     *
+     * @param parser    the line parser, or <code>null</code> for the default
+     */
+    public void setParser(LineParser parser) {
+        lineParser = parser;
+    }
+
+
     // non-javadoc, see interface ClientConnectionOperator
     public OperatedClientConnection createConnection() {
-        return new DefaultClientConnection();
+        DefaultClientConnection dcc = new DefaultClientConnection();
+        dcc.setParser(lineParser);
+        return dcc;
     }
 
 

Modified: jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java?rev=568003&r1=568002&r2=568003&view=diff
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/DefaultResponseParser.java Tue Aug 21 01:06:00 2007
@@ -42,7 +42,8 @@
 import org.apache.http.conn.params.HttpConnectionManagerParams;
 import org.apache.http.impl.io.AbstractMessageParser;
 import org.apache.http.io.SessionInputBuffer;
-import org.apache.http.message.BasicStatusLine;
+import org.apache.http.message.LineParser;
+//@@@ import org.apache.http.message.BasicStatusLine;
 import org.apache.http.params.HttpParams;
 import org.apache.http.protocol.HTTP;
 import org.apache.http.util.CharArrayBuffer;
@@ -55,11 +56,13 @@
     
     public DefaultResponseParser(
             final SessionInputBuffer buffer,
+            final LineParser parser,
             final HttpResponseFactory responseFactory,
             final HttpParams params) {
-        super(buffer, params);
+        super(buffer, parser, params);
         if (responseFactory == null) {
-            throw new IllegalArgumentException("Response factory may not be null");
+            throw new IllegalArgumentException
+                ("Response factory may not be null");
         }
         this.responseFactory = responseFactory;
         this.lineBuf = new CharArrayBuffer(128);
@@ -111,7 +114,7 @@
             count++;
         } while(true);
         //create the status line from the status string
-        StatusLine statusline = BasicStatusLine.parse(this.lineBuf, 0, this.lineBuf.length());
+        StatusLine statusline = lineParser.parseStatusLine(this.lineBuf, 0, this.lineBuf.length());
         return this.responseFactory.newHttpResponse(statusline, null);
     }