-/* $Id: httpd.js,v 1.41 2005/07/09 08:23:07 mmondor Exp $ */
+/* $Id: httpd.js,v 1.42 2005/07/09 10:21:04 mmondor Exp $ */
/*
* Copyright (c) 2005, Matthew Mondor
* Server identification
*/
SERVER_VERSION = 'mmondor_js_httpd/0.0.1 (NetBSD)';
-SERVER_CVSID = '$Id: httpd.js,v 1.41 2005/07/09 08:23:07 mmondor Exp $';
+SERVER_CVSID = '$Id: httpd.js,v 1.42 2005/07/09 10:21:04 mmondor Exp $';
function Session(time, exp)
{
- var rval = session_randfd.read(options.sess_id_size);
+ var rval;
var i;
+ try {
+ rval = session_randfd.read(options.sess_id_size);
+ } catch (x) {
+ err.put(x + "\n");
+ }
this.sessid = '';
for (i = 0; i < options.sess_id_size; i++)
this.sessid +=
var done = false;
var close = false;
var idx;
+ var data;
/*
* If we reach a request of 32768 bytes, stop reading.
done = true;
else {
try {
- this.request_data += this.read(len);
+ data = this.read(len);
+ if (data.length == 0)
+ close = true;
+ this.request_data += data;
this.updateTimeout(time);
} catch (x) {
if (this.error != FD.EAGAIN)
{
var close = false;
var len;
+ var data;
if (this.post_data.length < this.http_content_length) {
len = this.http_content_length - this.post_data.length;
if (len > options.readbuf_size)
len = options.readbuf_size;
try {
- this.post_data += this.read(len);
+ data = this.read(len);
+ if (data.length == 0)
+ close = true;
+ this.post_data += data;
this.updateTimeout(time);
} catch (x) {
if (this.error != FD.EAGAIN)