|
@@ -560,6 +560,8 @@ def daemon(path=".", address=None, port=None):
|
|
|
"""Run a daemon serving Git requests over TCP/IP.
|
|
|
|
|
|
:param path: Path to the directory to serve.
|
|
|
+ :param address: Optional address to listen on (defaults to ::)
|
|
|
+ :param port: Optional port to listen on (defaults to TCP_GIT_PORT)
|
|
|
"""
|
|
|
# TODO(jelmer): Support git-daemon-export-ok and --export-all.
|
|
|
backend = FileSystemBackend(path)
|
|
@@ -567,6 +569,27 @@ def daemon(path=".", address=None, port=None):
|
|
|
server.serve_forever()
|
|
|
|
|
|
|
|
|
+def web_daemon(path=".", address=None, port=None):
|
|
|
+ """Run a daemon serving Git requests over HTTP.
|
|
|
+
|
|
|
+ :param path: Path to the directory to serve
|
|
|
+ :param address: Optional address to listen on (defaults to ::)
|
|
|
+ :param port: Optional port to listen on (defaults to 80)
|
|
|
+ """
|
|
|
+ from dulwich.web import (
|
|
|
+ make_wsgi_chain,
|
|
|
+ make_server,
|
|
|
+ WSGIRequestHandlerLogger,
|
|
|
+ WSGIServerLogger)
|
|
|
+
|
|
|
+ backend = FileSystemBackend(path)
|
|
|
+ app = make_wsgi_chain(backend)
|
|
|
+ server = make_server(address, port, app,
|
|
|
+ handler_class=WSGIRequestHandlerLogger,
|
|
|
+ server_class=WSGIServerLogger)
|
|
|
+ server.serve_forever()
|
|
|
+
|
|
|
+
|
|
|
def upload_pack(path=".", inf=sys.stdin, outf=sys.stdout):
|
|
|
"""Upload a pack file after negotiating its contents using smart protocol.
|
|
|
|