Changeset 1109

Show
Ignore:
Timestamp:
06/29/08 13:37:33 (4 months ago)
Author:
kris
Message:

added keepalive support, and exposed the logger from Context

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/mango/net/http/server/HttpBridge.d

    r1106 r1109  
    103103 
    104104                   // first, extract HTTP headers from input (this may timeout) 
    105                    request.readHeaders; 
    106 /+ 
     105                   try { 
     106                       request.readHeaders; 
     107                       } catch (Exception x) 
     108                               { 
     109                               break; 
     110                               } 
     111 
    107112                   // check for Connection:close 
    108                    if ("close" != request.getInputHeaders.get(HttpHeader.Connection) && ++count < 16
     113                   if (++count < 20 && "close" != request.getInputHeaders.get(HttpHeader.Connection)
    109114                      { 
    110115                      //Stdout.formatln (">>> setting keepalive"); 
    111                       //response.keepAlive = true; 
     116                      response.keepAlive = true; 
    112117                      } 
    113 +/ 
     118 
    114119                   // pass request off to the provider. It is the provider's  
    115120                   // responsibility to flush the output! 
  • trunk/mango/net/http/server/HttpResponse.d

    r1106 r1109  
    358358 
    359359                   // set connection header 
     360                   if (keepalive && !headers.get (HttpHeader.ContentLength)) 
     361                       keepalive = false; 
     362 
    360363                   if (! headers.get (HttpHeader.Connection)) 
    361364                         headers.add (HttpHeader.Connection, keepalive ? "keep-alive" : "close"); 
     
    400403 
    401404                   // output the headers 
     405                   keepalive = false; 
    402406                   commit; 
    403407         
     
    423427} 
    424428 
    425  
    426  
  • trunk/mango/net/http/server/HttpServer.d

    r1095 r1109  
    109109 
    110110                // set a default read timeout? 
    111                 server.setTimeout (15.0); 
     111                server.setTimeout (10.0); 
    112112                return server; 
    113113        } 
  • trunk/mango/net/servlet/ServletContext.d

    r1108 r1109  
    354354        /*********************************************************************** 
    355355         
     356                Return the asscoiated logger 
     357 
     358        ***********************************************************************/ 
     359 
     360        Logger log () 
     361        { 
     362                return logger; 
     363        } 
     364 
     365        /*********************************************************************** 
     366         
    356367                Send an informational message to the logger subsystem 
    357368