HttpURLConnection.java ((getPermission): Take port into consideration.

* java/net/HttpURLConnection.java ((getPermission): Take port
        into consideration.
        (getErrorStream): Implement.

From-SVN: r59196
This commit is contained in:
Mark Wielaard 2002-11-17 16:16:52 +00:00 committed by Mark Wielaard
parent e0c34466ec
commit b9ad851eef
2 changed files with 56 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2002-11-17 Mark Wielaard <mark@klomp.org>
* java/net/HttpURLConnection.java ((getPermission): Take port
into consideration.
(getErrorStream): Implement.
2002-11-17 Mark Wielaard <mark@klomp.org> 2002-11-17 Mark Wielaard <mark@klomp.org>
* java/net/HttpURLConnection.java: Merge with GNU Classpath. * java/net/HttpURLConnection.java: Merge with GNU Classpath.

View File

@ -495,17 +495,62 @@ public abstract class HttpURLConnection extends URLConnection
*/ */
public Permission getPermission() throws IOException public Permission getPermission() throws IOException
{ {
return new SocketPermission (url.getHost (), "connect"); URL url = getURL();
String host = url.getHost();
int port = url.getPort();
if (port == -1)
port = 80;
host = host + ":" + port;
return new SocketPermission(host, "connect");
} }
/** /**
* Returns the error stream if the connection failed but the server sent * This method allows the caller to retrieve any data that might have
* useful data nonetheless * been sent despite the fact that an error occurred. For example, the
* HTML page sent along with a 404 File Not Found error. If the socket
* is not connected, or if no error occurred or no data was returned,
* this method returns <code>null</code>.
*
* @return An <code>InputStream</code> for reading error data.
*/ */
public InputStream getErrorStream () public InputStream getErrorStream ()
{ {
// FIXME: implement this if (!connected)
return null; return(null);
int code;
try
{
code = getResponseCode();
}
catch(IOException e)
{
code = -1;
}
if (code == -1)
return(null);
if (((code/100) != 4) || ((code/100) != 5))
return(null);
try
{
PushbackInputStream pbis = new PushbackInputStream(getInputStream());
int i = pbis.read();
if (i == -1)
return(null);
pbis.unread(i);
return(pbis);
}
catch(IOException e)
{
return(null);
}
} }
/** /**