# HG changeset patch
# User Gregory Szorc <gregory.szorc@gmail.com>
# Date 2018-01-31 19:09:07
# Node ID ef3a24a023ec10dd16c1feabc91dc3c8ed5655c9
# Parent  69d7fcd91696f42303085ffb3a6d1f26b5a36ee9

wireprotoserver: rename hgweb.protocol to wireprotoserver (API)

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.

Differential Revision: https://phab.mercurial-scm.org/D1965

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 @@ from .. import (
     templater,
     ui as uimod,
     util,
+    wireprotoserver,
 )
 
 from . import (
-    protocol,
     webcommands,
     webutil,
     wsgicgi,
@@ -362,13 +362,13 @@ class hgweb(object):
         # 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 @@ class hgweb(object):
                     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 ''
 
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@edge2.net>
 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
 #
@@ -10,16 +9,16 @@ from __future__ import absolute_import
 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