##// END OF EJS Templates
internals: extract frame-based protocol docs to own document...
internals: extract frame-based protocol docs to own document wireprotocol.txt is quite long and difficult to digest. The frame-based protocol is effectively a standalone concept (and could even be used outside of Mercurial). So this commit extracts its docs to a standalone file. The first few paragraphs were rewritten as part of the extraction. Sections headers were adjusted accordingly. Existing referalls in wireprotocol.txt were updated to refer to the new doc / concept, which I've started referring to as `hgrpc`. I'm on the fence as to whether to move the HTTP and SSH transport details to the new doc as well. For now, I'm leaving them in wireprotocol.txt. Differential Revision: https://phab.mercurial-scm.org/D4443

File last commit:

r39096:b3c6c194 default
r39594:b0e0db15 default
Show More
wireprotohelpers.sh
58 lines | 1.5 KiB | application/x-sh | BashLexer
/ tests / wireprotohelpers.sh
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500 HTTPV2=exp-http-v2-0001
Gregory Szorc
wireprotov2: change command response protocol to include a leading map...
r37743 MEDIATYPE=application/mercurial-exp-framing-0005
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500
sendhttpraw() {
hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
}
Gregory Szorc
wireproto: crude support for version 2 HTTP peer...
r37501 sendhttpv2peer() {
Gregory Szorc
debugcommands: ability to suppress logging of handshake...
r37736 hg --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/
}
sendhttpv2peerhandshake() {
Gregory Szorc
wireproto: crude support for version 2 HTTP peer...
r37501 hg --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/
}
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500 cat > dummycommands.py << EOF
from mercurial import (
wireprototypes,
Gregory Szorc
wireproto: rename wireproto to wireprotov1server (API)...
r37803 wireprotov1server,
Gregory Szorc
wireproto: make version 2 @wireprotocommand an independent function...
r37798 wireprotov2server,
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500 )
Augie Fackler
wireprotohelpers: add missing b prefixes...
r39096 @wireprotov1server.wireprotocommand(b'customreadonly', permission=b'pull')
Gregory Szorc
wireproto: make @wireprotocommand version 1 only by default...
r37558 def customreadonlyv1(repo, proto):
return wireprototypes.bytesresponse(b'customreadonly bytes response')
Augie Fackler
wireprotohelpers: add missing b prefixes...
r39096 @wireprotov2server.wireprotocommand(b'customreadonly', permission=b'pull')
Gregory Szorc
wireproto: make @wireprotocommand version 1 only by default...
r37558 def customreadonlyv2(repo, proto):
Gregory Szorc
wireprotov2: define response data as CBOR...
r37740 return wireprototypes.cborresponse(b'customreadonly bytes response')
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500
Augie Fackler
wireprotohelpers: add missing b prefixes...
r39096 @wireprotov1server.wireprotocommand(b'customreadwrite', permission=b'push')
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500 def customreadwrite(repo, proto):
return wireprototypes.bytesresponse(b'customreadwrite bytes response')
Gregory Szorc
wireproto: make @wireprotocommand version 1 only by default...
r37558
Augie Fackler
wireprotohelpers: add missing b prefixes...
r39096 @wireprotov2server.wireprotocommand(b'customreadwrite', permission=b'push')
Gregory Szorc
wireproto: make @wireprotocommand version 1 only by default...
r37558 def customreadwritev2(repo, proto):
Gregory Szorc
wireprotov2: define response data as CBOR...
r37740 return wireprototypes.cborresponse(b'customreadwrite bytes response')
Gregory Szorc
tests: extract wire protocol shell helpers to standalone file...
r37500 EOF
cat >> $HGRCPATH << EOF
[extensions]
drawdag = $TESTDIR/drawdag.py
EOF
enabledummycommands() {
cat >> $HGRCPATH << EOF
[extensions]
dummycommands = $TESTTMP/dummycommands.py
EOF
}
enablehttpv2() {
cat >> $1/.hg/hgrc << EOF
[experimental]
web.apiserver = true
web.api.http-v2 = true
EOF
}