author | Augie Fackler <augie@google.com> |
Thu, 09 Aug 2018 20:08:30 -0700 | |
changeset 39030 | 1eb779a86c4e |
parent 38021 | 538e850ae737 |
child 39378 | 0f549da54379 |
permissions | -rw-r--r-- |
38021
538e850ae737
tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents:
37822
diff
changeset
|
1 |
#require no-chg |
538e850ae737
tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents:
37822
diff
changeset
|
2 |
|
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 |
$ . $TESTDIR/wireprotohelpers.sh |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 |
|
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 |
$ hg init server |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
6 |
|
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
7 |
zstd isn't present in plain builds. Make tests easier by removing |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
8 |
zstd from the equation. |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
9 |
|
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
10 |
$ cat >> server/.hg/hgrc << EOF |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
11 |
> [server] |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
12 |
> compressionengines = zlib |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
13 |
> EOF |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
14 |
|
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
15 |
$ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
16 |
$ cat hg.pid > $DAEMON_PIDS |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
17 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
18 |
A normal capabilities request is serviced for version 1 |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
19 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
20 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
21 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
22 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
23 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
24 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
25 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
26 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
27 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
28 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
29 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
30 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
31 |
s> HTTP/1.1 200 Script output follows\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
32 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
33 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
34 |
s> Content-Type: application/mercurial-0.1\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
35 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
36 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
37 |
s> batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
38 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
39 |
A proper request without the API server enabled returns the legacy response |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
40 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
41 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
42 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
43 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
44 |
> x-hgupgrade-1: foo |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
45 |
> x-hgproto-1: cbor |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
46 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
47 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
48 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
49 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
50 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
51 |
s> x-hgproto-1: cbor\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
52 |
s> x-hgupgrade-1: foo\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
53 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
54 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
55 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
56 |
s> HTTP/1.1 200 Script output follows\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
57 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
58 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
59 |
s> Content-Type: application/mercurial-0.1\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
60 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
61 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
62 |
s> batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
63 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
64 |
Restart with just API server enabled. This enables serving the new format. |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
65 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
66 |
$ killdaemons.py |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
67 |
$ cat error.log |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
68 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
69 |
$ cat >> server/.hg/hgrc << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
70 |
> [experimental] |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
71 |
> web.apiserver = true |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
72 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
73 |
|
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
74 |
$ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
75 |
$ cat hg.pid > $DAEMON_PIDS |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
76 |
|
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
77 |
X-HgUpgrade-<N> without CBOR advertisement uses legacy response |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
78 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
79 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
80 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
81 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
82 |
> x-hgupgrade-1: foo bar |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
83 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
84 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
85 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
86 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
87 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
88 |
s> x-hgupgrade-1: foo bar\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
89 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
90 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
91 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
92 |
s> HTTP/1.1 200 Script output follows\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
93 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
94 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
95 |
s> Content-Type: application/mercurial-0.1\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
96 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
97 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
98 |
s> batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
99 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
100 |
X-HgUpgrade-<N> without known serialization in X-HgProto-<N> uses legacy response |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
101 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
102 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
103 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
104 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
105 |
> x-hgupgrade-1: foo bar |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
106 |
> x-hgproto-1: some value |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
107 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
108 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
109 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
110 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
111 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
112 |
s> x-hgproto-1: some value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
113 |
s> x-hgupgrade-1: foo bar\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
114 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
115 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
116 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
117 |
s> HTTP/1.1 200 Script output follows\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
118 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
119 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
120 |
s> Content-Type: application/mercurial-0.1\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
121 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
122 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
123 |
s> batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
124 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
125 |
X-HgUpgrade-<N> + X-HgProto-<N> headers trigger new response format |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
126 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
127 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
128 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
129 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
130 |
> x-hgupgrade-1: foo bar |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
131 |
> x-hgproto-1: cbor |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
132 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
133 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
134 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
135 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
136 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
137 |
s> x-hgproto-1: cbor\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
138 |
s> x-hgupgrade-1: foo bar\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
139 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
140 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
141 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
142 |
s> HTTP/1.1 200 OK\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
143 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
144 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
145 |
s> Content-Type: application/mercurial-cbor\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
146 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
147 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
148 |
s> \xa3Dapis\xa0GapibaseDapi/Nv1capabilitiesY\x01\xc5batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
149 |
cbor> {b'apibase': b'api/', b'apis': {}, b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'} |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
150 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
151 |
Restart server to enable HTTPv2 |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
152 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
153 |
$ killdaemons.py |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
154 |
$ enablehttpv2 server |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
155 |
$ hg -R server serve -p $HGPORT -d --pid-file hg.pid -E error.log |
37761
ff6b0a20849d
tests: arrange for a server in wireproto-command-capabilities.t to be killed
Matt Harbison <matt_harbison@yahoo.com>
parents:
37725
diff
changeset
|
156 |
$ cat hg.pid > $DAEMON_PIDS |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
157 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
158 |
Only requested API services are returned |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
159 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
160 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
161 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
162 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
163 |
> x-hgupgrade-1: foo bar |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
164 |
> x-hgproto-1: cbor |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
165 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
166 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
167 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
168 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
169 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
170 |
s> x-hgproto-1: cbor\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
171 |
s> x-hgupgrade-1: foo bar\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
172 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
173 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
174 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
175 |
s> HTTP/1.1 200 OK\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
176 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
177 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
178 |
s> Content-Type: application/mercurial-cbor\r\n |
37820
143632f82479
tests: glob away content-length changes relating to missing zstd bindings
Augie Fackler <augie@google.com>
parents:
37761
diff
changeset
|
179 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
180 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
181 |
s> \xa3Dapis\xa0GapibaseDapi/Nv1capabilitiesY\x01\xc5batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
182 |
cbor> {b'apibase': b'api/', b'apis': {}, b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'} |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
183 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
184 |
Request for HTTPv2 service returns information about it |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
185 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
186 |
$ sendhttpraw << EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
187 |
> httprequest GET ?cmd=capabilities |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
188 |
> user-agent: test |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
189 |
> x-hgupgrade-1: exp-http-v2-0001 foo bar |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
190 |
> x-hgproto-1: cbor |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
191 |
> EOF |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
192 |
using raw connection to peer |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
193 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
194 |
s> Accept-Encoding: identity\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
195 |
s> user-agent: test\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
196 |
s> x-hgproto-1: cbor\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
197 |
s> x-hgupgrade-1: exp-http-v2-0001 foo bar\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
198 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
199 |
s> \r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
200 |
s> makefile('rb', None) |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
201 |
s> HTTP/1.1 200 OK\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
202 |
s> Server: testing stub value\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
203 |
s> Date: $HTTP_DATE$\r\n |
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
204 |
s> Content-Type: application/mercurial-cbor\r\n |
37645
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
205 |
s> Content-Length: *\r\n (glob) |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
206 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
207 |
s> \xa3Dapis\xa1Pexp-http-v2-0001\xa4Hcommands\xa7Eheads\xa2Dargs\xa1Jpubliconly\xf4Kpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\x81HdeadbeefKpermissions\x81DpullFlookup\xa2Dargs\xa1CkeyCfooKpermissions\x81DpullGpushkey\xa2Dargs\xa4CkeyCkeyCnewCnewColdColdInamespaceBnsKpermissions\x81DpushHlistkeys\xa2Dargs\xa1InamespaceBnsKpermissions\x81DpullIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullKcompression\x81\xa1DnameDzlibNrawrepoformats\x82LgeneraldeltaHrevlogv1Qframingmediatypes\x81X&application/mercurial-exp-framing-0005GapibaseDapi/Nv1capabilitiesY\x01\xc5batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
208 |
cbor> {b'apibase': b'api/', b'apis': {b'exp-http-v2-0001': {b'commands': {b'branchmap': {b'args': {}, b'permissions': [b'pull']}, b'capabilities': {b'args': {}, b'permissions': [b'pull']}, b'heads': {b'args': {b'publiconly': False}, b'permissions': [b'pull']}, b'known': {b'args': {b'nodes': [b'deadbeef']}, b'permissions': [b'pull']}, b'listkeys': {b'args': {b'namespace': b'ns'}, b'permissions': [b'pull']}, b'lookup': {b'args': {b'key': b'foo'}, b'permissions': [b'pull']}, b'pushkey': {b'args': {b'key': b'key', b'namespace': b'ns', b'new': b'new', b'old': b'old'}, b'permissions': [b'push']}}, b'compression': [{b'name': b'zlib'}], b'framingmediatypes': [b'application/mercurial-exp-framing-0005'], b'rawrepoformats': [b'generaldelta', b'revlogv1']}}, b'v1capabilities': b'batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash'} |
37557
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
209 |
|
734515aca84d
wireproto: define and implement HTTP handshake to upgrade protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37539
diff
changeset
|
210 |
capabilities command returns expected info |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
211 |
|
37718
ad1c07008e0b
debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37657
diff
changeset
|
212 |
$ sendhttpv2peerhandshake << EOF |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
213 |
> command capabilities |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
214 |
> EOF |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
215 |
creating http peer for wire protocol version 2 |
37718
ad1c07008e0b
debugcommands: ability to suppress logging of handshake
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37657
diff
changeset
|
216 |
s> GET /?cmd=capabilities HTTP/1.1\r\n |
37645
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
217 |
s> Accept-Encoding: identity\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
218 |
s> vary: X-HgProto-1,X-HgUpgrade-1\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
219 |
s> x-hgproto-1: cbor\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
220 |
s> x-hgupgrade-1: exp-http-v2-0001\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
221 |
s> accept: application/mercurial-0.1\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
222 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
223 |
s> user-agent: Mercurial debugwireproto\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
224 |
s> \r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
225 |
s> makefile('rb', None) |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
226 |
s> HTTP/1.1 200 OK\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
227 |
s> Server: testing stub value\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
228 |
s> Date: $HTTP_DATE$\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
229 |
s> Content-Type: application/mercurial-cbor\r\n |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
230 |
s> Content-Length: *\r\n (glob) |
72b0982cd509
debugcommands: perform handshake when obtaining httpv2 peer
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37557
diff
changeset
|
231 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
232 |
s> \xa3Dapis\xa1Pexp-http-v2-0001\xa4Hcommands\xa7Eheads\xa2Dargs\xa1Jpubliconly\xf4Kpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\x81HdeadbeefKpermissions\x81DpullFlookup\xa2Dargs\xa1CkeyCfooKpermissions\x81DpullGpushkey\xa2Dargs\xa4CkeyCkeyCnewCnewColdColdInamespaceBnsKpermissions\x81DpushHlistkeys\xa2Dargs\xa1InamespaceBnsKpermissions\x81DpullIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullKcompression\x81\xa1DnameDzlibNrawrepoformats\x82LgeneraldeltaHrevlogv1Qframingmediatypes\x81X&application/mercurial-exp-framing-0005GapibaseDapi/Nv1capabilitiesY\x01\xc5batch branchmap $USUAL_BUNDLE2_CAPS_SERVER$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
233 |
sending capabilities command |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
234 |
s> POST /api/exp-http-v2-0001/ro/capabilities HTTP/1.1\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
235 |
s> Accept-Encoding: identity\r\n |
37722
89a16704114c
wireprotov2: define response data as CBOR
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37718
diff
changeset
|
236 |
s> *\r\n (glob) |
37725
3ea8323d6f95
wireprotov2: change command response protocol to include a leading map
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37724
diff
changeset
|
237 |
s> content-type: application/mercurial-exp-framing-0005\r\n |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
238 |
s> content-length: 27\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
239 |
s> host: $LOCALIP:$HGPORT\r\n (glob) |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
240 |
s> user-agent: Mercurial debugwireproto\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
241 |
s> \r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
242 |
s> \x13\x00\x00\x01\x00\x01\x01\x11\xa1DnameLcapabilities |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
243 |
s> makefile('rb', None) |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
244 |
s> HTTP/1.1 200 OK\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
245 |
s> Server: testing stub value\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
246 |
s> Date: $HTTP_DATE$\r\n |
37725
3ea8323d6f95
wireprotov2: change command response protocol to include a leading map
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37724
diff
changeset
|
247 |
s> Content-Type: application/mercurial-exp-framing-0005\r\n |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
248 |
s> Transfer-Encoding: chunked\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
249 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
250 |
s> 1d7\r\n |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
251 |
s> \xcf\x01\x00\x01\x00\x02\x012 |
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
252 |
s> \xa1FstatusBok\xa4Hcommands\xa7Eheads\xa2Dargs\xa1Jpubliconly\xf4Kpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\x81HdeadbeefKpermissions\x81DpullFlookup\xa2Dargs\xa1CkeyCfooKpermissions\x81DpullGpushkey\xa2Dargs\xa4CkeyCkeyCnewCnewColdColdInamespaceBnsKpermissions\x81DpushHlistkeys\xa2Dargs\xa1InamespaceBnsKpermissions\x81DpullIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullKcompression\x81\xa1DnameDzlibNrawrepoformats\x82LgeneraldeltaHrevlogv1Qframingmediatypes\x81X&application/mercurial-exp-framing-0005 |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
253 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
254 |
received frame(size=463; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=eos) |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
255 |
s> 0\r\n |
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
256 |
s> \r\n |
37822
da07c781aba9
tests: explicitly define compression engines for tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37820
diff
changeset
|
257 |
response: [{b'status': b'ok'}, {b'commands': {b'branchmap': {b'args': {}, b'permissions': [b'pull']}, b'capabilities': {b'args': {}, b'permissions': [b'pull']}, b'heads': {b'args': {b'publiconly': False}, b'permissions': [b'pull']}, b'known': {b'args': {b'nodes': [b'deadbeef']}, b'permissions': [b'pull']}, b'listkeys': {b'args': {b'namespace': b'ns'}, b'permissions': [b'pull']}, b'lookup': {b'args': {b'key': b'foo'}, b'permissions': [b'pull']}, b'pushkey': {b'args': {b'key': b'key', b'namespace': b'ns', b'new': b'new', b'old': b'old'}, b'permissions': [b'push']}}, b'compression': [{b'name': b'zlib'}], b'framingmediatypes': [b'application/mercurial-exp-framing-0005'], b'rawrepoformats': [b'generaldelta', b'revlogv1']}] |
37533
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
258 |
|
df4985497986
wireproto: implement capabilities for wire protocol v2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
259 |
$ cat error.log |