##// END OF EJS Templates
wireprotov2: send protocol settings frame from client...
Gregory Szorc -
r40168:762ef19a default
parent child Browse files
Show More
@@ -574,6 +574,9 b" coreconfigitem('experimental', 'hook-tra"
574 coreconfigitem('experimental', 'httppeer.advertise-v2',
574 coreconfigitem('experimental', 'httppeer.advertise-v2',
575 default=False,
575 default=False,
576 )
576 )
577 coreconfigitem('experimental', 'httppeer.v2-encoder-order',
578 default=None,
579 )
577 coreconfigitem('experimental', 'httppostargs',
580 coreconfigitem('experimental', 'httppostargs',
578 default=False,
581 default=False,
579 )
582 )
@@ -514,9 +514,27 b' class httppeer(wireprotov1peer.wirepeer)'
514
514
515 def sendv2request(ui, opener, requestbuilder, apiurl, permission, requests,
515 def sendv2request(ui, opener, requestbuilder, apiurl, permission, requests,
516 redirect):
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 reactor = wireprotoframing.clientreactor(ui,
534 reactor = wireprotoframing.clientreactor(ui,
518 hasmultiplesend=False,
535 hasmultiplesend=False,
519 buffersends=True)
536 buffersends=True,
537 clientcontentencoders=encoders)
520
538
521 handler = wireprotov2peer.clienthandler(ui, reactor,
539 handler = wireprotov2peer.clienthandler(ui, reactor,
522 opener=opener,
540 opener=opener,
@@ -1548,7 +1548,8 b' class clientreactor(object):'
1548 is expected to follow or we're at the end of the response stream,
1548 is expected to follow or we're at the end of the response stream,
1549 respectively.
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 """Create a new instance.
1553 """Create a new instance.
1553
1554
1554 ``hasmultiplesend`` indicates whether multiple sends are supported
1555 ``hasmultiplesend`` indicates whether multiple sends are supported
@@ -1558,13 +1559,20 b' class clientreactor(object):'
1558
1559
1559 ``buffercommands`` indicates whether sends should be buffered until the
1560 ``buffercommands`` indicates whether sends should be buffered until the
1560 last request has been issued.
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 self._ui = ui
1568 self._ui = ui
1563 self._hasmultiplesend = hasmultiplesend
1569 self._hasmultiplesend = hasmultiplesend
1564 self._buffersends = buffersends
1570 self._buffersends = buffersends
1571 self._clientcontentencoders = clientcontentencoders
1565
1572
1566 self._canissuecommands = True
1573 self._canissuecommands = True
1567 self._cansend = True
1574 self._cansend = True
1575 self._protocolsettingssent = False
1568
1576
1569 self._nextrequestid = 1
1577 self._nextrequestid = 1
1570 # We only support a single outgoing stream for now.
1578 # We only support a single outgoing stream for now.
@@ -1651,6 +1659,19 b' class clientreactor(object):'
1651 self._activerequests[request.requestid] = request
1659 self._activerequests[request.requestid] = request
1652 request.state = 'sending'
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 res = createcommandframes(self._outgoingstream,
1675 res = createcommandframes(self._outgoingstream,
1655 request.requestid,
1676 request.requestid,
1656 request.name,
1677 request.name,
@@ -29,7 +29,7 b' from .utils import ('
29 stringutil,
29 stringutil,
30 )
30 )
31
31
32 FRAMINGTYPE = b'application/mercurial-exp-framing-0005'
32 FRAMINGTYPE = b'application/mercurial-exp-framing-0006'
33
33
34 HTTP_WIREPROTO_V2 = wireprototypes.HTTP_WIREPROTO_V2
34 HTTP_WIREPROTO_V2 = wireprototypes.HTTP_WIREPROTO_V2
35
35
@@ -100,7 +100,7 b' Missing Accept header results in 406'
100 s> Content-Type: text/plain\r\n
100 s> Content-Type: text/plain\r\n
101 s> Content-Length: 85\r\n
101 s> Content-Length: 85\r\n
102 s> \r\n
102 s> \r\n
103 s> client MUST specify Accept header with value: application/mercurial-exp-framing-0005\n
103 s> client MUST specify Accept header with value: application/mercurial-exp-framing-0006\n
104
104
105 Bad Accept header results in 406
105 Bad Accept header results in 406
106
106
@@ -123,7 +123,7 b' Bad Accept header results in 406'
123 s> Content-Type: text/plain\r\n
123 s> Content-Type: text/plain\r\n
124 s> Content-Length: 85\r\n
124 s> Content-Length: 85\r\n
125 s> \r\n
125 s> \r\n
126 s> client MUST specify Accept header with value: application/mercurial-exp-framing-0005\n
126 s> client MUST specify Accept header with value: application/mercurial-exp-framing-0006\n
127
127
128 Bad Content-Type header results in 415
128 Bad Content-Type header results in 415
129
129
@@ -136,7 +136,7 b' Bad Content-Type header results in 415'
136 using raw connection to peer
136 using raw connection to peer
137 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
137 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
138 s> Accept-Encoding: identity\r\n
138 s> Accept-Encoding: identity\r\n
139 s> accept: application/mercurial-exp-framing-0005\r\n
139 s> accept: application/mercurial-exp-framing-0006\r\n
140 s> content-type: badmedia\r\n
140 s> content-type: badmedia\r\n
141 s> user-agent: test\r\n
141 s> user-agent: test\r\n
142 s> host: $LOCALIP:$HGPORT\r\n (glob)
142 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -148,7 +148,7 b' Bad Content-Type header results in 415'
148 s> Content-Type: text/plain\r\n
148 s> Content-Type: text/plain\r\n
149 s> Content-Length: 88\r\n
149 s> Content-Length: 88\r\n
150 s> \r\n
150 s> \r\n
151 s> client MUST send Content-Type header with value: application/mercurial-exp-framing-0005\n
151 s> client MUST send Content-Type header with value: application/mercurial-exp-framing-0006\n
152
152
153 Request to read-only command works out of the box
153 Request to read-only command works out of the box
154
154
@@ -163,7 +163,7 b' Request to read-only command works out o'
163 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
163 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
164 s> Accept-Encoding: identity\r\n
164 s> Accept-Encoding: identity\r\n
165 s> *\r\n (glob)
165 s> *\r\n (glob)
166 s> content-type: application/mercurial-exp-framing-0005\r\n
166 s> content-type: application/mercurial-exp-framing-0006\r\n
167 s> user-agent: test\r\n
167 s> user-agent: test\r\n
168 s> content-length: 29\r\n
168 s> content-length: 29\r\n
169 s> host: $LOCALIP:$HGPORT\r\n (glob)
169 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -173,7 +173,7 b' Request to read-only command works out o'
173 s> HTTP/1.1 200 OK\r\n
173 s> HTTP/1.1 200 OK\r\n
174 s> Server: testing stub value\r\n
174 s> Server: testing stub value\r\n
175 s> Date: $HTTP_DATE$\r\n
175 s> Date: $HTTP_DATE$\r\n
176 s> Content-Type: application/mercurial-exp-framing-0005\r\n
176 s> Content-Type: application/mercurial-exp-framing-0006\r\n
177 s> Transfer-Encoding: chunked\r\n
177 s> Transfer-Encoding: chunked\r\n
178 s> \r\n
178 s> \r\n
179 s> 13\r\n
179 s> 13\r\n
@@ -195,18 +195,18 b' Request to read-only command works out o'
195 sending customreadonly command
195 sending customreadonly command
196 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
196 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
197 s> Accept-Encoding: identity\r\n
197 s> Accept-Encoding: identity\r\n
198 s> accept: application/mercurial-exp-framing-0005\r\n
198 s> accept: application/mercurial-exp-framing-0006\r\n
199 s> content-type: application/mercurial-exp-framing-0005\r\n
199 s> content-type: application/mercurial-exp-framing-0006\r\n
200 s> content-length: 29\r\n
200 s> content-length: 65\r\n
201 s> host: $LOCALIP:$HGPORT\r\n (glob)
201 s> host: $LOCALIP:$HGPORT\r\n (glob)
202 s> user-agent: Mercurial debugwireproto\r\n
202 s> user-agent: Mercurial debugwireproto\r\n
203 s> \r\n
203 s> \r\n
204 s> \x15\x00\x00\x01\x00\x01\x01\x11\xa1DnameNcustomreadonly
204 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x15\x00\x00\x01\x00\x01\x00\x11\xa1DnameNcustomreadonly
205 s> makefile('rb', None)
205 s> makefile('rb', None)
206 s> HTTP/1.1 200 OK\r\n
206 s> HTTP/1.1 200 OK\r\n
207 s> Server: testing stub value\r\n
207 s> Server: testing stub value\r\n
208 s> Date: $HTTP_DATE$\r\n
208 s> Date: $HTTP_DATE$\r\n
209 s> Content-Type: application/mercurial-exp-framing-0005\r\n
209 s> Content-Type: application/mercurial-exp-framing-0006\r\n
210 s> Transfer-Encoding: chunked\r\n
210 s> Transfer-Encoding: chunked\r\n
211 s> \r\n
211 s> \r\n
212 s> 13\r\n
212 s> 13\r\n
@@ -321,8 +321,8 b' Authorized request for valid read-write '
321 using raw connection to peer
321 using raw connection to peer
322 s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n
322 s> POST /api/exp-http-v2-0002/rw/customreadonly HTTP/1.1\r\n
323 s> Accept-Encoding: identity\r\n
323 s> Accept-Encoding: identity\r\n
324 s> accept: application/mercurial-exp-framing-0005\r\n
324 s> accept: application/mercurial-exp-framing-0006\r\n
325 s> content-type: application/mercurial-exp-framing-0005\r\n
325 s> content-type: application/mercurial-exp-framing-0006\r\n
326 s> user-agent: test\r\n
326 s> user-agent: test\r\n
327 s> content-length: 29\r\n
327 s> content-length: 29\r\n
328 s> host: $LOCALIP:$HGPORT\r\n (glob)
328 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -332,7 +332,7 b' Authorized request for valid read-write '
332 s> HTTP/1.1 200 OK\r\n
332 s> HTTP/1.1 200 OK\r\n
333 s> Server: testing stub value\r\n
333 s> Server: testing stub value\r\n
334 s> Date: $HTTP_DATE$\r\n
334 s> Date: $HTTP_DATE$\r\n
335 s> Content-Type: application/mercurial-exp-framing-0005\r\n
335 s> Content-Type: application/mercurial-exp-framing-0006\r\n
336 s> Transfer-Encoding: chunked\r\n
336 s> Transfer-Encoding: chunked\r\n
337 s> \r\n
337 s> \r\n
338 s> 13\r\n
338 s> 13\r\n
@@ -357,7 +357,7 b' Authorized request for unknown command i'
357 using raw connection to peer
357 using raw connection to peer
358 s> POST /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n
358 s> POST /api/exp-http-v2-0002/rw/badcommand HTTP/1.1\r\n
359 s> Accept-Encoding: identity\r\n
359 s> Accept-Encoding: identity\r\n
360 s> accept: application/mercurial-exp-framing-0005\r\n
360 s> accept: application/mercurial-exp-framing-0006\r\n
361 s> user-agent: test\r\n
361 s> user-agent: test\r\n
362 s> host: $LOCALIP:$HGPORT\r\n (glob)
362 s> host: $LOCALIP:$HGPORT\r\n (glob)
363 s> \r\n
363 s> \r\n
@@ -419,8 +419,8 b' Command frames can be reflected via debu'
419 using raw connection to peer
419 using raw connection to peer
420 s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n
420 s> POST /api/exp-http-v2-0002/ro/debugreflect HTTP/1.1\r\n
421 s> Accept-Encoding: identity\r\n
421 s> Accept-Encoding: identity\r\n
422 s> accept: application/mercurial-exp-framing-0005\r\n
422 s> accept: application/mercurial-exp-framing-0006\r\n
423 s> content-type: application/mercurial-exp-framing-0005\r\n
423 s> content-type: application/mercurial-exp-framing-0006\r\n
424 s> user-agent: test\r\n
424 s> user-agent: test\r\n
425 s> content-length: 47\r\n
425 s> content-length: 47\r\n
426 s> host: $LOCALIP:$HGPORT\r\n (glob)
426 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -450,8 +450,8 b' Multiple requests to regular command URL'
450 using raw connection to peer
450 using raw connection to peer
451 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
451 s> POST /api/exp-http-v2-0002/ro/customreadonly HTTP/1.1\r\n
452 s> Accept-Encoding: identity\r\n
452 s> Accept-Encoding: identity\r\n
453 s> accept: application/mercurial-exp-framing-0005\r\n
453 s> accept: application/mercurial-exp-framing-0006\r\n
454 s> content-type: application/mercurial-exp-framing-0005\r\n
454 s> content-type: application/mercurial-exp-framing-0006\r\n
455 s> user-agent: test\r\n
455 s> user-agent: test\r\n
456 s> content-length: 29\r\n
456 s> content-length: 29\r\n
457 s> host: $LOCALIP:$HGPORT\r\n (glob)
457 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -461,7 +461,7 b' Multiple requests to regular command URL'
461 s> HTTP/1.1 200 OK\r\n
461 s> HTTP/1.1 200 OK\r\n
462 s> Server: testing stub value\r\n
462 s> Server: testing stub value\r\n
463 s> Date: $HTTP_DATE$\r\n
463 s> Date: $HTTP_DATE$\r\n
464 s> Content-Type: application/mercurial-exp-framing-0005\r\n
464 s> Content-Type: application/mercurial-exp-framing-0006\r\n
465 s> Transfer-Encoding: chunked\r\n
465 s> Transfer-Encoding: chunked\r\n
466 s> \r\n
466 s> \r\n
467 s> 13\r\n
467 s> 13\r\n
@@ -500,7 +500,7 b' Multiple requests to "multirequest" URL '
500 s> HTTP/1.1 200 OK\r\n
500 s> HTTP/1.1 200 OK\r\n
501 s> Server: testing stub value\r\n
501 s> Server: testing stub value\r\n
502 s> Date: $HTTP_DATE$\r\n
502 s> Date: $HTTP_DATE$\r\n
503 s> Content-Type: application/mercurial-exp-framing-0005\r\n
503 s> Content-Type: application/mercurial-exp-framing-0006\r\n
504 s> Transfer-Encoding: chunked\r\n
504 s> Transfer-Encoding: chunked\r\n
505 s> \r\n
505 s> \r\n
506 s> 13\r\n
506 s> 13\r\n
@@ -539,8 +539,8 b' Interleaved requests to "multirequest" a'
539 using raw connection to peer
539 using raw connection to peer
540 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
540 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
541 s> Accept-Encoding: identity\r\n
541 s> Accept-Encoding: identity\r\n
542 s> accept: application/mercurial-exp-framing-0005\r\n
542 s> accept: application/mercurial-exp-framing-0006\r\n
543 s> content-type: application/mercurial-exp-framing-0005\r\n
543 s> content-type: application/mercurial-exp-framing-0006\r\n
544 s> user-agent: test\r\n
544 s> user-agent: test\r\n
545 s> content-length: 115\r\n
545 s> content-length: 115\r\n
546 s> host: $LOCALIP:$HGPORT\r\n (glob)
546 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -550,7 +550,7 b' Interleaved requests to "multirequest" a'
550 s> HTTP/1.1 200 OK\r\n
550 s> HTTP/1.1 200 OK\r\n
551 s> Server: testing stub value\r\n
551 s> Server: testing stub value\r\n
552 s> Date: $HTTP_DATE$\r\n
552 s> Date: $HTTP_DATE$\r\n
553 s> Content-Type: application/mercurial-exp-framing-0005\r\n
553 s> Content-Type: application/mercurial-exp-framing-0006\r\n
554 s> Transfer-Encoding: chunked\r\n
554 s> Transfer-Encoding: chunked\r\n
555 s> \r\n
555 s> \r\n
556 s> 13\r\n
556 s> 13\r\n
@@ -601,8 +601,8 b' Attempting to run a read-write command v'
601 using raw connection to peer
601 using raw connection to peer
602 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
602 s> POST /api/exp-http-v2-0002/ro/multirequest HTTP/1.1\r\n
603 s> Accept-Encoding: identity\r\n
603 s> Accept-Encoding: identity\r\n
604 s> accept: application/mercurial-exp-framing-0005\r\n
604 s> accept: application/mercurial-exp-framing-0006\r\n
605 s> content-type: application/mercurial-exp-framing-0005\r\n
605 s> content-type: application/mercurial-exp-framing-0006\r\n
606 s> user-agent: test\r\n
606 s> user-agent: test\r\n
607 s> content-length: 22\r\n
607 s> content-length: 22\r\n
608 s> host: $LOCALIP:$HGPORT\r\n (glob)
608 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -617,4 +617,95 b' Attempting to run a read-write command v'
617 s> \r\n
617 s> \r\n
618 s> insufficient permissions to execute command: pushkey
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 $ cat error.log
711 $ cat error.log
@@ -296,7 +296,7 b' Client with HTTPv2 enabled advertises th'
296
296
297 Client with HTTPv2 enabled automatically upgrades if the server supports it
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 > command heads
300 > command heads
301 > EOF
301 > EOF
302 s> GET /?cmd=capabilities HTTP/1.1\r\n
302 s> GET /?cmd=capabilities HTTP/1.1\r\n
@@ -315,22 +315,22 b' Client with HTTPv2 enabled automatically'
315 s> Content-Type: application/mercurial-cbor\r\n
315 s> Content-Type: application/mercurial-cbor\r\n
316 s> Content-Length: *\r\n (glob)
316 s> Content-Length: *\r\n (glob)
317 s> \r\n
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-0005Rpathfilterprefixes\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
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 sending heads command
319 sending heads command
320 s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n
320 s> POST /api/exp-http-v2-0002/ro/heads HTTP/1.1\r\n
321 s> Accept-Encoding: identity\r\n
321 s> Accept-Encoding: identity\r\n
322 s> accept: application/mercurial-exp-framing-0005\r\n
322 s> accept: application/mercurial-exp-framing-0006\r\n
323 s> content-type: application/mercurial-exp-framing-0005\r\n
323 s> content-type: application/mercurial-exp-framing-0006\r\n
324 s> content-length: 20\r\n
324 s> content-length: 56\r\n
325 s> host: $LOCALIP:$HGPORT\r\n (glob)
325 s> host: $LOCALIP:$HGPORT\r\n (glob)
326 s> user-agent: Mercurial debugwireproto\r\n
326 s> user-agent: Mercurial debugwireproto\r\n
327 s> \r\n
327 s> \r\n
328 s> \x0c\x00\x00\x01\x00\x01\x01\x11\xa1DnameEheads
328 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x0c\x00\x00\x01\x00\x01\x00\x11\xa1DnameEheads
329 s> makefile('rb', None)
329 s> makefile('rb', None)
330 s> HTTP/1.1 200 OK\r\n
330 s> HTTP/1.1 200 OK\r\n
331 s> Server: testing stub value\r\n
331 s> Server: testing stub value\r\n
332 s> Date: $HTTP_DATE$\r\n
332 s> Date: $HTTP_DATE$\r\n
333 s> Content-Type: application/mercurial-exp-framing-0005\r\n
333 s> Content-Type: application/mercurial-exp-framing-0006\r\n
334 s> Transfer-Encoding: chunked\r\n
334 s> Transfer-Encoding: chunked\r\n
335 s> \r\n
335 s> \r\n
336 s> 13\r\n
336 s> 13\r\n
@@ -121,13 +121,13 b" Sending different request doesn't yield "
121
121
122 $ cat .hg/blackbox.log
122 $ cat .hg/blackbox.log
123 *> cacher constructed for manifestdata (glob)
123 *> cacher constructed for manifestdata (glob)
124 *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
124 *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
125 *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
125 *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
126 *> cacher constructed for manifestdata (glob)
126 *> cacher constructed for manifestdata (glob)
127 *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
127 *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
128 *> cacher constructed for manifestdata (glob)
128 *> cacher constructed for manifestdata (glob)
129 *> cache miss for 6ed2f740a1cdd12c9e99c4f27695543143c26a11 (glob)
129 *> cache miss for 1cf89363ec234c6b92d5961281eaa5713e7493f9 (glob)
130 *> storing cache entry for 6ed2f740a1cdd12c9e99c4f27695543143c26a11 (glob)
130 *> storing cache entry for 1cf89363ec234c6b92d5961281eaa5713e7493f9 (glob)
131
131
132 $ cat error.log
132 $ cat error.log
133
133
@@ -188,10 +188,10 b' Try with object caching mode'
188
188
189 $ cat .hg/blackbox.log
189 $ cat .hg/blackbox.log
190 *> cacher constructed for manifestdata (glob)
190 *> cacher constructed for manifestdata (glob)
191 *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
191 *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
192 *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
192 *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
193 *> cacher constructed for manifestdata (glob)
193 *> cacher constructed for manifestdata (glob)
194 *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
194 *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
195
195
196 $ cat error.log
196 $ cat error.log
197
197
@@ -384,7 +384,7 b' A non-cacheable command does not instant'
384 }
384 }
385 },
385 },
386 b'framingmediatypes': [
386 b'framingmediatypes': [
387 b'application/mercurial-exp-framing-0005'
387 b'application/mercurial-exp-framing-0006'
388 ],
388 ],
389 b'pathfilterprefixes': set([
389 b'pathfilterprefixes': set([
390 b'path:',
390 b'path:',
@@ -415,7 +415,7 b' An error is not cached'
415
415
416 $ cat .hg/blackbox.log
416 $ cat .hg/blackbox.log
417 *> cacher constructed for manifestdata (glob)
417 *> cacher constructed for manifestdata (glob)
418 *> cache miss for 9d1bb421d99e913d45f2d099aa49728514292dd2 (glob)
418 *> cache miss for 904560928eb95650358f0829d9399b256822eb26 (glob)
419 *> cacher exiting due to error (glob)
419 *> cacher exiting due to error (glob)
420
420
421 $ killdaemons.py
421 $ killdaemons.py
@@ -216,7 +216,7 b' Request for HTTPv2 service returns infor'
216 s> Content-Type: application/mercurial-cbor\r\n
216 s> Content-Type: application/mercurial-cbor\r\n
217 s> Content-Length: *\r\n (glob)
217 s> Content-Length: *\r\n (glob)
218 s> \r\n
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-0005Rpathfilterprefixes\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
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 cbor> [
220 cbor> [
221 {
221 {
222 b'apibase': b'api/',
222 b'apibase': b'api/',
@@ -397,7 +397,7 b' Request for HTTPv2 service returns infor'
397 }
397 }
398 },
398 },
399 b'framingmediatypes': [
399 b'framingmediatypes': [
400 b'application/mercurial-exp-framing-0005'
400 b'application/mercurial-exp-framing-0006'
401 ],
401 ],
402 b'pathfilterprefixes': set([
402 b'pathfilterprefixes': set([
403 b'path:',
403 b'path:',
@@ -435,22 +435,22 b' capabilities command returns expected in'
435 s> Content-Type: application/mercurial-cbor\r\n
435 s> Content-Type: application/mercurial-cbor\r\n
436 s> Content-Length: *\r\n (glob)
436 s> Content-Length: *\r\n (glob)
437 s> \r\n
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-0005Rpathfilterprefixes\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
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 sending capabilities command
439 sending capabilities command
440 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
440 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
441 s> Accept-Encoding: identity\r\n
441 s> Accept-Encoding: identity\r\n
442 s> accept: application/mercurial-exp-framing-0005\r\n
442 s> accept: application/mercurial-exp-framing-0006\r\n
443 s> content-type: application/mercurial-exp-framing-0005\r\n
443 s> content-type: application/mercurial-exp-framing-0006\r\n
444 s> content-length: 27\r\n
444 s> content-length: 63\r\n
445 s> host: $LOCALIP:$HGPORT\r\n (glob)
445 s> host: $LOCALIP:$HGPORT\r\n (glob)
446 s> user-agent: Mercurial debugwireproto\r\n
446 s> user-agent: Mercurial debugwireproto\r\n
447 s> \r\n
447 s> \r\n
448 s> \x13\x00\x00\x01\x00\x01\x01\x11\xa1DnameLcapabilities
448 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity\x13\x00\x00\x01\x00\x01\x00\x11\xa1DnameLcapabilities
449 s> makefile('rb', None)
449 s> makefile('rb', None)
450 s> HTTP/1.1 200 OK\r\n
450 s> HTTP/1.1 200 OK\r\n
451 s> Server: testing stub value\r\n
451 s> Server: testing stub value\r\n
452 s> Date: $HTTP_DATE$\r\n
452 s> Date: $HTTP_DATE$\r\n
453 s> Content-Type: application/mercurial-exp-framing-0005\r\n
453 s> Content-Type: application/mercurial-exp-framing-0006\r\n
454 s> Transfer-Encoding: chunked\r\n
454 s> Transfer-Encoding: chunked\r\n
455 s> \r\n
455 s> \r\n
456 s> 13\r\n
456 s> 13\r\n
@@ -460,7 +460,7 b' capabilities command returns expected in'
460 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
460 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
461 s> 508\r\n
461 s> 508\r\n
462 s> \x00\x05\x00\x01\x00\x02\x001
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-0005Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1
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 s> \r\n
464 s> \r\n
465 received frame(size=1280; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
465 received frame(size=1280; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
466 s> 8\r\n
466 s> 8\r\n
@@ -646,7 +646,7 b' capabilities command returns expected in'
646 }
646 }
647 },
647 },
648 b'framingmediatypes': [
648 b'framingmediatypes': [
649 b'application/mercurial-exp-framing-0005'
649 b'application/mercurial-exp-framing-0006'
650 ],
650 ],
651 b'pathfilterprefixes': set([
651 b'pathfilterprefixes': set([
652 b'path:',
652 b'path:',
@@ -67,23 +67,23 b' Redirect targets advertised when configu'
67 s> Content-Type: application/mercurial-cbor\r\n
67 s> Content-Type: application/mercurial-cbor\r\n
68 s> Content-Length: 1930\r\n
68 s> Content-Length: 1930\r\n
69 s> \r\n
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-0005Rpathfilterprefixes\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
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 (remote redirect target target-a is compatible)
71 (remote redirect target target-a is compatible)
72 sending capabilities command
72 sending capabilities command
73 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
73 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
74 s> Accept-Encoding: identity\r\n
74 s> Accept-Encoding: identity\r\n
75 s> accept: application/mercurial-exp-framing-0005\r\n
75 s> accept: application/mercurial-exp-framing-0006\r\n
76 s> content-type: application/mercurial-exp-framing-0005\r\n
76 s> content-type: application/mercurial-exp-framing-0006\r\n
77 s> content-length: 75\r\n
77 s> content-length: 111\r\n
78 s> host: $LOCALIP:$HGPORT\r\n (glob)
78 s> host: $LOCALIP:$HGPORT\r\n (glob)
79 s> user-agent: Mercurial debugwireproto\r\n
79 s> user-agent: Mercurial debugwireproto\r\n
80 s> \r\n
80 s> \r\n
81 s> C\x00\x00\x01\x00\x01\x01\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81Htarget-a
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 s> makefile('rb', None)
82 s> makefile('rb', None)
83 s> HTTP/1.1 200 OK\r\n
83 s> HTTP/1.1 200 OK\r\n
84 s> Server: testing stub value\r\n
84 s> Server: testing stub value\r\n
85 s> Date: $HTTP_DATE$\r\n
85 s> Date: $HTTP_DATE$\r\n
86 s> Content-Type: application/mercurial-exp-framing-0005\r\n
86 s> Content-Type: application/mercurial-exp-framing-0006\r\n
87 s> Transfer-Encoding: chunked\r\n
87 s> Transfer-Encoding: chunked\r\n
88 s> \r\n
88 s> \r\n
89 s> 13\r\n
89 s> 13\r\n
@@ -93,7 +93,7 b' Redirect targets advertised when configu'
93 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
93 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
94 s> 588\r\n
94 s> 588\r\n
95 s> \x80\x05\x00\x01\x00\x02\x001
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-0005Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa5DnameHtarget-aHprotocolDhttpKsnirequired\xf4Ktlsversions\x82C1.2C1.3Duris\x81Shttp://example.com/
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 s> \r\n
97 s> \r\n
98 received frame(size=1408; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
98 received frame(size=1408; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
99 s> 8\r\n
99 s> 8\r\n
@@ -279,7 +279,7 b' Redirect targets advertised when configu'
279 }
279 }
280 },
280 },
281 b'framingmediatypes': [
281 b'framingmediatypes': [
282 b'application/mercurial-exp-framing-0005'
282 b'application/mercurial-exp-framing-0006'
283 ],
283 ],
284 b'pathfilterprefixes': set([
284 b'pathfilterprefixes': set([
285 b'path:',
285 b'path:',
@@ -350,24 +350,24 b' Unknown protocol is filtered from compat'
350 s> Content-Type: application/mercurial-cbor\r\n
350 s> Content-Type: application/mercurial-cbor\r\n
351 s> Content-Length: 1957\r\n
351 s> Content-Length: 1957\r\n
352 s> \r\n
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-0005Rpathfilterprefixes\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
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 (remote redirect target target-a is compatible)
354 (remote redirect target target-a is compatible)
355 (remote redirect target target-b uses unsupported protocol: unknown)
355 (remote redirect target target-b uses unsupported protocol: unknown)
356 sending capabilities command
356 sending capabilities command
357 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
357 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
358 s> Accept-Encoding: identity\r\n
358 s> Accept-Encoding: identity\r\n
359 s> accept: application/mercurial-exp-framing-0005\r\n
359 s> accept: application/mercurial-exp-framing-0006\r\n
360 s> content-type: application/mercurial-exp-framing-0005\r\n
360 s> content-type: application/mercurial-exp-framing-0006\r\n
361 s> content-length: 75\r\n
361 s> content-length: 111\r\n
362 s> host: $LOCALIP:$HGPORT\r\n (glob)
362 s> host: $LOCALIP:$HGPORT\r\n (glob)
363 s> user-agent: Mercurial debugwireproto\r\n
363 s> user-agent: Mercurial debugwireproto\r\n
364 s> \r\n
364 s> \r\n
365 s> C\x00\x00\x01\x00\x01\x01\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81Htarget-a
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 s> makefile('rb', None)
366 s> makefile('rb', None)
367 s> HTTP/1.1 200 OK\r\n
367 s> HTTP/1.1 200 OK\r\n
368 s> Server: testing stub value\r\n
368 s> Server: testing stub value\r\n
369 s> Date: $HTTP_DATE$\r\n
369 s> Date: $HTTP_DATE$\r\n
370 s> Content-Type: application/mercurial-exp-framing-0005\r\n
370 s> Content-Type: application/mercurial-exp-framing-0006\r\n
371 s> Transfer-Encoding: chunked\r\n
371 s> Transfer-Encoding: chunked\r\n
372 s> \r\n
372 s> \r\n
373 s> 13\r\n
373 s> 13\r\n
@@ -377,7 +377,7 b' Unknown protocol is filtered from compat'
377 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
377 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
378 s> 5a3\r\n
378 s> 5a3\r\n
379 s> \x9b\x05\x00\x01\x00\x02\x001
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-0005Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x82\xa3DnameHtarget-aHprotocolDhttpDuris\x81Shttp://example.com/\xa3DnameHtarget-bHprotocolGunknownDuris\x81Vunknown://example.com/
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 s> \r\n
381 s> \r\n
382 received frame(size=1435; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
382 received frame(size=1435; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
383 s> 8\r\n
383 s> 8\r\n
@@ -563,7 +563,7 b' Unknown protocol is filtered from compat'
563 }
563 }
564 },
564 },
565 b'framingmediatypes': [
565 b'framingmediatypes': [
566 b'application/mercurial-exp-framing-0005'
566 b'application/mercurial-exp-framing-0006'
567 ],
567 ],
568 b'pathfilterprefixes': set([
568 b'pathfilterprefixes': set([
569 b'path:',
569 b'path:',
@@ -641,23 +641,23 b' Missing SNI support filters targets that'
641 s> Content-Type: application/mercurial-cbor\r\n
641 s> Content-Type: application/mercurial-cbor\r\n
642 s> Content-Length: 1917\r\n
642 s> Content-Length: 1917\r\n
643 s> \r\n
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-0005Rpathfilterprefixes\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
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 (redirect target target-bad-tls requires SNI, which is unsupported)
645 (redirect target target-bad-tls requires SNI, which is unsupported)
646 sending capabilities command
646 sending capabilities command
647 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
647 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
648 s> Accept-Encoding: identity\r\n
648 s> Accept-Encoding: identity\r\n
649 s> accept: application/mercurial-exp-framing-0005\r\n
649 s> accept: application/mercurial-exp-framing-0006\r\n
650 s> content-type: application/mercurial-exp-framing-0005\r\n
650 s> content-type: application/mercurial-exp-framing-0006\r\n
651 s> content-length: 66\r\n
651 s> content-length: 102\r\n
652 s> host: $LOCALIP:$HGPORT\r\n (glob)
652 s> host: $LOCALIP:$HGPORT\r\n (glob)
653 s> user-agent: Mercurial debugwireproto\r\n
653 s> user-agent: Mercurial debugwireproto\r\n
654 s> \r\n
654 s> \r\n
655 s> :\x00\x00\x01\x00\x01\x01\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80
655 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity:\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80
656 s> makefile('rb', None)
656 s> makefile('rb', None)
657 s> HTTP/1.1 200 OK\r\n
657 s> HTTP/1.1 200 OK\r\n
658 s> Server: testing stub value\r\n
658 s> Server: testing stub value\r\n
659 s> Date: $HTTP_DATE$\r\n
659 s> Date: $HTTP_DATE$\r\n
660 s> Content-Type: application/mercurial-exp-framing-0005\r\n
660 s> Content-Type: application/mercurial-exp-framing-0006\r\n
661 s> Transfer-Encoding: chunked\r\n
661 s> Transfer-Encoding: chunked\r\n
662 s> \r\n
662 s> \r\n
663 s> 13\r\n
663 s> 13\r\n
@@ -667,7 +667,7 b' Missing SNI support filters targets that'
667 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
667 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
668 s> 57b\r\n
668 s> 57b\r\n
669 s> s\x05\x00\x01\x00\x02\x001
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-0005Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKsnirequired\xf5Duris\x81Thttps://example.com/
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 s> \r\n
671 s> \r\n
672 received frame(size=1395; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
672 received frame(size=1395; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
673 s> 8\r\n
673 s> 8\r\n
@@ -853,7 +853,7 b' Missing SNI support filters targets that'
853 }
853 }
854 },
854 },
855 b'framingmediatypes': [
855 b'framingmediatypes': [
856 b'application/mercurial-exp-framing-0005'
856 b'application/mercurial-exp-framing-0006'
857 ],
857 ],
858 b'pathfilterprefixes': set([
858 b'pathfilterprefixes': set([
859 b'path:',
859 b'path:',
@@ -921,23 +921,23 b' Unknown tls value is filtered from compa'
921 s> Content-Type: application/mercurial-cbor\r\n
921 s> Content-Type: application/mercurial-cbor\r\n
922 s> Content-Length: 1923\r\n
922 s> Content-Length: 1923\r\n
923 s> \r\n
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-0005Rpathfilterprefixes\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
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 (remote redirect target target-bad-tls requires unsupported TLS versions: 39, 42)
925 (remote redirect target target-bad-tls requires unsupported TLS versions: 39, 42)
926 sending capabilities command
926 sending capabilities command
927 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
927 s> POST /api/exp-http-v2-0002/ro/capabilities HTTP/1.1\r\n
928 s> Accept-Encoding: identity\r\n
928 s> Accept-Encoding: identity\r\n
929 s> accept: application/mercurial-exp-framing-0005\r\n
929 s> accept: application/mercurial-exp-framing-0006\r\n
930 s> content-type: application/mercurial-exp-framing-0005\r\n
930 s> content-type: application/mercurial-exp-framing-0006\r\n
931 s> content-length: 66\r\n
931 s> content-length: 102\r\n
932 s> host: $LOCALIP:$HGPORT\r\n (glob)
932 s> host: $LOCALIP:$HGPORT\r\n (glob)
933 s> user-agent: Mercurial debugwireproto\r\n
933 s> user-agent: Mercurial debugwireproto\r\n
934 s> \r\n
934 s> \r\n
935 s> :\x00\x00\x01\x00\x01\x01\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80
935 s> \x1c\x00\x00\x01\x00\x01\x01\x82\xa1Pcontentencodings\x81Hidentity:\x00\x00\x01\x00\x01\x00\x11\xa2DnameLcapabilitiesHredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x80
936 s> makefile('rb', None)
936 s> makefile('rb', None)
937 s> HTTP/1.1 200 OK\r\n
937 s> HTTP/1.1 200 OK\r\n
938 s> Server: testing stub value\r\n
938 s> Server: testing stub value\r\n
939 s> Date: $HTTP_DATE$\r\n
939 s> Date: $HTTP_DATE$\r\n
940 s> Content-Type: application/mercurial-exp-framing-0005\r\n
940 s> Content-Type: application/mercurial-exp-framing-0006\r\n
941 s> Transfer-Encoding: chunked\r\n
941 s> Transfer-Encoding: chunked\r\n
942 s> \r\n
942 s> \r\n
943 s> 13\r\n
943 s> 13\r\n
@@ -947,7 +947,7 b' Unknown tls value is filtered from compa'
947 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
947 received frame(size=11; request=1; stream=2; streamflags=stream-begin; type=command-response; flags=continuation)
948 s> 581\r\n
948 s> 581\r\n
949 s> y\x05\x00\x01\x00\x02\x001
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-0005Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x82LgeneraldeltaHrevlogv1Hredirect\xa2Fhashes\x82Fsha256Dsha1Gtargets\x81\xa4DnameNtarget-bad-tlsHprotocolEhttpsKtlsversions\x82B42B39Duris\x81Thttps://example.com/
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 s> \r\n
951 s> \r\n
952 received frame(size=1401; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
952 received frame(size=1401; request=1; stream=2; streamflags=; type=command-response; flags=continuation)
953 s> 8\r\n
953 s> 8\r\n
@@ -1133,7 +1133,7 b' Unknown tls value is filtered from compa'
1133 }
1133 }
1134 },
1134 },
1135 b'framingmediatypes': [
1135 b'framingmediatypes': [
1136 b'application/mercurial-exp-framing-0005'
1136 b'application/mercurial-exp-framing-0006'
1137 ],
1137 ],
1138 b'pathfilterprefixes': set([
1138 b'pathfilterprefixes': set([
1139 b'path:',
1139 b'path:',
@@ -1225,11 +1225,11 b' Send a cacheable request'
1225 Cached entry should be available on server
1225 Cached entry should be available on server
1226
1226
1227 $ sendhttpraw << EOF
1227 $ sendhttpraw << EOF
1228 > httprequest GET api/simplecache/c045a581599d58608efd3d93d8129841f2af04a0
1228 > httprequest GET api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca
1229 > user-agent: test
1229 > user-agent: test
1230 > EOF
1230 > EOF
1231 using raw connection to peer
1231 using raw connection to peer
1232 s> GET /api/simplecache/c045a581599d58608efd3d93d8129841f2af04a0 HTTP/1.1\r\n
1232 s> GET /api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca HTTP/1.1\r\n
1233 s> Accept-Encoding: identity\r\n
1233 s> Accept-Encoding: identity\r\n
1234 s> user-agent: test\r\n
1234 s> user-agent: test\r\n
1235 s> host: $LOCALIP:$HGPORT\r\n (glob)
1235 s> host: $LOCALIP:$HGPORT\r\n (glob)
@@ -1283,8 +1283,8 b' 2nd request should result in content red'
1283
1283
1284 $ cat .hg/blackbox.log
1284 $ cat .hg/blackbox.log
1285 *> cacher constructed for manifestdata (glob)
1285 *> cacher constructed for manifestdata (glob)
1286 *> cache miss for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
1286 *> cache miss for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
1287 *> storing cache entry for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
1287 *> storing cache entry for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
1288 *> cacher constructed for manifestdata (glob)
1288 *> cacher constructed for manifestdata (glob)
1289 *> cache hit for c045a581599d58608efd3d93d8129841f2af04a0 (glob)
1289 *> cache hit for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
1290 *> sending content redirect for c045a581599d58608efd3d93d8129841f2af04a0 to http://*:$HGPORT/api/simplecache/c045a581599d58608efd3d93d8129841f2af04a0 (glob)
1290 *> sending content redirect for 64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca to http://*:$HGPORT/api/simplecache/64b3162af49ea3c88e8ce2785e03ed7b88a2d6ca (glob)
@@ -1,20 +1,20 b''
1 HTTPV2=exp-http-v2-0002
1 HTTPV2=exp-http-v2-0002
2 MEDIATYPE=application/mercurial-exp-framing-0005
2 MEDIATYPE=application/mercurial-exp-framing-0006
3
3
4 sendhttpraw() {
4 sendhttpraw() {
5 hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
5 hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/
6 }
6 }
7
7
8 sendhttpv2peer() {
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 sendhttpv2peerverbose() {
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 sendhttpv2peerhandshake() {
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 cat > dummycommands.py << EOF
20 cat > dummycommands.py << EOF
@@ -65,5 +65,8 b' enablehttpv2client() {'
65 cat >> $HGRCPATH << EOF
65 cat >> $HGRCPATH << EOF
66 [experimental]
66 [experimental]
67 httppeer.advertise-v2 = true
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 EOF
71 EOF
69 }
72 }
General Comments 0
You need to be logged in to leave comments. Login now