PatchSet 6590 
Date: 2005/05/30 00:37:41
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
resynced with gnu classpath: http fix

Members: 
        ChangeLog:1.4116->1.4117 
        
libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java:1.8->1.9 
        libraries/javalib/gnu/java/net/protocol/http/Request.java:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4116 kaffe/ChangeLog:1.4117
--- kaffe/ChangeLog:1.4116      Mon May 30 00:14:13 2005
+++ kaffe/ChangeLog     Mon May 30 00:37:41 2005
@@ -1,5 +1,25 @@
 2005-05-30  Dalibor Topic  <[EMAIL PROTECTED]>
 
+        Resynced with GNU Classpath.
+       
+       2005-05-26  Andrew John Hughes  <[EMAIL PROTECTED]>
+
+       * gnu/java/net/protocol/http/HTTPURLConnection.java:
+       (connect()): Reverted the removal of the exception
+       with 404s.
+
+       2005-05-26  Andrew John Hughes  <[EMAIL PROTECTED]>
+
+       * gnu/java/net/protocol/http/HTTPURLConnection.java:
+       (connect()): Fixed a null pointer exception with 304
+       responses and an inappropriate exception with 404s.
+       * gnu/java/net/protocol/http/Request.java:
+       (readResponse(java.io.LineInputStream)): Fixed a
+       fruitless attempt to read the non-existant body
+       of a 304 response.
+
+2005-05-30  Dalibor Topic  <[EMAIL PROTECTED]>
+
        * kaffe/kaffevm/kaffe-gc/gc-incremental.c:
        Fixed compile problems with JVMPI.
 
Index: kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java
diff -u 
kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java:1.8 
kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java:1.9
--- 
kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java:1.8   
    Sun May 15 10:16:37 2005
+++ kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPURLConnection.java   
Mon May 30 00:37:45 2005
@@ -233,82 +233,82 @@
           {
             // Follow redirect
             String location = response.getHeader("Location");
-            String connectionUri = connection.getURI();
-            int start = connectionUri.length();
-            if (location.startsWith(connectionUri) &&
-                location.charAt(start) == '/')
-              {
-                file = location.substring(start);
-                retry = true;
-              }
-            else if (location.startsWith("http:"))
-              {
-                connection.close();
-                connection = null;
-                secure = false;
-                start = 7;
-                int end = location.indexOf('/', start);
-                host = location.substring(start, end);
-                int ci = host.lastIndexOf(':');
-                if (ci != -1)
-                  {
-                    port = Integer.parseInt(host.substring (ci + 1));
-                    host = host.substring(0, ci);
-                  }
-                else
-                  {
-                    port = HTTPConnection.HTTP_PORT;
-                  }
-                file = location.substring(end);
-                retry = true;
-              }
-            else if (location.startsWith("https:"))
-              {
-                connection.close();
-                connection = null;
-                secure = true;
-                start = 8;
-                int end = location.indexOf('/', start);
-                host = location.substring(start, end);
-                int ci = host.lastIndexOf(':');
-                if (ci != -1)
-                  {
-                    port = Integer.parseInt(host.substring (ci + 1));
-                    host = host.substring(0, ci);
-                  }
-                else
-                  {
-                    port = HTTPConnection.HTTPS_PORT;
-                  }
-                file = location.substring(end);
-                retry = true;
-              }
-           else if (location.length() > 0)
+           if (location != null)
              {
-               // Malformed absolute URI, treat as file part of URI
-               if (location.charAt(0) == '/')
+               String connectionUri = connection.getURI();
+               int start = connectionUri.length();
+               if (location.startsWith(connectionUri) &&
+                   location.charAt(start) == '/')
                  {
-                   // Absolute path
-                   file = location;
+                   file = location.substring(start);
+                   retry = true;
                  }
-               else
+               else if (location.startsWith("http:"))
                  {
-                   // Relative path
-                   int lsi = file.lastIndexOf('/');
-                   file = (lsi == -1) ? "/" : file.substring(0, lsi + 1);
+                   connection.close();
+                   connection = null;
+                   secure = false;
+                   start = 7;
+                   int end = location.indexOf('/', start);
+                   host = location.substring(start, end);
+                   int ci = host.lastIndexOf(':');
+                   if (ci != -1)
+                     {
+                       port = Integer.parseInt(host.substring (ci + 1));
+                       host = host.substring(0, ci);
+                     }
+                   else
+                     {
+                       port = HTTPConnection.HTTP_PORT;
+                     }
+                   file = location.substring(end);
+                   retry = true;
+                 }
+               else if (location.startsWith("https:"))
+                 {
+                   connection.close();
+                   connection = null;
+                   secure = true;
+                   start = 8;
+                   int end = location.indexOf('/', start);
+                   host = location.substring(start, end);
+                   int ci = host.lastIndexOf(':');
+                   if (ci != -1)
+                     {
+                       port = Integer.parseInt(host.substring (ci + 1));
+                       host = host.substring(0, ci);
+                     }
+                   else
+                     {
+                       port = HTTPConnection.HTTPS_PORT;
+                     }
+                   file = location.substring(end);
+                   retry = true;
+                 }
+               else if (location.length() > 0)
+                 {
+                   // Malformed absolute URI, treat as file part of URI
+                   if (location.charAt(0) == '/')
+                     {
+                       // Absolute path
+                       file = location;
+                     }
+                   else
+                     {
+                       // Relative path
+                       int lsi = file.lastIndexOf('/');
+                       file = (lsi == -1) ? "/" : file.substring(0, lsi + 1);
                    file += location;
+                     }
+                   retry = true;
                  }
-               retry = true;
              }
           }
         else
           {
             responseSink = new ByteArrayInputStream(reader.toByteArray ());
             if (response.getCode() == 404)
-              {
-                errorSink = responseSink;
-                throw new FileNotFoundException(url.toString());
-              }
+             errorSink = responseSink;
           }
       }
     while (retry);
Index: kaffe/libraries/javalib/gnu/java/net/protocol/http/Request.java
diff -u kaffe/libraries/javalib/gnu/java/net/protocol/http/Request.java:1.3 
kaffe/libraries/javalib/gnu/java/net/protocol/http/Request.java:1.4
--- kaffe/libraries/javalib/gnu/java/net/protocol/http/Request.java:1.3 Tue Mar 
 8 21:03:51 2005
+++ kaffe/libraries/javalib/gnu/java/net/protocol/http/Request.java     Mon May 
30 00:37:45 2005
@@ -448,6 +448,7 @@
       {
       case 204:
       case 205:
+      case 304:
         break;
       default:
         // Does response body reader want body?

_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to