D2285: wireprotoserver: return to using iscmd() method

durin42 (Augie Fackler) phabricator at mercurial-scm.org
Thu Feb 15 22:31:23 UTC 2018


durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This was teased out in part so remotefilelog could disable an old
  protocol method over http. It got dropped accidentally in the recent
  refactor, but the code was all still present so it's easy to support
  for now.
  
  I think once we land remotefilelog, we should probably inline this
  function.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2285

AFFECTED FILES
  mercurial/wireprotoserver.py

CHANGE DETAILS

diff --git a/mercurial/wireprotoserver.py b/mercurial/wireprotoserver.py
--- a/mercurial/wireprotoserver.py
+++ b/mercurial/wireprotoserver.py
@@ -170,6 +170,10 @@
             urlreq.quote(self._req.env.get('REMOTE_HOST', '')),
             urlreq.quote(self._req.env.get('REMOTE_USER', '')))
 
+# This method exists mostly so that extensions like remotefilelog can
+# disable a kludgey legacy method only over http. As of early 2018,
+# there are no other known users, so with any luck we can discard this
+# hook if remotefilelog becomes a first-party extension.
 def iscmd(cmd):
     return cmd in wireproto.commands
 
@@ -198,7 +202,7 @@
     # wire protocol requests to hgweb because it prevents hgweb from using
     # known wire protocol commands and it is less confusing for machine
     # clients.
-    if cmd not in wireproto.commands:
+    if not iscmd(cmd):
         return None
 
     proto = httpv1protocolhandler(req, repo.ui)



To: durin42, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list