Added support for content length and HTTP error messages
This commit is contained in:
parent
437d603faf
commit
2af69af96f
1 changed files with 17 additions and 4 deletions
|
@ -9,9 +9,9 @@
|
||||||
* Copyright 1998-2006 Helma Software. All Rights Reserved.
|
* Copyright 1998-2006 Helma Software. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* $RCSfile: Http.js,v $
|
* $RCSfile: Http.js,v $
|
||||||
* $Author: michi $
|
* $Author: hannes $
|
||||||
* $Revision: 1.7 $
|
* $Revision: 1.8 $
|
||||||
* $Date: 2007/07/17 16:12:09 $
|
* $Date: 2007/07/18 12:05:12 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -546,12 +546,25 @@ helma.Http = function() {
|
||||||
charset = charset.replace('"', ' ').trim();
|
charset = charset.replace('"', ' ').trim();
|
||||||
result.charset = charset;
|
result.charset = charset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.length != 0 && result.code == 200) {
|
if (result.length != 0 && result.code == 200) {
|
||||||
responseHandler(conn, result);
|
responseHandler(conn, result);
|
||||||
if (result.content) {
|
if (result.content) {
|
||||||
result.length = result.content.length;
|
result.length = result.content.length;
|
||||||
}
|
}
|
||||||
|
result.length = result.content.length;
|
||||||
|
} else {
|
||||||
|
var errorStream = conn.getErrorStream();
|
||||||
|
if (errorStream) {
|
||||||
|
var body = new java.io.ByteArrayOutputStream();
|
||||||
|
var input = new java.io.BufferedInputStream(errorStream);
|
||||||
|
var buf = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024);
|
||||||
|
var str;
|
||||||
|
while ((str = input.read(buf)) > -1) {
|
||||||
|
body.write(buf, 0, str);
|
||||||
|
}
|
||||||
|
input.close();
|
||||||
|
result.error = body.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
conn.disconnect();
|
conn.disconnect();
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Add table
Reference in a new issue