D3399: wireproto: move version 2 commands dict to wireprotov2server

2018-04-18 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGee0d5e9d77b2: wireproto: move version 2 commands dict to 
wireprotov2server (authored by indygreg, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3399?vs=8370&id=8388

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

AFFECTED FILES
  mercurial/wireproto.py
  mercurial/wireprotov2server.py

CHANGE DETAILS

diff --git a/mercurial/wireprotov2server.py b/mercurial/wireprotov2server.py
--- a/mercurial/wireprotov2server.py
+++ b/mercurial/wireprotov2server.py
@@ -21,15 +21,16 @@
 pycompat,
 streamclone,
 util,
-wireproto,
 wireprotoframing,
 wireprototypes,
 )
 
 FRAMINGTYPE = b'application/mercurial-exp-framing-0005'
 
 HTTP_WIREPROTO_V2 = wireprototypes.HTTP_WIREPROTO_V2
 
+COMMANDS = wireprototypes.commanddict()
+
 def handlehttpv2request(rctx, req, res, checkperm, urlparts):
 from .hgweb import common as hgwebcommon
 
@@ -87,7 +88,7 @@
 # extension.
 extracommands = {'multirequest'}
 
-if command not in wireproto.commandsv2 and command not in extracommands:
+if command not in COMMANDS and command not in extracommands:
 res.status = b'404 Not Found'
 res.headers[b'Content-Type'] = b'text/plain'
 res.setbodybytes(_('unknown wire protocol command: %s\n') % command)
@@ -98,7 +99,7 @@
 
 proto = httpv2protocolhandler(req, ui)
 
-if (not wireproto.commandsv2.commandavailable(command, proto)
+if (not COMMANDS.commandavailable(command, proto)
 and command not in extracommands):
 res.status = b'404 Not Found'
 res.headers[b'Content-Type'] = b'text/plain'
@@ -254,7 +255,7 @@
 proto = httpv2protocolhandler(req, ui, args=command['args'])
 
 if reqcommand == b'multirequest':
-if not wireproto.commandsv2.commandavailable(command['command'], 
proto):
+if not COMMANDS.commandavailable(command['command'], proto):
 # TODO proper error mechanism
 res.status = b'200 OK'
 res.headers[b'Content-Type'] = b'text/plain'
@@ -264,7 +265,7 @@
 
 # TODO don't use assert here, since it may be elided by -O.
 assert authedperm in (b'ro', b'rw')
-wirecommand = wireproto.commandsv2[command['command']]
+wirecommand = COMMANDS[command['command']]
 assert wirecommand.permission in ('push', 'pull')
 
 if authedperm == b'ro' and wirecommand.permission != 'pull':
@@ -334,7 +335,7 @@
 def dispatch(repo, proto, command):
 repo = getdispatchrepo(repo, proto, command)
 
-func, spec = wireproto.commandsv2[command]
+func, spec = COMMANDS[command]
 args = proto.getargs(spec)
 
 return func(repo, proto, **args)
@@ -404,7 +405,7 @@
 'framingmediatypes': [FRAMINGTYPE],
 }
 
-for command, entry in wireproto.commandsv2.items():
+for command, entry in COMMANDS.items():
 caps['commands'][command] = {
 'args': entry.args,
 'permissions': [entry.permission],
@@ -445,11 +446,11 @@
  'must be declared as dicts')
 
 def register(func):
-if name in wireproto.commandsv2:
+if name in COMMANDS:
 raise error.ProgrammingError('%s command already registered '
  'for version 2' % name)
 
-wireproto.commandsv2[name] = wireprototypes.commandentry(
+COMMANDS[name] = wireprototypes.commandentry(
 func, args=args, transports=transports, permission=permission)
 
 return func
diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
--- a/mercurial/wireproto.py
+++ b/mercurial/wireproto.py
@@ -114,12 +114,8 @@
 
 return ui.configbool('server', 'bundle1')
 
-# For version 1 transports.
 commands = wireprototypes.commanddict()
 
-# For version 2 transports.
-commandsv2 = wireprototypes.commanddict()
-
 def wireprotocommand(name, args=None, permission='push'):
 """Decorator to declare a wire protocol command.
 



To: indygreg, #hg-reviewers, durin42
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3399: wireproto: move version 2 commands dict to wireprotov2server

2018-04-16 Thread indygreg (Gregory Szorc)
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This was the final piece of version 2 referenced in wireproto. The
  break between server implementations is now much cleaner.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/wireproto.py
  mercurial/wireprotov2server.py

CHANGE DETAILS

diff --git a/mercurial/wireprotov2server.py b/mercurial/wireprotov2server.py
--- a/mercurial/wireprotov2server.py
+++ b/mercurial/wireprotov2server.py
@@ -21,15 +21,16 @@
 pycompat,
 streamclone,
 util,
-wireproto,
 wireprotoframing,
 wireprototypes,
 )
 
 FRAMINGTYPE = b'application/mercurial-exp-framing-0005'
 
 HTTP_WIREPROTO_V2 = wireprototypes.HTTP_WIREPROTO_V2
 
+COMMANDS = wireprototypes.commanddict()
+
 def handlehttpv2request(rctx, req, res, checkperm, urlparts):
 from .hgweb import common as hgwebcommon
 
@@ -87,7 +88,7 @@
 # extension.
 extracommands = {'multirequest'}
 
-if command not in wireproto.commandsv2 and command not in extracommands:
+if command not in COMMANDS and command not in extracommands:
 res.status = b'404 Not Found'
 res.headers[b'Content-Type'] = b'text/plain'
 res.setbodybytes(_('unknown wire protocol command: %s\n') % command)
@@ -98,7 +99,7 @@
 
 proto = httpv2protocolhandler(req, ui)
 
-if (not wireproto.commandsv2.commandavailable(command, proto)
+if (not COMMANDS.commandavailable(command, proto)
 and command not in extracommands):
 res.status = b'404 Not Found'
 res.headers[b'Content-Type'] = b'text/plain'
@@ -254,7 +255,7 @@
 proto = httpv2protocolhandler(req, ui, args=command['args'])
 
 if reqcommand == b'multirequest':
-if not wireproto.commandsv2.commandavailable(command['command'], 
proto):
+if not COMMANDS.commandavailable(command['command'], proto):
 # TODO proper error mechanism
 res.status = b'200 OK'
 res.headers[b'Content-Type'] = b'text/plain'
@@ -264,7 +265,7 @@
 
 # TODO don't use assert here, since it may be elided by -O.
 assert authedperm in (b'ro', b'rw')
-wirecommand = wireproto.commandsv2[command['command']]
+wirecommand = COMMANDS[command['command']]
 assert wirecommand.permission in ('push', 'pull')
 
 if authedperm == b'ro' and wirecommand.permission != 'pull':
@@ -334,7 +335,7 @@
 def dispatch(repo, proto, command):
 repo = getdispatchrepo(repo, proto, command)
 
-func, spec = wireproto.commandsv2[command]
+func, spec = COMMANDS[command]
 args = proto.getargs(spec)
 
 return func(repo, proto, **args)
@@ -404,7 +405,7 @@
 'framingmediatypes': [FRAMINGTYPE],
 }
 
-for command, entry in wireproto.commandsv2.items():
+for command, entry in COMMANDS.items():
 caps['commands'][command] = {
 'args': entry.args,
 'permissions': [entry.permission],
@@ -445,11 +446,11 @@
  'must be declared as dicts')
 
 def register(func):
-if name in wireproto.commandsv2:
+if name in COMMANDS:
 raise error.ProgrammingError('%s command already registered '
  'for version 2' % name)
 
-wireproto.commandsv2[name] = wireprototypes.commandentry(
+COMMANDS[name] = wireprototypes.commandentry(
 func, args=args, transports=transports, permission=permission)
 
 return func
diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
--- a/mercurial/wireproto.py
+++ b/mercurial/wireproto.py
@@ -114,12 +114,8 @@
 
 return ui.configbool('server', 'bundle1')
 
-# For version 1 transports.
 commands = wireprototypes.commanddict()
 
-# For version 2 transports.
-commandsv2 = wireprototypes.commanddict()
-
 def wireprotocommand(name, args=None, permission='push'):
 """Decorator to declare a wire protocol command.
 



To: indygreg, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel