Roxen.git/
server/
protocols/
http.pike
Branch:
Tag:
Non-build tags
All tags
No tags
1998-02-27
1998-02-27 04:51:52 by Per Hedbor <ph@opera.com>
a37f78d7e2927b2b7634aaff02eed0f81cd54831 (
16
lines) (+
9
/-
7
)
[
Show
|
Annotate
]
Branch:
5.2
Keep-alive now seems to work
Rev: server/protocols/http.pike:1.58
1:
// This is a roxen module. (c) Informationsvävarna AB 1996.
-
constant cvs_version = "$Id: http.pike,v 1.
57
1998/02/
24
22
:
23
:52 per Exp $";
+
constant cvs_version = "$Id: http.pike,v 1.
58
1998/02/
27
04
:
51
:52 per Exp $";
// HTTP protocol module. #include <config.h> private inherit "roxenlib";
549:
void disconnect() { if(do_not_disconnect) return;
+
catch(file && file->close());
file = 0; my_fd = 0; destruct();
594:
catch { my_fd->set_close_callback(0); my_fd->set_read_callback(0);
-
my_fd->set_blocking();
+
//
my_fd->set_blocking();
if(s) my_fd->write(s); my_fd->close(); destruct(my_fd);
682:
{ int len; if(pipe) file->len = pipe->bytes_sent();
-
// werror("Managed to send "+file->len+" bytes\n");
+
if(conf) { if(file->len > 0) conf->sent+=file->len;
746:
if((file->file == -1) || file->leave_me) { if(do_not_disconnect) return;
-
my_fd = 0; file = 0;
+
my_fd = 0; file
->close();
file
= 0;
return; }
820:
if(file->len > -1) myheads += ({"Content-length: " + file->len });
+
#ifdef KEEP_ALIVE
+
myheads += ({ "Connection: Keep-Alive" });
+
#endif
head_string = (myheads+({"",""}))*"\r\n"; if(conf) conf->hsent+=strlen(head_string||"");
862:
int processed; void got_data(mixed fooid, string s) {
-
// werror("got_data: '"+s+"'\n");
-
+
int tmp; remove_call_out(do_timeout); call_out(do_timeout, 30); // Close down if we don't get more data
909:
my_fd->set_close_callback(0); my_fd->set_read_callback(0);
-
my_fd->set_blocking();
+
//
my_fd->set_blocking();
processed=1; #ifdef THREADS roxen->handle(this_object()->handle_request);