equal
deleted
inserted
replaced
35 def writelines(self, seq): |
35 def writelines(self, seq): |
36 for msg in seq: |
36 for msg in seq: |
37 self.handler.log_error("HG error: %s", msg) |
37 self.handler.log_error("HG error: %s", msg) |
38 |
38 |
39 class _hgwebhandler(object, BaseHTTPServer.BaseHTTPRequestHandler): |
39 class _hgwebhandler(object, BaseHTTPServer.BaseHTTPRequestHandler): |
|
40 |
|
41 url_scheme = 'http' |
|
42 |
40 def __init__(self, *args, **kargs): |
43 def __init__(self, *args, **kargs): |
41 self.protocol_version = 'HTTP/1.1' |
44 self.protocol_version = 'HTTP/1.1' |
42 BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kargs) |
45 BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kargs) |
43 |
46 |
44 def log_error(self, format, *args): |
47 def log_error(self, format, *args): |
102 hval = hval.replace('\n', '').strip() |
105 hval = hval.replace('\n', '').strip() |
103 if hval: |
106 if hval: |
104 env[hkey] = hval |
107 env[hkey] = hval |
105 env['SERVER_PROTOCOL'] = self.request_version |
108 env['SERVER_PROTOCOL'] = self.request_version |
106 env['wsgi.version'] = (1, 0) |
109 env['wsgi.version'] = (1, 0) |
107 env['wsgi.url_scheme'] = 'http' |
110 env['wsgi.url_scheme'] = type(self).url_scheme |
108 env['wsgi.input'] = self.rfile |
111 env['wsgi.input'] = self.rfile |
109 env['wsgi.errors'] = _error_logger(self) |
112 env['wsgi.errors'] = _error_logger(self) |
110 env['wsgi.multithread'] = isinstance(self.server, |
113 env['wsgi.multithread'] = isinstance(self.server, |
111 SocketServer.ThreadingMixIn) |
114 SocketServer.ThreadingMixIn) |
112 env['wsgi.multiprocess'] = isinstance(self.server, |
115 env['wsgi.multiprocess'] = isinstance(self.server, |
166 self.length = self.length - len(data) |
169 self.length = self.length - len(data) |
167 self.wfile.write(data) |
170 self.wfile.write(data) |
168 self.wfile.flush() |
171 self.wfile.flush() |
169 |
172 |
170 class _shgwebhandler(_hgwebhandler): |
173 class _shgwebhandler(_hgwebhandler): |
|
174 |
|
175 url_scheme = 'https' |
|
176 |
171 def setup(self): |
177 def setup(self): |
172 self.connection = self.request |
178 self.connection = self.request |
173 self.rfile = socket._fileobject(self.request, "rb", self.rbufsize) |
179 self.rfile = socket._fileobject(self.request, "rb", self.rbufsize) |
174 self.wfile = socket._fileobject(self.request, "wb", self.wbufsize) |
180 self.wfile = socket._fileobject(self.request, "wb", self.wbufsize) |
175 |
181 |