Changeset 1119
- Timestamp:
- 08/23/08 20:56:37 (3 months ago)
- Files:
-
- trunk/mango/net/http/server/HttpBridge.d (modified) (3 diffs)
- trunk/mango/net/http/server/HttpServer.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/mango/net/http/server/HttpBridge.d
r1113 r1119 49 49 private HttpRequest request; 50 50 private HttpResponse response; 51 51 private uint keepAlive; 52 52 53 /********************************************************************** 53 54 … … 58 59 **********************************************************************/ 59 60 60 this (IServer server, ServiceProvider provider, HttpThread thread )61 this (IServer server, ServiceProvider provider, HttpThread thread, uint keepAlive) 61 62 { 62 63 this.server = server; 63 64 this.thread = thread; 64 65 this.provider = provider; 66 this.keepAlive = keepAlive; 65 67 66 68 request = provider.createRequest (this); … … 112 114 // check for Connection:close 113 115 auto headers = request.getInputHeaders; 114 if (++count < 32&& "close" != headers.get(HttpHeader.Connection))116 if (++count <= keepAlive && "close" != headers.get(HttpHeader.Connection)) 115 117 { 116 118 response.keepAlive = true; trunk/mango/net/http/server/HttpServer.d
r1109 r1119 40 40 { 41 41 private ServiceProvider provider; 42 private uint requests = 1; 43 private double timeout = 10.0; 42 44 43 45 /********************************************************************** … … 72 74 super (bind, threads, backlog, log); 73 75 this.provider = provider; 76 } 77 78 /********************************************************************** 79 80 Set the maximum number of requests each thread will 81 service before closing the requesting socket (default 82 is one) 83 84 **********************************************************************/ 85 86 HttpServer keepAlive (uint count) 87 { 88 requests = count; 89 return this; 90 } 91 92 /********************************************************************** 93 94 Set the read timeout on an incoming request (default is 95 ten seconds) 96 97 **********************************************************************/ 98 99 HttpServer readTimeout (double timeout) 100 { 101 this.timeout = timeout; 102 return this; 74 103 } 75 104 … … 108 137 auto server = new ServerSocket (bind, backlog, reuse); 109 138 110 // set a default read timeout ?111 server.setTimeout ( 10.0);139 // set a default read timeout 140 server.setTimeout (this.timeout); 112 141 return server; 113 142 } … … 146 175 // create a new instance if it's the first service 147 176 // request on this particular thread 148 bridge = new HttpBridge (this, provider, thread );177 bridge = new HttpBridge (this, provider, thread, requests); 149 178 thread.setBridge (bridge); 150 179 }
