/[Apache-SVN]/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/server/ProxyRequestHandler.java
ViewVC logotype

Diff of /jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/server/ProxyRequestHandler.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/server/ProxyRequestHandler.java	2005/05/12 17:01:17	169848
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/server/ProxyRequestHandler.java	2005/05/12 17:05:07	169849
@@ -30,12 +30,14 @@
 package org.apache.commons.httpclient.server;
 
 import java.io.IOException;
+import java.net.UnknownHostException;
 
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpException;
 import org.apache.commons.httpclient.HttpStatus;
 import org.apache.commons.httpclient.HttpVersion;
 import org.apache.commons.httpclient.URI;
+import org.apache.commons.httpclient.URIException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -72,14 +74,27 @@ public class ProxyRequestHandler impleme
         final SimpleHttpServerConnection conn,
         final SimpleRequest request) throws IOException {
 
-        RequestLine oldreqline = request.getRequestLine(); 
-        URI uri = new URI(oldreqline.getUri(), true);
-        SimpleHost host = new SimpleHost(uri.getHost(), uri.getPort());
-        SimpleHttpServerConnection proxyconn = this.connmanager.openConnection(host);
-        proxyconn.setSocketTimeout(0);
+        RequestLine oldreqline = request.getRequestLine();
+        URI uri = null;
+        SimpleHost host = null;
         try {
-
-            
+            uri = new URI(oldreqline.getUri(), true);
+            host = new SimpleHost(uri.getHost(), uri.getPort());
+        } catch (URIException ex) {
+            SimpleResponse response = ErrorResponse.getResponse(HttpStatus.SC_BAD_REQUEST);
+            conn.writeResponse(response);
+            return;
+        }
+        SimpleHttpServerConnection proxyconn = null;
+        try {
+            proxyconn = this.connmanager.openConnection(host);
+        } catch (UnknownHostException e) {
+            SimpleResponse response = ErrorResponse.getResponse(HttpStatus.SC_NOT_FOUND);
+            conn.writeResponse(response);
+            return;
+        }
+        try {
+            proxyconn.setSocketTimeout(0);
             // Rewrite target url
             RequestLine newreqline = new RequestLine(
                     oldreqline.getMethod(), 
@@ -103,6 +118,7 @@ public class ProxyRequestHandler impleme
             if (response == null) {
                 return;
             }
+            response.setHeader(new Header("Via", "1.1 test (Test-Proxy)"));
             connheader = response.getFirstHeader("Connection");
             if (connheader != null) {
                 String s = connheader.getValue(); 

 

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26