mercurial/hgweb/server.py
changeset 5566 d74fc8dec2b4
parent 5549 f2f42262adbd
child 5579 e15f7db0f0ee
equal deleted inserted replaced
5565:feac5b0bf9ba 5566:d74fc8dec2b4
     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 ui, hg, util, templater
    10 from mercurial import ui, hg, util, templater
    11 from hgweb_mod import hgweb
    11 from hgweb_mod import hgweb
    12 from hgwebdir_mod import hgwebdir
    12 from hgwebdir_mod import hgwebdir
    13 from request import wsgiapplication
       
    14 from mercurial.i18n import gettext as _
    13 from mercurial.i18n import gettext as _
    15 
    14 
    16 def _splitURI(uri):
    15 def _splitURI(uri):
    17     """ Return path and query splited from uri
    16     """ Return path and query splited from uri
    18 
    17 
   119         self.close_connection = True
   118         self.close_connection = True
   120         self.saved_status = None
   119         self.saved_status = None
   121         self.saved_headers = []
   120         self.saved_headers = []
   122         self.sent_headers = False
   121         self.sent_headers = False
   123         self.length = None
   122         self.length = None
   124         req = self.server.reqmaker(env, self._start_response)
   123         self.server.application(env, self._start_response)
   125         for data in req:
       
   126             if data:
       
   127                 self._write(data)
       
   128 
   124 
   129     def send_headers(self):
   125     def send_headers(self):
   130         if not self.saved_status:
   126         if not self.saved_status:
   131             raise AssertionError("Sending headers before start_response() called")
   127             raise AssertionError("Sending headers before start_response() called")
   132         saved_status = self.saved_status.split(None, 1)
   128         saved_status = self.saved_status.split(None, 1)
   248                     hgwebobj = hgweb(hg.repository(repo.ui, repo.root))
   244                     hgwebobj = hgweb(hg.repository(repo.ui, repo.root))
   249                 else:
   245                 else:
   250                     raise hg.RepoError(_("There is no Mercurial repository here"
   246                     raise hg.RepoError(_("There is no Mercurial repository here"
   251                                          " (.hg not found)"))
   247                                          " (.hg not found)"))
   252                 return hgwebobj
   248                 return hgwebobj
   253             self.reqmaker = wsgiapplication(make_handler)
   249             self.application = make_handler()
   254 
   250 
   255             addr = address
   251             addr = address
   256             if addr in ('', '::'):
   252             if addr in ('', '::'):
   257                 addr = socket.gethostname()
   253                 addr = socket.gethostname()
   258 
   254