Show More
@@ -574,6 +574,9 coreconfigitem('experimental', 'hook-tra | |||
|
574 | 574 | coreconfigitem('experimental', 'httppeer.advertise-v2', |
|
575 | 575 | default=False, |
|
576 | 576 | ) |
|
577 | coreconfigitem('experimental', 'httppeer.v2-encoder-order', | |
|
578 | default=None, | |
|
579 | ) | |
|
577 | 580 | coreconfigitem('experimental', 'httppostargs', |
|
578 | 581 | default=False, |
|
579 | 582 | ) |
@@ -514,9 +514,27 class httppeer(wireprotov1peer.wirepeer) | |||
|
514 | 514 | |
|
515 | 515 | def sendv2request(ui, opener, requestbuilder, apiurl, permission, requests, |
|
516 | 516 | redirect): |
|
517 | wireprotoframing.populatestreamencoders() | |
|
518 | ||
|
519 | uiencoders = ui.configlist(b'experimental', b'httppeer.v2-encoder-order') | |
|
520 | ||
|
521 | if uiencoders: | |
|
522 | encoders = [] | |
|
523 | ||
|
524 | for encoder in uiencoders: | |
|
525 | if encoder not in wireprotoframing.STREAM_ENCODERS: | |
|
526 | ui.warn(_(b'wire protocol version 2 encoder referenced in ' | |
|
527 | b'config (%s) is not known; ignoring\n') % encoder) | |
|
528 | else: | |
|
529 | encoders.append(encoder) | |
|
530 | ||
|
531 | else: | |
|
532 | encoders = wireprotoframing.STREAM_ENCODERS_ORDER | |
|
533 | ||
|
517 | 534 | reactor = wireprotoframing.clientreactor(ui, |
|
518 | 535 | hasmultiplesend=False, |
|
519 |
buffersends=True |
|
|
536 | buffersends=True, | |
|
537 | clientcontentencoders=encoders) | |
|
520 | 538 | |
|
521 | 539 | handler = wireprotov2peer.clienthandler(ui, reactor, |
|
522 | 540 | opener=opener, |
@@ -1548,7 +1548,8 class clientreactor(object): | |||
|
1548 | 1548 | is expected to follow or we're at the end of the response stream, |
|
1549 | 1549 | respectively. |
|
1550 | 1550 | """ |
|
1551 |
def __init__(self, ui, hasmultiplesend=False, buffersends=True |
|
|
1551 | def __init__(self, ui, hasmultiplesend=False, buffersends=True, | |
|
1552 | clientcontentencoders=None): | |
|
1552 | 1553 | """Create a new instance. |
|
1553 | 1554 | |
|
1554 | 1555 | ``hasmultiplesend`` indicates whether multiple sends are supported |
@@ -1558,13 +1559,20 class clientreactor(object): | |||
|
1558 | 1559 | |
|
1559 | 1560 | ``buffercommands`` indicates whether sends should be buffered until the |
|
1560 | 1561 | last request has been issued. |
|
1562 | ||
|
1563 | ``clientcontentencoders`` is an iterable of content encoders the client | |
|
1564 | will advertise to the server and that the server can use for encoding | |
|
1565 | data. If not defined, the client will not advertise content encoders | |
|
1566 | to the server. | |
|
1561 | 1567 | """ |
|
1562 | 1568 | self._ui = ui |
|
1563 | 1569 | self._hasmultiplesend = hasmultiplesend |
|
1564 | 1570 | self._buffersends = buffersends |
|
1571 | self._clientcontentencoders = clientcontentencoders | |
|
1565 | 1572 | |
|
1566 | 1573 | self._canissuecommands = True |
|
1567 | 1574 | self._cansend = True |
|
1575 | self._protocolsettingssent = False | |
|
1568 | 1576 | |
|
1569 | 1577 | self._nextrequestid = 1 |
|
1570 | 1578 | # We only support a single outgoing stream for now. |
@@ -1651,6 +1659,19 class clientreactor(object): | |||
|
1651 | 1659 | self._activerequests[request.requestid] = request |
|
1652 | 1660 | request.state = 'sending' |
|
1653 | 1661 | |
|
1662 | if not self._protocolsettingssent and self._clientcontentencoders: | |
|
1663 | self._protocolsettingssent = True | |
|
1664 | ||
|
1665 | payload = b''.join(cborutil.streamencode({ | |
|
1666 | b'contentencodings': self._clientcontentencoders, | |
|
1667 | })) | |
|
1668 | ||
|
1669 | yield self._outgoingstream.makeframe( | |
|
1670 | requestid=request.requestid, | |
|
1671 | typeid=FRAME_TYPE_SENDER_PROTOCOL_SETTINGS, | |
|
1672 | flags=FLAG_SENDER_PROTOCOL_SETTINGS_EOS, | |
|
1673 | payload=payload) | |
|
1674 | ||
|
1654 | 1675 | res = createcommandframes(self._outgoingstream, |
|
1655 | 1676 | request.requestid, |
|
1656 | 1677 | request.name, |
@@ -29,7 +29,7 from .utils import ( | |||
|
29 | 29 | stringutil, |
|
30 | 30 | ) |
|
31 | 31 | |
|
32 |
FRAMINGTYPE = b'application/mercurial-exp-framing-000 |
|
|
32 | FRAMINGTYPE = b'application/mercurial-exp-framing-0006' | |
|
33 | 33 | |
|
34 | 34 | HTTP_WIREPROTO_V2 = wireprototypes.HTTP_WIREPROTO_V2 |
|
35 | 35 |
@@ -100,7 +100,7 Missing Accept header results in 406 | |||
|
100 | 100 | s> Content-Type: text/plain\r\n |
|
101 | 101 | s> Content-Length: 85\r\n |
|
102 | 102 | s> \r\n |
|
103 |
s> client MUST specify Accept header with value: application/mercurial-exp-framing-000 |
|
|
103 | s> client MUST specify Accept header with value: application/mercurial-exp-framing-0006\n | |
|
104 | 104 | |
|
105 | 105 | Bad Accept header results in 406 |
|
106 | 106 | |
@@ -123,7 +123,7 Bad Accept header results in 406 | |||
|
123 | 123 | s> Content-Type: text/plain\r\n |
|
124 | 124 | s> Content-Length: 85\r\n |
|
125 | 125 | s> \r\n |
|
126 |
s> client MUST specify Accept header with value: application/mercurial-exp-framing-000 |
|
|
126 | s> client MUST specify Accept header with value: application/mercurial-exp-framing-0006\n | |
|
127 | 127 | |
|
128 | 128 | Bad Content-Type header results in 415 |
|
129 | 129 | |
@@ -136,7 +136,7 Bad Content-Type header results in 415 | |||
|
136 | 136 | using raw connection to peer |
|
137 | 137 | s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n |
|
138 | 138 | s> Accept-Encoding: identity\r\n |
|
139 |
s> accept: application/mercurial-exp-framing-000 |
|
|
139 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
140 | 140 | s> content-type: badmedia\r\n |
|
141 | 141 | s> user-agent: test\r\n |
|
142 | 142 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -148,7 +148,7 Bad Content-Type header results in 415 | |||
|
148 | 148 | s> Content-Type: text/plain\r\n |
|
149 | 149 | s> Content-Length: 88\r\n |
|
150 | 150 | s> \r\n |
|
151 |
s> client MUST send Content-Type header with value: application/mercurial-exp-framing-000 |
|
|
151 | s> client MUST send Content-Type header with value: application/mercurial-exp-framing-0006\n | |
|
152 | 152 | |
|
153 | 153 | Request to read-only command works out of the box |
|
154 | 154 | |
@@ -163,7 +163,7 Request to read-only command works out o | |||
|
163 | 163 | s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n |
|
164 | 164 | s> Accept-Encoding: identity\r\n |
|
165 | 165 | s> *\r\n (glob) |
|
166 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
166 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
167 | 167 | s> user-agent: test\r\n |
|
168 | 168 | s> content-length: 29\r\n |
|
169 | 169 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -173,7 +173,7 Request to read-only command works out o | |||
|
173 | 173 | s> HTTP/1.1 200 OK\r\n |
|
174 | 174 | s> Server: testing stub value\r\n |
|
175 | 175 | s> Date: $HTTP_DATE$\r\n |
|
176 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
176 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
177 | 177 | s> Transfer-Encoding: chunked\r\n |
|
178 | 178 | s> \r\n |
|
179 | 179 | s> 13\r\n |
@@ -195,18 +195,18 Request to read-only command works out o | |||
|
195 | 195 | sending customreadonly command |
|
196 | 196 | s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n |
|
197 | 197 | s> Accept-Encoding: identity\r\n |
|
198 |
s> accept: application/mercurial-exp-framing-000 |
|
|
199 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
200 |
s> content-length: |
|
|
198 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
199 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
200 | s> content-length: 65\r\n | |
|
201 | 201 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
202 | 202 | s> user-agent: Mercurial debugwireproto\r\n |
|
203 | 203 | s> \r\n |
|
204 |
s> \x1 |
|
|
204 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x15\x00\x00\x01\x00\x01\x00\x11\xa1DnameNcustomreadonly | |
|
205 | 205 | s> makefile('rb', None) |
|
206 | 206 | s> HTTP/1.1 200 OK\r\n |
|
207 | 207 | s> Server: testing stub value\r\n |
|
208 | 208 | s> Date: $HTTP_DATE$\r\n |
|
209 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
209 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
210 | 210 | s> Transfer-Encoding: chunked\r\n |
|
211 | 211 | s> \r\n |
|
212 | 212 | s> 13\r\n |
@@ -321,8 +321,8 Authorized request for valid read-write | |||
|
321 | 321 | using raw connection to peer |
|
322 | 322 | s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n |
|
323 | 323 | s> Accept-Encoding: identity\r\n |
|
324 |
s> accept: application/mercurial-exp-framing-000 |
|
|
325 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
324 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
325 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
326 | 326 | s> user-agent: test\r\n |
|
327 | 327 | s> content-length: 29\r\n |
|
328 | 328 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -332,7 +332,7 Authorized request for valid read-write | |||
|
332 | 332 | s> HTTP/1.1 200 OK\r\n |
|
333 | 333 | s> Server: testing stub value\r\n |
|
334 | 334 | s> Date: $HTTP_DATE$\r\n |
|
335 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
335 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
336 | 336 | s> Transfer-Encoding: chunked\r\n |
|
337 | 337 | s> \r\n |
|
338 | 338 | s> 13\r\n |
@@ -357,7 +357,7 Authorized request for unknown command i | |||
|
357 | 357 | using raw connection to peer |
|
358 | 358 | s> POST /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n |
|
359 | 359 | s> Accept-Encoding: identity\r\n |
|
360 |
s> accept: application/mercurial-exp-framing-000 |
|
|
360 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
361 | 361 | s> user-agent: test\r\n |
|
362 | 362 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
363 | 363 | s> \r\n |
@@ -419,8 +419,8 Command frames can be reflected via debu | |||
|
419 | 419 | using raw connection to peer |
|
420 | 420 | s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n |
|
421 | 421 | s> Accept-Encoding: identity\r\n |
|
422 |
s> accept: application/mercurial-exp-framing-000 |
|
|
423 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
422 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
423 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
424 | 424 | s> user-agent: test\r\n |
|
425 | 425 | s> content-length: 47\r\n |
|
426 | 426 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -450,8 +450,8 Multiple requests to regular command URL | |||
|
450 | 450 | using raw connection to peer |
|
451 | 451 | s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n |
|
452 | 452 | s> Accept-Encoding: identity\r\n |
|
453 |
s> accept: application/mercurial-exp-framing-000 |
|
|
454 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
453 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
454 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
455 | 455 | s> user-agent: test\r\n |
|
456 | 456 | s> content-length: 29\r\n |
|
457 | 457 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -461,7 +461,7 Multiple requests to regular command URL | |||
|
461 | 461 | s> HTTP/1.1 200 OK\r\n |
|
462 | 462 | s> Server: testing stub value\r\n |
|
463 | 463 | s> Date: $HTTP_DATE$\r\n |
|
464 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
464 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
465 | 465 | s> Transfer-Encoding: chunked\r\n |
|
466 | 466 | s> \r\n |
|
467 | 467 | s> 13\r\n |
@@ -500,7 +500,7 Multiple requests to "multirequest" URL | |||
|
500 | 500 | s> HTTP/1.1 200 OK\r\n |
|
501 | 501 | s> Server: testing stub value\r\n |
|
502 | 502 | s> Date: $HTTP_DATE$\r\n |
|
503 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
503 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
504 | 504 | s> Transfer-Encoding: chunked\r\n |
|
505 | 505 | s> \r\n |
|
506 | 506 | s> 13\r\n |
@@ -539,8 +539,8 Interleaved requests to "multirequest" a | |||
|
539 | 539 | using raw connection to peer |
|
540 | 540 | s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n |
|
541 | 541 | s> Accept-Encoding: identity\r\n |
|
542 |
s> accept: application/mercurial-exp-framing-000 |
|
|
543 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
542 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
543 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
544 | 544 | s> user-agent: test\r\n |
|
545 | 545 | s> content-length: 115\r\n |
|
546 | 546 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -550,7 +550,7 Interleaved requests to "multirequest" a | |||
|
550 | 550 | s> HTTP/1.1 200 OK\r\n |
|
551 | 551 | s> Server: testing stub value\r\n |
|
552 | 552 | s> Date: $HTTP_DATE$\r\n |
|
553 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
553 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
554 | 554 | s> Transfer-Encoding: chunked\r\n |
|
555 | 555 | s> \r\n |
|
556 | 556 | s> 13\r\n |
@@ -601,8 +601,8 Attempting to run a read-write command v | |||
|
601 | 601 | using raw connection to peer |
|
602 | 602 | s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n |
|
603 | 603 | s> Accept-Encoding: identity\r\n |
|
604 |
s> accept: application/mercurial-exp-framing-000 |
|
|
605 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
604 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
605 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
606 | 606 | s> user-agent: test\r\n |
|
607 | 607 | s> content-length: 22\r\n |
|
608 | 608 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -617,4 +617,95 Attempting to run a read-write command v | |||
|
617 | 617 | s> \r\n |
|
618 | 618 | s> insufficient permissions to execute command: pushkey |
|
619 | 619 | |
|
620 | Defining an invalid content encoding results in warning | |
|
621 | ||
|
622 | $ hg --config experimental.httppeer.v2-encoder-order=identity,badencoder --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ << EOF | |
|
623 | > command heads | |
|
624 | > EOF | |
|
625 | creating http peer for wire protocol version 2 | |
|
626 | sending heads command | |
|
627 | wire protocol version 2 encoder referenced in config (badencoder) is not known; ignoring | |
|
628 | s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n | |
|
629 | s> Accept-Encoding: identity\r\n | |
|
630 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
631 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
632 | s> content-length: 56\r\n | |
|
633 | s> host: $LOCALIP:$HGPORT\r\n (glob) | |
|
634 | s> user-agent: Mercurial debugwireproto\r\n | |
|
635 | s> \r\n | |
|
636 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x0c\x00\x00\x01\x00\x01\x00\x11\xa1DnameEheads | |
|
637 | s> makefile('rb', None) | |
|
638 | s> HTTP/1.1 200 OK\r\n | |
|
639 | s> Server: testing stub value\r\n | |
|
640 | s> Date: $HTTP_DATE$\r\n | |
|
641 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
642 | s> Transfer-Encoding: chunked\r\n | |
|
643 | s> \r\n | |
|
644 | s> 13\r\n | |
|
645 | s> \x0b\x00\x00\x01\x00\x02\x011 | |
|
646 | s> \xa1FstatusBok | |
|
647 | s> \r\n | |
|
648 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) | |
|
649 | s> 1e\r\n | |
|
650 | s> \x16\x00\x00\x01\x00\x02\x001 | |
|
651 | s> \x81T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 | |
|
652 | s> \r\n | |
|
653 | received frame(size=22; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
654 | s> 8\r\n | |
|
655 | s> \x00\x00\x00\x01\x00\x02\x002 | |
|
656 | s> \r\n | |
|
657 | s> 0\r\n | |
|
658 | s> \r\n | |
|
659 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) | |
|
660 | response: [ | |
|
661 | b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' | |
|
662 | ] | |
|
663 | (sent 2 HTTP requests and * bytes; received * bytes in responses) (glob) | |
|
664 | ||
|
665 | #if zstd | |
|
666 | ||
|
667 | $ hg --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ << EOF | |
|
668 | > command heads | |
|
669 | > EOF | |
|
670 | creating http peer for wire protocol version 2 | |
|
671 | sending heads command | |
|
672 | s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n | |
|
673 | s> Accept-Encoding: identity\r\n | |
|
674 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
675 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
676 | s> content-length: 70\r\n | |
|
677 | s> host: $LOCALIP:$HGPORT\r\n (glob) | |
|
678 | s> user-agent: Mercurial debugwireproto\r\n | |
|
679 | s> \r\n | |
|
680 | s> *\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x83Hzstd-8mbDzlibHidentity\x0c\x00\x00\x01\x00\x01\x00\x11\xa1DnameEheads | |
|
681 | s> makefile('rb', None) | |
|
682 | s> HTTP/1.1 200 OK\r\n | |
|
683 | s> Server: testing stub value\r\n | |
|
684 | s> Date: $HTTP_DATE$\r\n | |
|
685 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
686 | s> Transfer-Encoding: chunked\r\n | |
|
687 | s> \r\n | |
|
688 | s> 13\r\n | |
|
689 | s> \x0b\x00\x00\x01\x00\x02\x011 | |
|
690 | s> \xa1FstatusBok | |
|
691 | s> \r\n | |
|
692 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) | |
|
693 | s> 1e\r\n | |
|
694 | s> \x16\x00\x00\x01\x00\x02\x001 | |
|
695 | s> \x81T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 | |
|
696 | s> \r\n | |
|
697 | received frame(size=22; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
698 | s> 8\r\n | |
|
699 | s> \x00\x00\x00\x01\x00\x02\x002 | |
|
700 | s> \r\n | |
|
701 | s> 0\r\n | |
|
702 | s> \r\n | |
|
703 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) | |
|
704 | response: [ | |
|
705 | b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' | |
|
706 | ] | |
|
707 | (sent 2 HTTP requests and * bytes; received * bytes in responses) (glob) | |
|
708 | ||
|
709 | #endif | |
|
710 | ||
|
620 | 711 | $ cat error.log |
@@ -296,7 +296,7 Client with HTTPv2 enabled advertises th | |||
|
296 | 296 | |
|
297 | 297 | Client with HTTPv2 enabled automatically upgrades if the server supports it |
|
298 | 298 | |
|
299 | $ hg --config experimental.httppeer.advertise-v2=true --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF | |
|
299 | $ hg --config experimental.httppeer.advertise-v2=true --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF | |
|
300 | 300 | > command heads |
|
301 | 301 | > EOF |
|
302 | 302 | s> GET /?cmd=capabilities HTTP/1.1\r\n |
@@ -315,22 +315,22 Client with HTTPv2 enabled automatically | |||
|
315 | 315 | s> Content-Type: application/mercurial-cbor\r\n |
|
316 | 316 | s> Content-Length: *\r\n (glob) |
|
317 | 317 | s> \r\n |
|
318 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
318 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
319 | 319 | sending heads command |
|
320 | 320 | s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n |
|
321 | 321 | s> Accept-Encoding: identity\r\n |
|
322 |
s> accept: application/mercurial-exp-framing-000 |
|
|
323 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
324 |
s> content-length: |
|
|
322 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
323 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
324 | s> content-length: 56\r\n | |
|
325 | 325 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
326 | 326 | s> user-agent: Mercurial debugwireproto\r\n |
|
327 | 327 | s> \r\n |
|
328 |
s> \x |
|
|
328 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x0c\x00\x00\x01\x00\x01\x00\x11\xa1DnameEheads | |
|
329 | 329 | s> makefile('rb', None) |
|
330 | 330 | s> HTTP/1.1 200 OK\r\n |
|
331 | 331 | s> Server: testing stub value\r\n |
|
332 | 332 | s> Date: $HTTP_DATE$\r\n |
|
333 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
333 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
334 | 334 | s> Transfer-Encoding: chunked\r\n |
|
335 | 335 | s> \r\n |
|
336 | 336 | s> 13\r\n |
@@ -121,13 +121,13 Sending different request doesn't yield | |||
|
121 | 121 | |
|
122 | 122 | $ cat .hg/blackbox.log |
|
123 | 123 | *> cacher constructed for manifestdata (glob) |
|
124 | *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
125 | *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
124 | *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
125 | *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
126 | 126 | *> cacher constructed for manifestdata (glob) |
|
127 | *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
127 | *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
128 | 128 | *> cacher constructed for manifestdata (glob) |
|
129 | *> cache miss for 6ed2f740a1cdd12c9e99c4f27695543143c26a11 (glob) | |
|
130 | *> storing cache entry for 6ed2f740a1cdd12c9e99c4f27695543143c26a11 (glob) | |
|
129 | *> cache miss for 1cf89363ec234c6b92d5961281eaa5713e7493f9 (glob) | |
|
130 | *> storing cache entry for 1cf89363ec234c6b92d5961281eaa5713e7493f9 (glob) | |
|
131 | 131 | |
|
132 | 132 | $ cat error.log |
|
133 | 133 | |
@@ -188,10 +188,10 Try with object caching mode | |||
|
188 | 188 | |
|
189 | 189 | $ cat .hg/blackbox.log |
|
190 | 190 | *> cacher constructed for manifestdata (glob) |
|
191 | *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
192 | *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
191 | *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
192 | *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
193 | 193 | *> cacher constructed for manifestdata (glob) |
|
194 | *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
194 | *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
195 | 195 | |
|
196 | 196 | $ cat error.log |
|
197 | 197 | |
@@ -384,7 +384,7 A non-cacheable command does not instant | |||
|
384 | 384 | } |
|
385 | 385 | }, |
|
386 | 386 | b'framingmediatypes': [ |
|
387 |
b'application/mercurial-exp-framing-000 |
|
|
387 | b'application/mercurial-exp-framing-0006' | |
|
388 | 388 | ], |
|
389 | 389 | b'pathfilterprefixes': set([ |
|
390 | 390 | b'path:', |
@@ -415,7 +415,7 An error is not cached | |||
|
415 | 415 | |
|
416 | 416 | $ cat .hg/blackbox.log |
|
417 | 417 | *> cacher constructed for manifestdata (glob) |
|
418 | *> cache miss for 9d1bb421d99e913d45f2d099aa49728514292dd2 (glob) | |
|
418 | *> cache miss for 904560928eb95650358f0829d9399b256822eb26 (glob) | |
|
419 | 419 | *> cacher exiting due to error (glob) |
|
420 | 420 | |
|
421 | 421 | $ killdaemons.py |
@@ -216,7 +216,7 Request for HTTPv2 service returns infor | |||
|
216 | 216 | s> Content-Type: application/mercurial-cbor\r\n |
|
217 | 217 | s> Content-Length: *\r\n (glob) |
|
218 | 218 | s> \r\n |
|
219 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
219 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
220 | 220 | cbor> [ |
|
221 | 221 | { |
|
222 | 222 | b'apibase': b'api/', |
@@ -397,7 +397,7 Request for HTTPv2 service returns infor | |||
|
397 | 397 | } |
|
398 | 398 | }, |
|
399 | 399 | b'framingmediatypes': [ |
|
400 |
b'application/mercurial-exp-framing-000 |
|
|
400 | b'application/mercurial-exp-framing-0006' | |
|
401 | 401 | ], |
|
402 | 402 | b'pathfilterprefixes': set([ |
|
403 | 403 | b'path:', |
@@ -435,22 +435,22 capabilities command returns expected in | |||
|
435 | 435 | s> Content-Type: application/mercurial-cbor\r\n |
|
436 | 436 | s> Content-Length: *\r\n (glob) |
|
437 | 437 | s> \r\n |
|
438 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
438 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
439 | 439 | sending capabilities command |
|
440 | 440 | s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n |
|
441 | 441 | s> Accept-Encoding: identity\r\n |
|
442 |
s> accept: application/mercurial-exp-framing-000 |
|
|
443 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
444 |
s> content-length: |
|
|
442 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
443 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
444 | s> content-length: 63\r\n | |
|
445 | 445 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
446 | 446 | s> user-agent: Mercurial debugwireproto\r\n |
|
447 | 447 | s> \r\n |
|
448 |
s> \x1 |
|
|
448 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x13\x00\x00\x01\x00\x01\x00\x11\xa1DnameLcapabilities | |
|
449 | 449 | s> makefile('rb', None) |
|
450 | 450 | s> HTTP/1.1 200 OK\r\n |
|
451 | 451 | s> Server: testing stub value\r\n |
|
452 | 452 | s> Date: $HTTP_DATE$\r\n |
|
453 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
453 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
454 | 454 | s> Transfer-Encoding: chunked\r\n |
|
455 | 455 | s> \r\n |
|
456 | 456 | s> 13\r\n |
@@ -460,7 +460,7 capabilities command returns expected in | |||
|
460 | 460 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) |
|
461 | 461 | s> 508\r\n |
|
462 | 462 | s> \x00\x05\x00\x01\x00\x02\x001 |
|
463 |
s> \xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
463 | s> \xa4Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1 | |
|
464 | 464 | s> \r\n |
|
465 | 465 | received frame(size=1280; request=1; stream=2; streamflags=; type=command-response; flags=continuation) |
|
466 | 466 | s> 8\r\n |
@@ -646,7 +646,7 capabilities command returns expected in | |||
|
646 | 646 | } |
|
647 | 647 | }, |
|
648 | 648 | b'framingmediatypes': [ |
|
649 |
b'application/mercurial-exp-framing-000 |
|
|
649 | b'application/mercurial-exp-framing-0006' | |
|
650 | 650 | ], |
|
651 | 651 | b'pathfilterprefixes': set([ |
|
652 | 652 | b'path:', |
@@ -67,23 +67,23 Redirect targets advertised when configu | |||
|
67 | 67 | s> Content-Type: application/mercurial-cbor\r\n |
|
68 | 68 | s> Content-Length: 1930\r\n |
|
69 | 69 | s> \r\n |
|
70 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
70 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa5DnameHtarget-aHprotocolDhttpKsnirequired\xf4Ktlsversions\x82C1.2C1.3Duris\x81Shttp://example.com/Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
71 | 71 | (remote redirect target target-a is compatible) |
|
72 | 72 | sending capabilities command |
|
73 | 73 | s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n |
|
74 | 74 | s> Accept-Encoding: identity\r\n |
|
75 |
s> accept: application/mercurial-exp-framing-000 |
|
|
76 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
77 |
s> content-length: |
|
|
75 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
76 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
77 | s> content-length: 111\r\n | |
|
78 | 78 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
79 | 79 | s> user-agent: Mercurial debugwireproto\r\n |
|
80 | 80 | s> \r\n |
|
81 |
s> |
|
|
81 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81HidentityC\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81Htarget-a | |
|
82 | 82 | s> makefile('rb', None) |
|
83 | 83 | s> HTTP/1.1 200 OK\r\n |
|
84 | 84 | s> Server: testing stub value\r\n |
|
85 | 85 | s> Date: $HTTP_DATE$\r\n |
|
86 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
86 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
87 | 87 | s> Transfer-Encoding: chunked\r\n |
|
88 | 88 | s> \r\n |
|
89 | 89 | s> 13\r\n |
@@ -93,7 +93,7 Redirect targets advertised when configu | |||
|
93 | 93 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) |
|
94 | 94 | s> 588\r\n |
|
95 | 95 | s> \x80\x05\x00\x01\x00\x02\x001 |
|
96 |
s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
96 | s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa5DnameHtarget-aHprotocolDhttpKsnirequired\xf4Ktlsversions\x82C1.2C1.3Duris\x81Shttp://example.com/ | |
|
97 | 97 | s> \r\n |
|
98 | 98 | received frame(size=1408; request=1; stream=2; streamflags=; type=command-response; flags=continuation) |
|
99 | 99 | s> 8\r\n |
@@ -279,7 +279,7 Redirect targets advertised when configu | |||
|
279 | 279 | } |
|
280 | 280 | }, |
|
281 | 281 | b'framingmediatypes': [ |
|
282 |
b'application/mercurial-exp-framing-000 |
|
|
282 | b'application/mercurial-exp-framing-0006' | |
|
283 | 283 | ], |
|
284 | 284 | b'pathfilterprefixes': set([ |
|
285 | 285 | b'path:', |
@@ -350,24 +350,24 Unknown protocol is filtered from compat | |||
|
350 | 350 | s> Content-Type: application/mercurial-cbor\r\n |
|
351 | 351 | s> Content-Length: 1957\r\n |
|
352 | 352 | s> \r\n |
|
353 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
353 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x82\xa3DnameHtarget-aHprotocolDhttpDuris\x81Shttp://example.com/\xa3DnameHtarget-bHprotocolGunknownDuris\x81Vunknown://example.com/Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
354 | 354 | (remote redirect target target-a is compatible) |
|
355 | 355 | (remote redirect target target-b uses unsupported protocol: unknown) |
|
356 | 356 | sending capabilities command |
|
357 | 357 | s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n |
|
358 | 358 | s> Accept-Encoding: identity\r\n |
|
359 |
s> accept: application/mercurial-exp-framing-000 |
|
|
360 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
361 |
s> content-length: |
|
|
359 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
360 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
361 | s> content-length: 111\r\n | |
|
362 | 362 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
363 | 363 | s> user-agent: Mercurial debugwireproto\r\n |
|
364 | 364 | s> \r\n |
|
365 |
s> |
|
|
365 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81HidentityC\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81Htarget-a | |
|
366 | 366 | s> makefile('rb', None) |
|
367 | 367 | s> HTTP/1.1 200 OK\r\n |
|
368 | 368 | s> Server: testing stub value\r\n |
|
369 | 369 | s> Date: $HTTP_DATE$\r\n |
|
370 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
370 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
371 | 371 | s> Transfer-Encoding: chunked\r\n |
|
372 | 372 | s> \r\n |
|
373 | 373 | s> 13\r\n |
@@ -377,7 +377,7 Unknown protocol is filtered from compat | |||
|
377 | 377 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) |
|
378 | 378 | s> 5a3\r\n |
|
379 | 379 | s> \x9b\x05\x00\x01\x00\x02\x001 |
|
380 |
s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
380 | s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x82\xa3DnameHtarget-aHprotocolDhttpDuris\x81Shttp://example.com/\xa3DnameHtarget-bHprotocolGunknownDuris\x81Vunknown://example.com/ | |
|
381 | 381 | s> \r\n |
|
382 | 382 | received frame(size=1435; request=1; stream=2; streamflags=; type=command-response; flags=continuation) |
|
383 | 383 | s> 8\r\n |
@@ -563,7 +563,7 Unknown protocol is filtered from compat | |||
|
563 | 563 | } |
|
564 | 564 | }, |
|
565 | 565 | b'framingmediatypes': [ |
|
566 |
b'application/mercurial-exp-framing-000 |
|
|
566 | b'application/mercurial-exp-framing-0006' | |
|
567 | 567 | ], |
|
568 | 568 | b'pathfilterprefixes': set([ |
|
569 | 569 | b'path:', |
@@ -641,23 +641,23 Missing SNI support filters targets that | |||
|
641 | 641 | s> Content-Type: application/mercurial-cbor\r\n |
|
642 | 642 | s> Content-Length: 1917\r\n |
|
643 | 643 | s> \r\n |
|
644 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
644 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKsnirequired\xf5Duris\x81Thttps://example.com/Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
645 | 645 | (redirect target target-bad-tls requires SNI, which is unsupported) |
|
646 | 646 | sending capabilities command |
|
647 | 647 | s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n |
|
648 | 648 | s> Accept-Encoding: identity\r\n |
|
649 |
s> accept: application/mercurial-exp-framing-000 |
|
|
650 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
651 |
s> content-length: |
|
|
649 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
650 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
651 | s> content-length: 102\r\n | |
|
652 | 652 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
653 | 653 | s> user-agent: Mercurial debugwireproto\r\n |
|
654 | 654 | s> \r\n |
|
655 |
s> |
|
|
655 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity:\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80 | |
|
656 | 656 | s> makefile('rb', None) |
|
657 | 657 | s> HTTP/1.1 200 OK\r\n |
|
658 | 658 | s> Server: testing stub value\r\n |
|
659 | 659 | s> Date: $HTTP_DATE$\r\n |
|
660 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
660 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
661 | 661 | s> Transfer-Encoding: chunked\r\n |
|
662 | 662 | s> \r\n |
|
663 | 663 | s> 13\r\n |
@@ -667,7 +667,7 Missing SNI support filters targets that | |||
|
667 | 667 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) |
|
668 | 668 | s> 57b\r\n |
|
669 | 669 | s> s\x05\x00\x01\x00\x02\x001 |
|
670 |
s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
670 | s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKsnirequired\xf5Duris\x81Thttps://example.com/ | |
|
671 | 671 | s> \r\n |
|
672 | 672 | received frame(size=1395; request=1; stream=2; streamflags=; type=command-response; flags=continuation) |
|
673 | 673 | s> 8\r\n |
@@ -853,7 +853,7 Missing SNI support filters targets that | |||
|
853 | 853 | } |
|
854 | 854 | }, |
|
855 | 855 | b'framingmediatypes': [ |
|
856 |
b'application/mercurial-exp-framing-000 |
|
|
856 | b'application/mercurial-exp-framing-0006' | |
|
857 | 857 | ], |
|
858 | 858 | b'pathfilterprefixes': set([ |
|
859 | 859 | b'path:', |
@@ -921,23 +921,23 Unknown tls value is filtered from compa | |||
|
921 | 921 | s> Content-Type: application/mercurial-cbor\r\n |
|
922 | 922 | s> Content-Length: 1923\r\n |
|
923 | 923 | s> \r\n |
|
924 |
s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
924 | s> \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0002\xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKtlsversions\x82B42B39Duris\x81Thttps://example.com/Nv1capabilitiesY\x01\xd3batch branchmap $USUAL_BUNDLE2_CAPS$ 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 | |
|
925 | 925 | (remote redirect target target-bad-tls requires unsupported TLS versions: 39, 42) |
|
926 | 926 | sending capabilities command |
|
927 | 927 | s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n |
|
928 | 928 | s> Accept-Encoding: identity\r\n |
|
929 |
s> accept: application/mercurial-exp-framing-000 |
|
|
930 |
s> content-type: application/mercurial-exp-framing-000 |
|
|
931 |
s> content-length: |
|
|
929 | s> accept: application/mercurial-exp-framing-0006\r\n | |
|
930 | s> content-type: application/mercurial-exp-framing-0006\r\n | |
|
931 | s> content-length: 102\r\n | |
|
932 | 932 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
|
933 | 933 | s> user-agent: Mercurial debugwireproto\r\n |
|
934 | 934 | s> \r\n |
|
935 |
s> |
|
|
935 | s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity:\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80 | |
|
936 | 936 | s> makefile('rb', None) |
|
937 | 937 | s> HTTP/1.1 200 OK\r\n |
|
938 | 938 | s> Server: testing stub value\r\n |
|
939 | 939 | s> Date: $HTTP_DATE$\r\n |
|
940 |
s> Content-Type: application/mercurial-exp-framing-000 |
|
|
940 | s> Content-Type: application/mercurial-exp-framing-0006\r\n | |
|
941 | 941 | s> Transfer-Encoding: chunked\r\n |
|
942 | 942 | s> \r\n |
|
943 | 943 | s> 13\r\n |
@@ -947,7 +947,7 Unknown tls value is filtered from compa | |||
|
947 | 947 | received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation) |
|
948 | 948 | s> 581\r\n |
|
949 | 949 | s> y\x05\x00\x01\x00\x02\x001 |
|
950 |
s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-000 |
|
|
950 | s> \xa5Hcommands\xaaIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionInoderange\xa3Gdefault\xf6Hrequired\xf4DtypeDlistEnodes\xa3Gdefault\xf6Hrequired\xf4DtypeDlistJnodesdepth\xa3Gdefault\xf6Hrequired\xf4DtypeCintKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullGpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKtlsversions\x82B42B39Duris\x81Thttps://example.com/ | |
|
951 | 951 | s> \r\n |
|
952 | 952 | received frame(size=1401; request=1; stream=2; streamflags=; type=command-response; flags=continuation) |
|
953 | 953 | s> 8\r\n |
@@ -1133,7 +1133,7 Unknown tls value is filtered from compa | |||
|
1133 | 1133 | } |
|
1134 | 1134 | }, |
|
1135 | 1135 | b'framingmediatypes': [ |
|
1136 |
b'application/mercurial-exp-framing-000 |
|
|
1136 | b'application/mercurial-exp-framing-0006' | |
|
1137 | 1137 | ], |
|
1138 | 1138 | b'pathfilterprefixes': set([ |
|
1139 | 1139 | b'path:', |
@@ -1225,11 +1225,11 Send a cacheable request | |||
|
1225 | 1225 | Cached entry should be available on server |
|
1226 | 1226 | |
|
1227 | 1227 | $ sendhttpraw << EOF |
|
1228 | > httprequest GET api/simplecache/c045a581599d58608efd3d93d8129841f2af04a0 | |
|
1228 | > httprequest GET api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca | |
|
1229 | 1229 | > user-agent: test |
|
1230 | 1230 | > EOF |
|
1231 | 1231 | using raw connection to peer |
|
1232 |
s> GET /api/simplecache/ |
|
|
1232 | s> GET /api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca HTTP/1.1\r\n | |
|
1233 | 1233 | s> Accept-Encoding: identity\r\n |
|
1234 | 1234 | s> user-agent: test\r\n |
|
1235 | 1235 | s> host: $LOCALIP:$HGPORT\r\n (glob) |
@@ -1283,8 +1283,8 2nd request should result in content red | |||
|
1283 | 1283 | |
|
1284 | 1284 | $ cat .hg/blackbox.log |
|
1285 | 1285 | *> cacher constructed for manifestdata (glob) |
|
1286 | *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
1287 | *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
1286 | *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
1287 | *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
1288 | 1288 | *> cacher constructed for manifestdata (glob) |
|
1289 | *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
1290 | *> sending content redirect for c045a581599d58608efd3d93d8129841f2af04a0 to http://*:$HGPORT/api/simplecache/c045a581599d58608efd3d93d8129841f2af04a0 (glob) | |
|
1289 | *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) | |
|
1290 | *> sending content redirect for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca to http://*:$HGPORT/api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob) |
@@ -1,20 +1,20 | |||
|
1 | 1 | HTTPV2=exp-http-v2-0002 |
|
2 |
MEDIATYPE=application/mercurial-exp-framing-000 |
|
|
2 | MEDIATYPE=application/mercurial-exp-framing-0006 | |
|
3 | 3 | |
|
4 | 4 | sendhttpraw() { |
|
5 | 5 | hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ |
|
6 | 6 | } |
|
7 | 7 | |
|
8 | 8 | sendhttpv2peer() { |
|
9 | hg debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | |
|
9 | hg --config experimental.httppeer.v2-encoder-order=identity debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | |
|
10 | 10 | } |
|
11 | 11 | |
|
12 | 12 | sendhttpv2peerverbose() { |
|
13 | hg --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | |
|
13 | hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --nologhandshake --peer http2 http://$LOCALIP:$HGPORT/ | |
|
14 | 14 | } |
|
15 | 15 | |
|
16 | 16 | sendhttpv2peerhandshake() { |
|
17 | hg --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/ | |
|
17 | hg --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto --peer http2 http://$LOCALIP:$HGPORT/ | |
|
18 | 18 | } |
|
19 | 19 | |
|
20 | 20 | cat > dummycommands.py << EOF |
@@ -65,5 +65,8 enablehttpv2client() { | |||
|
65 | 65 | cat >> $HGRCPATH << EOF |
|
66 | 66 | [experimental] |
|
67 | 67 | httppeer.advertise-v2 = true |
|
68 | # So tests are in plain text. Also, zstd isn't available in all installs, | |
|
69 | # which would make tests non-deterministic. | |
|
70 | httppeer.v2-encoder-order = identity | |
|
68 | 71 | EOF |
|
69 | 72 | } |
General Comments 0
You need to be logged in to leave comments.
Login now