Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/server.py @ 13570:617a87cb7eb2
hgweb: add support for 100-continue as recommended by PEP 333.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 06 Feb 2010 04:27:28 -0600 |
parents | 8fa83d7159eb |
children | ce99d887585f |
comparison
equal
deleted
inserted
replaced
13569:3ab3b892d223 | 13570:617a87cb7eb2 |
---|---|
6 # This software may be used and distributed according to the terms of the | 6 # This software may be used and distributed according to the terms of the |
7 # GNU General Public License version 2 or any later version. | 7 # GNU General Public License version 2 or any later version. |
8 | 8 |
9 import os, sys, errno, urllib, BaseHTTPServer, socket, SocketServer, traceback | 9 import os, sys, errno, urllib, BaseHTTPServer, socket, SocketServer, traceback |
10 from mercurial import util, error | 10 from mercurial import util, error |
11 from mercurial.hgweb import common | |
11 from mercurial.i18n import _ | 12 from mercurial.i18n import _ |
12 | 13 |
13 def _splitURI(uri): | 14 def _splitURI(uri): |
14 """ Return path and query splited from uri | 15 """ Return path and query splited from uri |
15 | 16 |
109 if hval: | 110 if hval: |
110 env[hkey] = hval | 111 env[hkey] = hval |
111 env['SERVER_PROTOCOL'] = self.request_version | 112 env['SERVER_PROTOCOL'] = self.request_version |
112 env['wsgi.version'] = (1, 0) | 113 env['wsgi.version'] = (1, 0) |
113 env['wsgi.url_scheme'] = self.url_scheme | 114 env['wsgi.url_scheme'] = self.url_scheme |
115 if env.get('HTTP_EXPECT', '').lower() == '100-continue': | |
116 self.rfile = common.continuereader(self.rfile, self.wfile.write) | |
117 | |
114 env['wsgi.input'] = self.rfile | 118 env['wsgi.input'] = self.rfile |
115 env['wsgi.errors'] = _error_logger(self) | 119 env['wsgi.errors'] = _error_logger(self) |
116 env['wsgi.multithread'] = isinstance(self.server, | 120 env['wsgi.multithread'] = isinstance(self.server, |
117 SocketServer.ThreadingMixIn) | 121 SocketServer.ThreadingMixIn) |
118 env['wsgi.multiprocess'] = isinstance(self.server, | 122 env['wsgi.multiprocess'] = isinstance(self.server, |