projects
/
org.ibex.core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2003/05/03 03:18:55
[org.ibex.core.git]
/
src
/
org
/
xwt
/
HTTP.java
diff --git
a/src/org/xwt/HTTP.java
b/src/org/xwt/HTTP.java
index
a491dcd
..
e79af03
100644
(file)
--- a/
src/org/xwt/HTTP.java
+++ b/
src/org/xwt/HTTP.java
@@
-161,8
+161,6
@@
public class HTTP {
// cached
if (resolvedHosts.get(host) != null) return;
// cached
if (resolvedHosts.get(host) != null) return;
- if (Log.on) Log.log(this, " resolveAndCheckIfFirewalled: resolving " + host);
-
// if all scripts are trustworthy (local FS), continue
if (Main.originAddr == null) return;
// if all scripts are trustworthy (local FS), continue
if (Main.originAddr == null) return;
@@
-365,7
+363,10
@@
public class HTTP {
PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));
if (content != null) {
pw.print("POST " + path + " HTTP/1.1\r\n");
PrintWriter pw = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));
if (content != null) {
pw.print("POST " + path + " HTTP/1.1\r\n");
- pw.print("Content-Length: " + content.length() + "\r\n");
+ int contentLength = content.substring(0, 2).equals("\r\n") ?
+ content.length() - 2 :
+ (content.length() - content.indexOf("\r\n\r\n") - 4);
+ pw.print("Content-Length: " + contentLength + "\r\n");
if (contentType != null) pw.print("Content-Type: " + contentType + "\r\n");
} else {
pw.print("GET " + path + " HTTP/1.1\r\n");
if (contentType != null) pw.print("Content-Type: " + contentType + "\r\n");
} else {
pw.print("GET " + path + " HTTP/1.1\r\n");
@@
-504,7
+505,12
@@
public class HTTP {
public int read(byte[] b, int off, int len) throws IOException {
boolean good = false;
try {
public int read(byte[] b, int off, int len) throws IOException {
boolean good = false;
try {
- if (length == 0 && contentLength == -1) readChunk();
+ if (length == 0 && contentLength == -1) {
+ readChunk();
+ if (chunkedDone) return -1;
+ } else {
+ if (length == 0) return -1;
+ }
if (len > length) len = length;
int ret = super.read(b, off, len);
length -= ret;
if (len > length) len = length;
int ret = super.read(b, off, len);
length -= ret;
@@
-523,7
+529,7
@@
public class HTTP {
}
skip(2);
} else {
}
skip(2);
} else {
- skip(length);
+ if (length != 0) skip(length);
}
if (releaseMe != null) releaseMe.release();
}
}
if (releaseMe != null) releaseMe.release();
}