# HG changeset patch # User David Soria Parra # Date 1380614086 -7200 # Node ID 52ed85d9ac265e27ef363fd7e03042194e2f9841 # Parent c172660eee01af28b8f843a9f7a568a4de5bb084 hgweb: log headers only if headers were successfully parsed The headers attribute is not initialized in certain error situations (e.g. http 400 bad request). Check for self.headers before we attempt to access it. diff -r c172660eee01 -r 52ed85d9ac26 mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py Mon Oct 07 17:47:19 2013 -0400 +++ b/mercurial/hgweb/server.py Tue Oct 01 09:54:46 2013 +0200 @@ -60,7 +60,10 @@ self._log_any(self.server.accesslog, format, *args) def log_request(self, code='-', size='-'): - xheaders = [h for h in self.headers.items() if h[0].startswith('x-')] + xheaders = [] + if util.safehasattr(self, 'headers'): + xheaders = [h for h in self.headers.items() + if h[0].startswith('x-')] self.log_message('"%s" %s %s%s', self.requestline, str(code), str(size), ''.join([' %s:%s' % h for h in sorted(xheaders)]))