Roxen.git
/
server
/
plugins
/
protocols
/
http.pike
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/plugins/protocols/http.pike:1:
// This is a ChiliMoon protocol module. // Modified by Francesco Chemolli to add throttling capabilities. // Copyright © 1996 - 2001, Roxen IS.
-
constant cvs_version = "$Id: http.pike,v 1.
396
2004/
04
/
04
14
:
24
:
53
mani
Exp $";
+
constant cvs_version = "$Id: http.pike,v 1.
397
2004/
05
/
20
22
:
09
:
19
_cvs_stephen
Exp $";
// #define REQUEST_DEBUG #define MAGIC_ERROR // HTTP protocol module. #include <config.h> #define TIMER_PREFIX "http:" #include <timers.h> inherit RequestID;
Roxen.git/server/plugins/protocols/http.pike:61:
#include <module.h> #include <variables.h> #include <request_trace.h> #define MY_TRACE_ENTER(A, B) \ do {RequestID id = this; TRACE_ENTER (A, B);} while (0) #define MY_TRACE_LEAVE(A) \ do {RequestID id = this; TRACE_LEAVE (A);} while (0) mapping(string:array) real_variables = ([]);
+
mapping(string:array) stash_body_parts = ([]);
mapping(string:mixed)|FakedVariables variables = FakedVariables( real_variables ); mapping (string:mixed) misc = ([ #ifdef REQUEST_DEBUG "trace_enter":lambda(mixed ...args) { REQUEST_WERR(sprintf("TRACE_ENTER(%{%O,%})", args)); }, "trace_leave":lambda(mixed ...args) { REQUEST_WERR(sprintf("TRACE_LEAVE(%{%O,%})", args));
Roxen.git/server/plugins/protocols/http.pike:817:
real_variables[part->disp_params->name] += ({part->getdata()}); real_variables[part->disp_params->name+".filename"] += ({part->disp_params->filename}); misc->files += ({ part->disp_params->name }); } else real_variables[part->disp_params->name] += ({part->getdata()}); if(part->headers["content-type"]) real_variables[part->disp_params->name+".mimetype"] += ({ part->headers["content-type"] }); }
+
stash_body_parts = real_variables + ([ ]);
} break; } } } if (!(< "HTTP/1.0", "HTTP/0.9" >)[prot]) { if (!misc->host) { // RFC 2616 requires this behaviour. REQUEST_WERR("HTTP: HTTP/1.1 request without a host header."); my_fd->write((prot||"HTTP/1.1") +