Roxen.git / server / protocols / http.pike

version» Context lines:

Roxen.git/server/protocols/http.pike:1:   // This is a roxen protocol module.   // Modified by Francesco Chemolli to add throttling capabilities.   // Copyright © 1996 - 2004, Roxen IS.    - constant cvs_version = "$Id: http.pike,v 1.561 2008/08/15 12:33:55 mast Exp $"; + constant cvs_version = "$Id$";   // #define REQUEST_DEBUG   #define MAGIC_ERROR      #define REQUESTID this      #ifdef MAGIC_ERROR   inherit "highlight_pike";   #endif      // HTTP protocol module.
Roxen.git/server/protocols/http.pike:1072:    o->client_var = client_var;    o->host = host;    o->conf = conf;    o->my_fd_busy = !!pipe;    o->pipe = 0;    o->connection_misc = connection_misc;    o->kept_alive = kept_alive+1;    object fd = my_fd;    my_fd=0;    pipe = 0; -  chained_to = o; +  chained_to = o->my_fd_released;    call_out (o->chain, 0, fd,port_obj,leftovers);    disconnect();    return;    }       data_buffer = 0;    pipe = 0;    disconnect();   }   
Roxen.git/server/protocols/http.pike:1479:    if (mixed __eRr = catch (internal_error (err))) \    report_error("Internal server error: " + describe_backtrace(err) + \    "internal_error() also failed: " + describe_backtrace(__eRr)); \    } while (0)      int wants_more()   {    return !!cache;   }    - protected object(this_program) chained_to; + protected function(:void) chained_to;      protected void destroy()   {    // To avoid references to destructed RequestID objects. Happens    // otherwise when prot_https makes a http -> https redirect, for    // instance.    remove_call_out (do_timeout);       if (chained_to) {    // This happens when do_log() is called before the request    // has been chained (eg for short data over fast connections). -  call_out(chained_to->my_fd_released, 0); +  call_out(chained_to, 0);    chained_to = 0;    }   }      void do_log( int|void fsent )   {   #ifdef CONNECTION_DEBUG    werror ("HTTP[%s]: Response sent ========================================\n",    DEBUG_GET_FD);   #endif    MARK_FD("HTTP logging"); // fd can be closed here    if (chained_to) {    // Release the other sender. -  call_out(chained_to->my_fd_released, 0); +  call_out(chained_to, 0);    chained_to = 0;    }    TIMER_START(do_log);    if(conf)    {    if(!(file->len = fsent) && pipe) {    file->len = pipe->bytes_sent();    }    if(conf)    {