From 3e0cb4ff7cb5eaf12df6f3a54694743820603f14 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 3 Jan 2003 00:49:31 +0000
Subject: [PATCH] HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
 public.

	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
	public.
	(HTTP_USE_PROXY): Add field.
	(getResponseVals): Only set responseCode when not yet explicitly
	set by subclass.

From-SVN: r60809
---
 libjava/ChangeLog                       |  8 ++++
 libjava/java/net/HttpURLConnection.java | 58 +++++++++++++++----------
 2 files changed, 42 insertions(+), 24 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 2d1b238e9c5a..b6e84ca2bb52 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,11 @@
+2003-01-02  Mark Wielaard  <mark@klomp.org>
+
+	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
+	public.
+	(HTTP_USE_PROXY): Add field.
+	(getResponseVals): Only set responseCode when not yet explicitly
+	set by subclass.
+
 2003-01-02  Artur Biesiadowski  <abies@pg.gda.pl>
 	    Mark Wielaard  <mark@klomp.org>
 
diff --git a/libjava/java/net/HttpURLConnection.java b/libjava/java/net/HttpURLConnection.java
index e914b1902036..ebc0f8175f46 100644
--- a/libjava/java/net/HttpURLConnection.java
+++ b/libjava/java/net/HttpURLConnection.java
@@ -142,6 +142,11 @@ public abstract class HttpURLConnection extends URLConnection
    * a conditional GET.
    */
   public static final int HTTP_NOT_MODIFIED = 304;
+
+  /**
+   * The requested resource needs to be accessed through a proxy.
+   */
+  public static final int HTTP_USE_PROXY = 305;
   
   
   /* HTTP Client Error Response Codes */
@@ -250,7 +255,7 @@ public abstract class HttpURLConnection extends URLConnection
    * The server does not support the requested functionality.  
    * @since 1.3
    */
-  static final int HTTP_NOT_IMPLEMENTED = 501;
+  public static final int HTTP_NOT_IMPLEMENTED = 501;
 
   /**
    * The proxy encountered a bad response from the server it was proxy-ing for
@@ -459,31 +464,36 @@ public abstract class HttpURLConnection extends URLConnection
       connect();
       
     gotResponseVals = true;
-    // Response is the first header received from the connection.
-    String respField = getHeaderField(0);
-    
-    if (respField == null || ! respField.startsWith("HTTP/"))
-      {
-	// Set to default values on failure.
-        responseCode = -1;
-	responseMessage = null;
-	return;
-      }
 
-    int firstSpc, nextSpc;
-    firstSpc = respField.indexOf(' ');
-    nextSpc = respField.indexOf(' ', firstSpc + 1);
-    responseMessage = respField.substring(nextSpc + 1);
-    String codeStr = respField.substring(firstSpc + 1, nextSpc);
-    try
+    // If responseCode not yet explicitly set by subclass
+    if (responseCode == -1)
       {
-	responseCode = Integer.parseInt(codeStr);
-      }
-    catch (NumberFormatException e)
-      {
-	// Set to default values on failure.
-        responseCode = -1;
-	responseMessage = null;
+	// Response is the first header received from the connection.
+	String respField = getHeaderField(0);
+	
+	if (respField == null || ! respField.startsWith("HTTP/"))
+	  {
+	    // Set to default values on failure.
+	    responseCode = -1;
+	    responseMessage = null;
+	    return;
+	  }
+
+	int firstSpc, nextSpc;
+	firstSpc = respField.indexOf(' ');
+	nextSpc = respField.indexOf(' ', firstSpc + 1);
+	responseMessage = respField.substring(nextSpc + 1);
+	String codeStr = respField.substring(firstSpc + 1, nextSpc);
+	try
+	  {
+	    responseCode = Integer.parseInt(codeStr);
+	  }
+	catch (NumberFormatException e)
+	  {
+	    // Set to default values on failure.
+	    responseCode = -1;
+	    responseMessage = null;
+	  }
       }
   }
 
-- 
GitLab