Changeset 1106

Show
Ignore:
Timestamp:
06/27/08 16:34:08 (2 months ago)
Author:
kris
Message:

all kinds of goodies :)

Files:

Legend:

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

    r1101 r1106  
    1414 
    1515private import  tango.net.Socket; 
     16 
     17private import  tango.net.http.HttpConst; 
    1618 
    1719private import  tango.io.model.IConduit; 
     
    8587        void cross (IConduit conduit) 
    8688        { 
     89                auto count = 0; 
     90 
    8791                // bind our input & output instance to this conduit 
    8892                request.setConduit (conduit); 
     
    98102                   response.reset; 
    99103 
    100                    // first, extract HTTP headers from input 
     104                   // first, extract HTTP headers from input (this may timeout) 
    101105                   request.readHeaders; 
    102  
     106/+ 
     107                   // check for Connection:close 
     108                   if ("close" != request.getInputHeaders.get(HttpHeader.Connection) && ++count < 16) 
     109                      { 
     110                      //Stdout.formatln (">>> setting keepalive"); 
     111                      //response.keepAlive = true; 
     112                      } 
     113+/ 
    103114                   // pass request off to the provider. It is the provider's  
    104115                   // responsibility to flush the output! 
  • trunk/mango/net/http/server/HttpResponse.d

    r1101 r1106  
    1515private import  tango.io.Buffer; 
    1616 
     17private import  tango.time.Clock; 
     18 
    1719private import  tango.net.http.HttpConst, 
    1820                tango.net.http.HttpParams, 
     
    2628 
    2729private import  Integer = tango.text.convert.Integer; 
     30private import  Timestamp = tango.text.convert.TimeStamp; 
    2831 
    2932//version = ShowHeaders; 
     
    235238        void sendRedirect (char[] location) 
    236239        { 
    237                 setStatus (HttpResponses.MovedTemporarily); 
     240                setStatus (HttpResponses.TemporaryRedirect); 
    238241                getHeader().add (HttpHeader.Location, location); 
    239242                flush (); 
     
    339342                   commited = true; 
    340343 
    341                    char[16]     tmp; 
     344                   char[64]     tmp; 
    342345                   char[]       header; 
    343346                   HttpHeaders  headers = getHeader; 
     
    350353                        (status.name) 
    351354                        (HttpConst.Eol); 
     355 
     356                   // set date header 
     357                   headers.add (HttpHeader.Date, Timestamp.format (tmp, Clock.now)); 
    352358 
    353359                   // set connection header 
  • trunk/mango/net/servlet/ServletResponse.d

    r1104 r1106  
    128128        { 
    129129                super.managed (yes); 
     130        } 
     131 
     132        /*********************************************************************** 
     133         
     134        ***********************************************************************/ 
     135 
     136        void keepalive (bool yes) 
     137        { 
     138                super.keepAlive (yes); 
    130139        } 
    131140 
  • trunk/mango/net/servlet/model/IServletResponse.d

    r1104 r1106  
    9191        ***********************************************************************/ 
    9292 
     93        void keepalive (bool yes); 
     94 
     95        /*********************************************************************** 
     96         
     97        ***********************************************************************/ 
     98 
    9399        void setContentLength (int len); 
    94100 
  • trunk/mango/net/util/AbstractServer.d

    r1067 r1106  
    1414 
    1515private   import  tango.net.Socket; 
    16                  
     16private   import  tango.core.Thread; 
     17 
    1718protected import  tango.util.log.Log; 
    1819 
     
    2122 
    2223protected import  tango.io.model.IConduit; 
    23  
    24 protected import  tango.text.convert.Sprint; 
    2524 
    2625protected import  mango.net.util.model.IServer, 
     
    4039        private ServerSocket    server; 
    4140        private Logger          logger; 
    42         private Sprint!(char)   sprint; 
    4341        private uint            threads; 
    4442        private uint            backlog; 
     
    7068                this.threads = threads; 
    7169                this.backlog = backlog; 
    72                 this.sprint = new Sprint!(char); 
    7370        } 
    7471 
     
    206203 
    207204                // indicate what's going on  
    208                 logger.info (sprint ("Server {} started on {} with {} accept threads and {} backlogs",  
    209                                       this, localAddress, threads, backlog)); 
     205                logger.info ("Server {} started on {} with {} accept threads and {} backlogs",  
     206                              this, localAddress, threads, backlog); 
    210207        } 
    211208} 
  • trunk/mango/net/util/ServerThread.d

    r1097 r1106  
    2222 
    2323private import  mango.net.util.model.IRunnable; 
     24 
     25private import  Integer = tango.text.convert.Integer; 
    2426 
    2527/****************************************************************************** 
     
    4749        this (AbstractServer server, ServerSocket socket) 
    4850        { 
     51                static int count; 
     52 
    4953                this.server = server; 
    5054                this.socket = socket; 
    5155                thread = new Thread (&run); 
     56                thread.name = Integer.toString (count++, "u3"); 
    5257        } 
    5358