mercurial/hgweb/server.py
changeset 2392 8238a3f039e6
parent 2391 d351a3be3371
child 2404 ffc3b2f1ab6a
equal deleted inserted replaced
2391:d351a3be3371 2392:8238a3f039e6
     8 
     8 
     9 from mercurial.demandload import demandload
     9 from mercurial.demandload import demandload
    10 import os, sys, errno
    10 import os, sys, errno
    11 demandload(globals(), "urllib BaseHTTPServer socket SocketServer")
    11 demandload(globals(), "urllib BaseHTTPServer socket SocketServer")
    12 demandload(globals(), "mercurial:ui,hg,util,templater")
    12 demandload(globals(), "mercurial:ui,hg,util,templater")
    13 demandload(globals(), "mercurial.hgweb.request:hgrequest")
    13 demandload(globals(), "hgweb_mod:hgweb hgwebdir_mod:hgwebdir request:hgrequest")
    14 from mercurial.i18n import gettext as _
    14 from mercurial.i18n import gettext as _
    15 
    15 
    16 def _splitURI(uri):
    16 def _splitURI(uri):
    17     """ Return path and query splited from uri
    17     """ Return path and query splited from uri
    18 
    18 
    85 
    85 
    86         req = hgrequest(self.rfile, self.wfile, env)
    86         req = hgrequest(self.rfile, self.wfile, env)
    87         self.send_response(200, "Script output follows")
    87         self.send_response(200, "Script output follows")
    88         self.server.make_and_run_handler(req)
    88         self.server.make_and_run_handler(req)
    89 
    89 
    90 def create_server(ui, repo, webdirmaker, repoviewmaker):
    90 def create_server(ui, repo):
    91     use_threads = True
    91     use_threads = True
    92 
    92 
    93     def openlog(opt, default):
    93     def openlog(opt, default):
    94         if opt and opt != '-':
    94         if opt and opt != '-':
    95             return open(opt, 'w')
    95             return open(opt, 'w')
   121             BaseHTTPServer.HTTPServer.__init__(self, *args, **kargs)
   121             BaseHTTPServer.HTTPServer.__init__(self, *args, **kargs)
   122             self.accesslog = accesslog
   122             self.accesslog = accesslog
   123             self.errorlog = errorlog
   123             self.errorlog = errorlog
   124             self.repo = repo
   124             self.repo = repo
   125             self.webdir_conf = webdir_conf
   125             self.webdir_conf = webdir_conf
   126             self.webdirmaker = webdirmaker
   126             self.webdirmaker = hgwebdir
   127             self.repoviewmaker = repoviewmaker
   127             self.repoviewmaker = hgweb
   128 
   128 
   129         def make_and_run_handler(self, req):
   129         def make_and_run_handler(self, req):
   130             if self.webdir_conf:
   130             if self.webdir_conf:
   131                 hgwebobj = self.webdirmaker(self.server.webdir_conf)
   131                 hgwebobj = self.webdirmaker(self.server.webdir_conf)
   132             elif self.repo is not None:
   132             elif self.repo is not None: