equal
deleted
inserted
replaced
198 self.webdirmaker = hgwebdir |
198 self.webdirmaker = hgwebdir |
199 self.repoviewmaker = hgweb |
199 self.repoviewmaker = hgweb |
200 self.reqmaker = wsgiapplication(self.make_handler) |
200 self.reqmaker = wsgiapplication(self.make_handler) |
201 self.daemon_threads = True |
201 self.daemon_threads = True |
202 |
202 |
|
203 addr, port = self.socket.getsockname() |
|
204 if addr == '0.0.0.0': |
|
205 addr = socket.gethostname() |
|
206 else: |
|
207 try: |
|
208 addr = socket.gethostbyaddr(addr)[0] |
|
209 except socket.error: |
|
210 pass |
|
211 self.addr, self.port = addr, port |
|
212 |
203 def make_handler(self): |
213 def make_handler(self): |
204 if self.webdir_conf: |
214 if self.webdir_conf: |
205 hgwebobj = self.webdirmaker(self.webdir_conf) |
215 hgwebobj = self.webdirmaker(self.webdir_conf) |
206 elif self.repo is not None: |
216 elif self.repo is not None: |
207 hgwebobj = self.repoviewmaker(repo.__class__(repo.ui, |
217 hgwebobj = self.repoviewmaker(repo.__class__(repo.ui, |
217 def __init__(self, *args, **kwargs): |
227 def __init__(self, *args, **kwargs): |
218 if self.address_family is None: |
228 if self.address_family is None: |
219 raise hg.RepoError(_('IPv6 not available on this system')) |
229 raise hg.RepoError(_('IPv6 not available on this system')) |
220 super(IPv6HTTPServer, self).__init__(*args, **kwargs) |
230 super(IPv6HTTPServer, self).__init__(*args, **kwargs) |
221 |
231 |
222 if use_ipv6: |
232 try: |
223 return IPv6HTTPServer((address, port), _hgwebhandler) |
233 if use_ipv6: |
224 else: |
234 return IPv6HTTPServer((address, port), _hgwebhandler) |
225 return MercurialHTTPServer((address, port), _hgwebhandler) |
235 else: |
|
236 return MercurialHTTPServer((address, port), _hgwebhandler) |
|
237 except socket.error, inst: |
|
238 raise util.Abort(_('cannot start server: %s') % inst.args[1]) |