D1965: wireprotoserver: rename hgweb.protocol to wireprotoserver (API)
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Thu Feb 1 20:19:18 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
The HTTP wire protocol server / response handler is currently defined
in the hgweb sub-package. That only kind of makes sense. hgweb does
contain most of the HTTP server code. However, hgweb is more tailored
for providing HTTP server and WSGI scaffolding and serving hgweb
requests. The wire protocol is kind of its own beast.
In addition, the code for HTTP and SSH wire protocol handling is
actually pretty small and it needs to stay in sync to ensure parity
between the transport implementations.
We rename mercurial/hgweb/protocol.py to mercurial/wireprotoserver.py.
The new module will eventually become the home of the SSH handler
as well.
.. api::
Content from mercurial.hgweb.protocol has been moved to
mercurial.wireprotoserver.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1965
AFFECTED FILES
mercurial/hgweb/hgweb_mod.py
mercurial/hgweb/protocol.py
mercurial/wireprotoserver.py
CHANGE DETAILS
diff --git a/mercurial/hgweb/protocol.py b/mercurial/wireprotoserver.py
rename from mercurial/hgweb/protocol.py
rename to mercurial/wireprotoserver.py
--- a/mercurial/hgweb/protocol.py
+++ b/mercurial/wireprotoserver.py
@@ -1,4 +1,3 @@
-#
# Copyright 21 May 2005 - (c) 2005 Jake Edge <jake at edge2.net>
# Copyright 2005-2007 Matt Mackall <mpm at selenic.com>
#
@@ -10,16 +9,16 @@
import cgi
import struct
-from .common import (
+from .hgweb.common import (
HTTP_OK,
)
-
-from .. import (
+from . import (
error,
pycompat,
util,
wireproto,
)
+
stringio = util.stringio
urlerr = util.urlerr
diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -36,10 +36,10 @@
templater,
ui as uimod,
util,
+ wireprotoserver,
)
from . import (
- protocol,
webcommands,
webutil,
wsgicgi,
@@ -362,13 +362,13 @@
# and the clients always use the old URL structure
cmd = pycompat.sysbytes(req.form.get(r'cmd', [r''])[0])
- if protocol.iscmd(cmd):
+ if wireprotoserver.iscmd(cmd):
try:
if query:
raise ErrorResponse(HTTP_NOT_FOUND)
if cmd in perms:
self.check_perm(rctx, req, perms[cmd])
- return protocol.call(rctx.repo, req, cmd)
+ return wireprotoserver.call(rctx.repo, req, cmd)
except ErrorResponse as inst:
# A client that sends unbundle without 100-continue will
# break if we respond early.
@@ -379,7 +379,7 @@
req.drain()
else:
req.headers.append((r'Connection', r'Close'))
- req.respond(inst, protocol.HGTYPE,
+ req.respond(inst, wireprotoserver.HGTYPE,
body='0\n%s\n' % inst)
return ''
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list