mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-12 06:54:27 +08:00
2003-12-02 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/http/Connection.java (Connection): Initialize doOutput to false; (connect): Initialize inputStream, moved "send request" code to new method. (sendRequest): New method. (getHttpHeaders): Don't reinitialize inputStream. From-SVN: r74177
This commit is contained in:
parent
2b95402c94
commit
91305a1de9
@ -1,3 +1,12 @@
|
||||
2003-12-02 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* gnu/java/net/protocol/http/Connection.java
|
||||
(Connection): Initialize doOutput to false;
|
||||
(connect): Initialize inputStream, moved "send request" code to new
|
||||
method.
|
||||
(sendRequest): New method.
|
||||
(getHttpHeaders): Don't reinitialize inputStream.
|
||||
|
||||
2003-12-02 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* gnu/java/net/protocol//http/Connection.java
|
||||
|
@ -117,6 +117,9 @@ public final class Connection extends HttpURLConnection
|
||||
protected Connection(URL url)
|
||||
{
|
||||
super(url);
|
||||
|
||||
/* Set up some variables */
|
||||
doOutput = false;
|
||||
}
|
||||
|
||||
public void setRequestProperty(String key, String value)
|
||||
@ -160,17 +163,15 @@ public final class Connection extends HttpURLConnection
|
||||
socket = new Socket(url.getHost(), port);
|
||||
}
|
||||
|
||||
PrintWriter out = new PrintWriter(socket.getOutputStream());
|
||||
// Originally tried using a BufferedReader here to take advantage of
|
||||
// the readLine method and avoid the following, but the buffer read
|
||||
// past the end of the headers so the first part of the content was lost.
|
||||
// It is probably more robust than it needs to be, e.g. the byte[]
|
||||
// is unlikely to overflow and a '\r' should always be followed by a '\n',
|
||||
// but it is better to be safe just in case.
|
||||
inputStream = new BufferedInputStream(socket.getInputStream());
|
||||
|
||||
// Send request including any request properties that were set.
|
||||
out.print(getRequestMethod() + " " + url.getFile() + " HTTP/1.0\r\n");
|
||||
out.print("Host: " + url.getHost() + ":" + port + "\r\n");
|
||||
Enumeration reqKeys = requestProperties.keys();
|
||||
Enumeration reqVals = requestProperties.elements();
|
||||
while (reqKeys.hasMoreElements())
|
||||
out.print(reqKeys.nextElement() + ": " + reqVals.nextElement() + "\r\n");
|
||||
out.print("\r\n");
|
||||
out.flush();
|
||||
sendRequest();
|
||||
getHttpHeaders();
|
||||
connected = true;
|
||||
}
|
||||
@ -194,6 +195,34 @@ public final class Connection extends HttpURLConnection
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Write HTTP request header and content to outputWriter.
|
||||
*/
|
||||
void sendRequest() throws IOException
|
||||
{
|
||||
// Create PrintWriter for easier sending of headers.
|
||||
PrintWriter outputWriter = new PrintWriter(socket.getOutputStream());
|
||||
|
||||
// Send request including any request properties that were set.
|
||||
outputWriter.print (getRequestMethod() + " " + url.getFile()
|
||||
+ " HTTP/1.0\r\n");
|
||||
|
||||
// Set additional HTTP headers.
|
||||
if (getRequestProperty ("Host") == null)
|
||||
setRequestProperty ("Host", url.getHost());
|
||||
|
||||
// Write all req_props name-value pairs to the output writer.
|
||||
Enumeration reqKeys = requestProperties.keys();
|
||||
Enumeration reqVals = requestProperties.elements();
|
||||
|
||||
while (reqKeys.hasMoreElements())
|
||||
outputWriter.print (reqKeys.nextElement() + ": " + reqVals.nextElement() + "\r\n");
|
||||
|
||||
// One more CR-LF indicates end of header.
|
||||
outputWriter.print ("\r\n");
|
||||
outputWriter.flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a boolean indicating whether or not this connection is
|
||||
* going through a proxy
|
||||
@ -318,14 +347,6 @@ public final class Connection extends HttpURLConnection
|
||||
*/
|
||||
private void getHttpHeaders() throws IOException
|
||||
{
|
||||
// Originally tried using a BufferedReader here to take advantage of
|
||||
// the readLine method and avoid the following, but the buffer read
|
||||
// past the end of the headers so the first part of the content was lost.
|
||||
// It is probably more robust than it needs to be, e.g. the byte[]
|
||||
// is unlikely to overflow and a '\r' should always be followed by a '\n',
|
||||
// but it is better to be safe just in case.
|
||||
inputStream = new BufferedInputStream(socket.getInputStream());
|
||||
|
||||
int buflen = 100;
|
||||
byte[] buf = new byte[buflen];
|
||||
String line = "";
|
||||
|
Loading…
Reference in New Issue
Block a user