Show More
@@ -368,17 +368,46 b' def createcommandframes(stream, requesti' | |||
|
368 | 368 | def createcommandresponseokframe(stream, requestid): |
|
369 | 369 | overall = b''.join(cborutil.streamencode({b'status': b'ok'})) |
|
370 | 370 | |
|
371 | if stream.streamsettingssent: | |
|
372 | overall = stream.encode(overall) | |
|
373 | encoded = True | |
|
374 | ||
|
375 | if not overall: | |
|
376 | return None | |
|
377 | else: | |
|
378 | encoded = False | |
|
379 | ||
|
371 | 380 | return stream.makeframe(requestid=requestid, |
|
372 | 381 | typeid=FRAME_TYPE_COMMAND_RESPONSE, |
|
373 | 382 | flags=FLAG_COMMAND_RESPONSE_CONTINUATION, |
|
374 |
payload=overall |
|
|
383 | payload=overall, | |
|
384 | encoded=encoded) | |
|
375 | 385 | |
|
376 |
def createcommandresponseeosframe(stream, requestid |
|
|
386 | def createcommandresponseeosframes(stream, requestid, | |
|
387 | maxframesize=DEFAULT_MAX_FRAME_SIZE): | |
|
377 | 388 | """Create an empty payload frame representing command end-of-stream.""" |
|
378 | return stream.makeframe(requestid=requestid, | |
|
389 | payload = stream.flush() | |
|
390 | ||
|
391 | offset = 0 | |
|
392 | while True: | |
|
393 | chunk = payload[offset:offset + maxframesize] | |
|
394 | offset += len(chunk) | |
|
395 | ||
|
396 | done = offset == len(payload) | |
|
397 | ||
|
398 | if done: | |
|
399 | flags = FLAG_COMMAND_RESPONSE_EOS | |
|
400 | else: | |
|
401 | flags = FLAG_COMMAND_RESPONSE_CONTINUATION | |
|
402 | ||
|
403 | yield stream.makeframe(requestid=requestid, | |
|
379 | 404 | typeid=FRAME_TYPE_COMMAND_RESPONSE, |
|
380 |
flags= |
|
|
381 |
payload= |
|
|
405 | flags=flags, | |
|
406 | payload=chunk, | |
|
407 | encoded=payload != b'') | |
|
408 | ||
|
409 | if done: | |
|
410 | break | |
|
382 | 411 | |
|
383 | 412 | def createalternatelocationresponseframe(stream, requestid, location): |
|
384 | 413 | data = { |
@@ -395,10 +424,19 b' def createalternatelocationresponseframe' | |||
|
395 | 424 | if value is not None: |
|
396 | 425 | data[b'location'][pycompat.bytestr(a)] = value |
|
397 | 426 | |
|
427 | payload = b''.join(cborutil.streamencode(data)) | |
|
428 | ||
|
429 | if stream.streamsettingssent: | |
|
430 | payload = stream.encode(payload) | |
|
431 | encoded = True | |
|
432 | else: | |
|
433 | encoded = False | |
|
434 | ||
|
398 | 435 | return stream.makeframe(requestid=requestid, |
|
399 | 436 | typeid=FRAME_TYPE_COMMAND_RESPONSE, |
|
400 | 437 | flags=FLAG_COMMAND_RESPONSE_CONTINUATION, |
|
401 |
payload= |
|
|
438 | payload=payload, | |
|
439 | encoded=encoded) | |
|
402 | 440 | |
|
403 | 441 | def createcommanderrorresponse(stream, requestid, message, args=None): |
|
404 | 442 | # TODO should this be using a list of {'msg': ..., 'args': {}} so atom |
@@ -519,6 +557,8 b' class bufferingcommandresponseemitter(ob' | |||
|
519 | 557 | yield frame |
|
520 | 558 | return |
|
521 | 559 | |
|
560 | data = self._stream.encode(data) | |
|
561 | ||
|
522 | 562 | # There is a ton of potential to do more complicated things here. |
|
523 | 563 | # Our immediate goal is to coalesce small chunks into big frames, |
|
524 | 564 | # not achieve the fewest number of frames possible. So we go with |
@@ -548,7 +588,8 b' class bufferingcommandresponseemitter(ob' | |||
|
548 | 588 | self._requestid, |
|
549 | 589 | typeid=FRAME_TYPE_COMMAND_RESPONSE, |
|
550 | 590 | flags=FLAG_COMMAND_RESPONSE_CONTINUATION, |
|
551 |
payload=chunk |
|
|
591 | payload=chunk, | |
|
592 | encoded=True) | |
|
552 | 593 | |
|
553 | 594 | if offset == len(data): |
|
554 | 595 | return |
@@ -583,7 +624,8 b' class bufferingcommandresponseemitter(ob' | |||
|
583 | 624 | self._requestid, |
|
584 | 625 | typeid=FRAME_TYPE_COMMAND_RESPONSE, |
|
585 | 626 | flags=FLAG_COMMAND_RESPONSE_CONTINUATION, |
|
586 |
payload=payload |
|
|
627 | payload=payload, | |
|
628 | encoded=True) | |
|
587 | 629 | |
|
588 | 630 | # TODO consider defining encoders/decoders using the util.compressionengine |
|
589 | 631 | # mechanism. |
@@ -776,7 +818,9 b' class outputstream(stream):' | |||
|
776 | 818 | |
|
777 | 819 | def __init__(self, streamid, active=False): |
|
778 | 820 | super(outputstream, self).__init__(streamid, active=active) |
|
821 | self.streamsettingssent = False | |
|
779 | 822 | self._encoder = None |
|
823 | self._encodername = None | |
|
780 | 824 | |
|
781 | 825 | def setencoder(self, ui, name): |
|
782 | 826 | """Set the encoder for this stream. |
@@ -787,6 +831,7 b' class outputstream(stream):' | |||
|
787 | 831 | raise error.Abort(_('unknown stream encoder: %s') % name) |
|
788 | 832 | |
|
789 | 833 | self._encoder = STREAM_ENCODERS[name][0](ui) |
|
834 | self._encodername = name | |
|
790 | 835 | |
|
791 | 836 | def encode(self, data): |
|
792 | 837 | if not self._encoder: |
@@ -806,6 +851,45 b' class outputstream(stream):' | |||
|
806 | 851 | |
|
807 | 852 | self._encoder.finish() |
|
808 | 853 | |
|
854 | def makeframe(self, requestid, typeid, flags, payload, | |
|
855 | encoded=False): | |
|
856 | """Create a frame to be sent out over this stream. | |
|
857 | ||
|
858 | Only returns the frame instance. Does not actually send it. | |
|
859 | """ | |
|
860 | streamflags = 0 | |
|
861 | if not self._active: | |
|
862 | streamflags |= STREAM_FLAG_BEGIN_STREAM | |
|
863 | self._active = True | |
|
864 | ||
|
865 | if encoded: | |
|
866 | if not self.streamsettingssent: | |
|
867 | raise error.ProgrammingError( | |
|
868 | b'attempting to send encoded frame without sending stream ' | |
|
869 | b'settings') | |
|
870 | ||
|
871 | streamflags |= STREAM_FLAG_ENCODING_APPLIED | |
|
872 | ||
|
873 | if (typeid == FRAME_TYPE_STREAM_SETTINGS | |
|
874 | and flags & FLAG_STREAM_ENCODING_SETTINGS_EOS): | |
|
875 | self.streamsettingssent = True | |
|
876 | ||
|
877 | return makeframe(requestid, self.streamid, streamflags, typeid, flags, | |
|
878 | payload) | |
|
879 | ||
|
880 | def makestreamsettingsframe(self, requestid): | |
|
881 | """Create a stream settings frame for this stream. | |
|
882 | ||
|
883 | Returns frame data or None if no stream settings frame is needed or has | |
|
884 | already been sent. | |
|
885 | """ | |
|
886 | if not self._encoder or self.streamsettingssent: | |
|
887 | return None | |
|
888 | ||
|
889 | payload = b''.join(cborutil.streamencode(self._encodername)) | |
|
890 | return self.makeframe(requestid, FRAME_TYPE_STREAM_SETTINGS, | |
|
891 | FLAG_STREAM_ENCODING_SETTINGS_EOS, payload) | |
|
892 | ||
|
809 | 893 | def ensureserverstream(stream): |
|
810 | 894 | if stream.streamid % 2: |
|
811 | 895 | raise error.ProgrammingError('server should only write to even ' |
@@ -995,7 +1079,9 b' class serverreactor(object):' | |||
|
995 | 1079 | yield frame |
|
996 | 1080 | |
|
997 | 1081 | if emitted: |
|
998 |
|
|
|
1082 | for frame in createcommandresponseeosframes( | |
|
1083 | stream, requestid): | |
|
1084 | yield frame | |
|
999 | 1085 | break |
|
1000 | 1086 | |
|
1001 | 1087 | except error.WireprotoCommandError as e: |
@@ -1022,6 +1108,10 b' class serverreactor(object):' | |||
|
1022 | 1108 | 'alternatelocationresponse seen after initial ' |
|
1023 | 1109 | 'output object') |
|
1024 | 1110 | |
|
1111 | frame = stream.makestreamsettingsframe(requestid) | |
|
1112 | if frame: | |
|
1113 | yield frame | |
|
1114 | ||
|
1025 | 1115 | yield createalternatelocationresponseframe( |
|
1026 | 1116 | stream, requestid, o) |
|
1027 | 1117 | |
@@ -1034,7 +1124,16 b' class serverreactor(object):' | |||
|
1034 | 1124 | 'object follows alternatelocationresponse') |
|
1035 | 1125 | |
|
1036 | 1126 | if not emitted: |
|
1037 | yield createcommandresponseokframe(stream, requestid) | |
|
1127 | # Frame is optional. | |
|
1128 | frame = stream.makestreamsettingsframe(requestid) | |
|
1129 | if frame: | |
|
1130 | yield frame | |
|
1131 | ||
|
1132 | # May be None if empty frame (due to encoding). | |
|
1133 | frame = createcommandresponseokframe(stream, requestid) | |
|
1134 | if frame: | |
|
1135 | yield frame | |
|
1136 | ||
|
1038 | 1137 | emitted = True |
|
1039 | 1138 | |
|
1040 | 1139 | # Objects emitted by command functions can be serializable |
@@ -1121,13 +1220,25 b' class serverreactor(object):' | |||
|
1121 | 1220 | return self._handlesendframes(sendframes()) |
|
1122 | 1221 | |
|
1123 | 1222 | def makeoutputstream(self): |
|
1124 |
"""Create a stream to be used for sending data to the client. |
|
|
1223 | """Create a stream to be used for sending data to the client. | |
|
1224 | ||
|
1225 | If this is called before protocol settings frames are received, we | |
|
1226 | don't know what stream encodings are supported by the client and | |
|
1227 | we will default to identity. | |
|
1228 | """ | |
|
1125 | 1229 | streamid = self._nextoutgoingstreamid |
|
1126 | 1230 | self._nextoutgoingstreamid += 2 |
|
1127 | 1231 | |
|
1128 | 1232 | s = outputstream(streamid) |
|
1129 | 1233 | self._outgoingstreams[streamid] = s |
|
1130 | 1234 | |
|
1235 | # Always use the *server's* preferred encoder over the client's, | |
|
1236 | # as servers have more to lose from sub-optimal encoders being used. | |
|
1237 | for name in STREAM_ENCODERS_ORDER: | |
|
1238 | if name in self._sendersettings['contentencodings']: | |
|
1239 | s.setencoder(self._ui, name) | |
|
1240 | break | |
|
1241 | ||
|
1131 | 1242 | return s |
|
1132 | 1243 | |
|
1133 | 1244 | def _makeerrorresult(self, msg): |
@@ -194,7 +194,7 b' def _processhttpv2request(ui, repo, req,' | |||
|
194 | 194 | reactor = wireprotoframing.serverreactor(ui, deferoutput=True) |
|
195 | 195 | seencommand = False |
|
196 | 196 | |
|
197 | outstream = reactor.makeoutputstream() | |
|
197 | outstream = None | |
|
198 | 198 | |
|
199 | 199 | while True: |
|
200 | 200 | frame = wireprotoframing.readframe(req.bodyfh) |
@@ -207,6 +207,11 b' def _processhttpv2request(ui, repo, req,' | |||
|
207 | 207 | # Need more data before we can do anything. |
|
208 | 208 | continue |
|
209 | 209 | elif action == 'runcommand': |
|
210 | # Defer creating output stream because we need to wait for | |
|
211 | # protocol settings frames so proper encoding can be applied. | |
|
212 | if not outstream: | |
|
213 | outstream = reactor.makeoutputstream() | |
|
214 | ||
|
210 | 215 | sentoutput = _httpv2runcommand(ui, repo, req, res, authedperm, |
|
211 | 216 | reqcommand, reactor, outstream, |
|
212 | 217 | meta, issubsequent=seencommand) |
@@ -176,11 +176,14 b' Request to read-only command works out o' | |||
|
176 | 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 | s> 11\r\n | |
|
180 | s> \t\x00\x00\x01\x00\x02\x01\x92Hidentity | |
|
181 | s> \r\n | |
|
179 | 182 | s> 13\r\n |
|
180 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
183 | s> \x0b\x00\x00\x01\x00\x02\x041\xa1FstatusBok | |
|
181 | 184 | s> \r\n |
|
182 | 185 | s> 27\r\n |
|
183 |
s> \x1f\x00\x00\x01\x00\x02\x0 |
|
|
186 | s> \x1f\x00\x00\x01\x00\x02\x041X\x1dcustomreadonly bytes response | |
|
184 | 187 | s> \r\n |
|
185 | 188 | s> 8\r\n |
|
186 | 189 | s> \x00\x00\x00\x01\x00\x02\x002 |
@@ -209,16 +212,21 b' Request to read-only command works out o' | |||
|
209 | 212 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
210 | 213 | s> Transfer-Encoding: chunked\r\n |
|
211 | 214 | s> \r\n |
|
215 | s> 11\r\n | |
|
216 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
217 | s> Hidentity | |
|
218 | s> \r\n | |
|
219 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
212 | 220 | s> 13\r\n |
|
213 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
221 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
214 | 222 | s> \xa1FstatusBok |
|
215 | 223 | s> \r\n |
|
216 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
224 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
217 | 225 | s> 27\r\n |
|
218 |
s> \x1f\x00\x00\x01\x00\x02\x0 |
|
|
226 | s> \x1f\x00\x00\x01\x00\x02\x041 | |
|
219 | 227 | s> X\x1dcustomreadonly bytes response |
|
220 | 228 | s> \r\n |
|
221 | received frame(size=31; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
229 | received frame(size=31; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
222 | 230 | s> 8\r\n |
|
223 | 231 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
224 | 232 | s> \r\n |
@@ -335,11 +343,14 b' Authorized request for valid read-write ' | |||
|
335 | 343 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
336 | 344 | s> Transfer-Encoding: chunked\r\n |
|
337 | 345 | s> \r\n |
|
346 | s> 11\r\n | |
|
347 | s> \t\x00\x00\x01\x00\x02\x01\x92Hidentity | |
|
348 | s> \r\n | |
|
338 | 349 | s> 13\r\n |
|
339 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
350 | s> \x0b\x00\x00\x01\x00\x02\x041\xa1FstatusBok | |
|
340 | 351 | s> \r\n |
|
341 | 352 | s> 27\r\n |
|
342 |
s> \x1f\x00\x00\x01\x00\x02\x0 |
|
|
353 | s> \x1f\x00\x00\x01\x00\x02\x041X\x1dcustomreadonly bytes response | |
|
343 | 354 | s> \r\n |
|
344 | 355 | s> 8\r\n |
|
345 | 356 | s> \x00\x00\x00\x01\x00\x02\x002 |
@@ -464,11 +475,14 b' Multiple requests to regular command URL' | |||
|
464 | 475 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
465 | 476 | s> Transfer-Encoding: chunked\r\n |
|
466 | 477 | s> \r\n |
|
478 | s> 11\r\n | |
|
479 | s> \t\x00\x00\x01\x00\x02\x01\x92Hidentity | |
|
480 | s> \r\n | |
|
467 | 481 | s> 13\r\n |
|
468 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
482 | s> \x0b\x00\x00\x01\x00\x02\x041\xa1FstatusBok | |
|
469 | 483 | s> \r\n |
|
470 | 484 | s> 27\r\n |
|
471 |
s> \x1f\x00\x00\x01\x00\x02\x0 |
|
|
485 | s> \x1f\x00\x00\x01\x00\x02\x041X\x1dcustomreadonly bytes response | |
|
472 | 486 | s> \r\n |
|
473 | 487 | s> 8\r\n |
|
474 | 488 | s> \x00\x00\x00\x01\x00\x02\x002 |
@@ -503,20 +517,23 b' Multiple requests to "multirequest" URL ' | |||
|
503 | 517 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
504 | 518 | s> Transfer-Encoding: chunked\r\n |
|
505 | 519 | s> \r\n |
|
520 | s> 11\r\n | |
|
521 | s> \t\x00\x00\x01\x00\x02\x01\x92Hidentity | |
|
522 | s> \r\n | |
|
506 | 523 | s> 13\r\n |
|
507 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
524 | s> \x0b\x00\x00\x01\x00\x02\x041\xa1FstatusBok | |
|
508 | 525 | s> \r\n |
|
509 | 526 | s> 27\r\n |
|
510 |
s> \x1f\x00\x00\x01\x00\x02\x0 |
|
|
527 | s> \x1f\x00\x00\x01\x00\x02\x041X\x1dcustomreadonly bytes response | |
|
511 | 528 | s> \r\n |
|
512 | 529 | s> 8\r\n |
|
513 | 530 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
514 | 531 | s> \r\n |
|
515 | 532 | s> 13\r\n |
|
516 |
s> \x0b\x00\x00\x03\x00\x02\x0 |
|
|
533 | s> \x0b\x00\x00\x03\x00\x02\x041\xa1FstatusBok | |
|
517 | 534 | s> \r\n |
|
518 | 535 | s> 27\r\n |
|
519 |
s> \x1f\x00\x00\x03\x00\x02\x0 |
|
|
536 | s> \x1f\x00\x00\x03\x00\x02\x041X\x1dcustomreadonly bytes response | |
|
520 | 537 | s> \r\n |
|
521 | 538 | s> 8\r\n |
|
522 | 539 | s> \x00\x00\x00\x03\x00\x02\x002 |
@@ -553,20 +570,23 b' Interleaved requests to "multirequest" a' | |||
|
553 | 570 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
554 | 571 | s> Transfer-Encoding: chunked\r\n |
|
555 | 572 | s> \r\n |
|
573 | s> 11\r\n | |
|
574 | s> \t\x00\x00\x03\x00\x02\x01\x92Hidentity | |
|
575 | s> \r\n | |
|
556 | 576 | s> 13\r\n |
|
557 |
s> \x0b\x00\x00\x03\x00\x02\x0 |
|
|
577 | s> \x0b\x00\x00\x03\x00\x02\x041\xa1FstatusBok | |
|
558 | 578 | s> \r\n |
|
559 | 579 | s> 28\r\n |
|
560 |
s> \x00\x00\x03\x00\x02\x0 |
|
|
580 | s> \x00\x00\x03\x00\x02\x041\xa3Ibookmarks@Jnamespaces@Fphases@ | |
|
561 | 581 | s> \r\n |
|
562 | 582 | s> 8\r\n |
|
563 | 583 | s> \x00\x00\x00\x03\x00\x02\x002 |
|
564 | 584 | s> \r\n |
|
565 | 585 | s> 13\r\n |
|
566 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
586 | s> \x0b\x00\x00\x01\x00\x02\x041\xa1FstatusBok | |
|
567 | 587 | s> \r\n |
|
568 | 588 | s> 9\r\n |
|
569 |
s> \x01\x00\x00\x01\x00\x02\x0 |
|
|
589 | s> \x01\x00\x00\x01\x00\x02\x041\xa0 | |
|
570 | 590 | s> \r\n |
|
571 | 591 | s> 8\r\n |
|
572 | 592 | s> \x00\x00\x00\x01\x00\x02\x002 |
@@ -641,16 +661,21 b' Defining an invalid content encoding res' | |||
|
641 | 661 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
642 | 662 | s> Transfer-Encoding: chunked\r\n |
|
643 | 663 | s> \r\n |
|
664 | s> 11\r\n | |
|
665 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
666 | s> Hidentity | |
|
667 | s> \r\n | |
|
668 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
644 | 669 | s> 13\r\n |
|
645 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
670 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
646 | 671 | s> \xa1FstatusBok |
|
647 | 672 | s> \r\n |
|
648 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
673 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
649 | 674 | s> 1e\r\n |
|
650 |
s> \x16\x00\x00\x01\x00\x02\x0 |
|
|
675 | s> \x16\x00\x00\x01\x00\x02\x041 | |
|
651 | 676 | s> \x81T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 |
|
652 | 677 | s> \r\n |
|
653 | received frame(size=22; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
678 | received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
654 | 679 | s> 8\r\n |
|
655 | 680 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
656 | 681 | s> \r\n |
@@ -685,22 +710,18 b' Defining an invalid content encoding res' | |||
|
685 | 710 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
686 | 711 | s> Transfer-Encoding: chunked\r\n |
|
687 | 712 | s> \r\n |
|
688 |
s> 1 |
|
|
689 |
s> \ |
|
|
690 | s> \xa1FstatusBok | |
|
713 | s> 11\r\n | |
|
714 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
715 | s> Hzstd-8mb | |
|
691 | 716 | s> \r\n |
|
692 |
received frame(size= |
|
|
693 |
s> |
|
|
694 |
s> \x1 |
|
|
695 | s> \x81T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 | |
|
717 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
718 | s> 25\r\n | |
|
719 | s> \x1d\x00\x00\x01\x00\x02\x042 | |
|
720 | s> (\xb5/\xfd\x00P\xa4\x00\x00p\xa1FstatusBok\x81T\x00\x01\x00\tP\x02 | |
|
696 | 721 | s> \r\n |
|
697 |
received frame(size=2 |
|
|
698 | s> 8\r\n | |
|
699 | s> \x00\x00\x00\x01\x00\x02\x002 | |
|
700 | s> \r\n | |
|
722 | received frame(size=29; request=1; stream=2; streamflags=encoded; type=command-response; flags=eos) | |
|
701 | 723 | s> 0\r\n |
|
702 | 724 | s> \r\n |
|
703 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) | |
|
704 | 725 | response: [ |
|
705 | 726 | b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |
|
706 | 727 | ] |
@@ -333,16 +333,21 b' Client with HTTPv2 enabled automatically' | |||
|
333 | 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 | s> 11\r\n | |
|
337 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
338 | s> Hidentity | |
|
339 | s> \r\n | |
|
340 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
336 | 341 | s> 13\r\n |
|
337 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
342 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
338 | 343 | s> \xa1FstatusBok |
|
339 | 344 | s> \r\n |
|
340 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
345 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
341 | 346 | s> 1e\r\n |
|
342 |
s> \x16\x00\x00\x01\x00\x02\x0 |
|
|
347 | s> \x16\x00\x00\x01\x00\x02\x041 | |
|
343 | 348 | s> \x81T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 |
|
344 | 349 | s> \r\n |
|
345 | received frame(size=22; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
350 | received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
346 | 351 | s> 8\r\n |
|
347 | 352 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
348 | 353 | s> \r\n |
@@ -453,16 +453,21 b' capabilities command returns expected in' | |||
|
453 | 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 | s> 11\r\n | |
|
457 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
458 | s> Hidentity | |
|
459 | s> \r\n | |
|
460 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
456 | 461 | s> 13\r\n |
|
457 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
462 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
458 | 463 | s> \xa1FstatusBok |
|
459 | 464 | s> \r\n |
|
460 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
465 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
461 | 466 | s> 508\r\n |
|
462 |
s> \x00\x05\x00\x01\x00\x02\x0 |
|
|
467 | s> \x00\x05\x00\x01\x00\x02\x041 | |
|
463 | 468 | 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 | 469 | s> \r\n |
|
465 | received frame(size=1280; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
470 | received frame(size=1280; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
466 | 471 | s> 8\r\n |
|
467 | 472 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
468 | 473 | s> \r\n |
@@ -86,16 +86,21 b' Redirect targets advertised when configu' | |||
|
86 | 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 | s> 11\r\n | |
|
90 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
91 | s> Hidentity | |
|
92 | s> \r\n | |
|
93 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
89 | 94 | s> 13\r\n |
|
90 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
95 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
91 | 96 | s> \xa1FstatusBok |
|
92 | 97 | s> \r\n |
|
93 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
98 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
94 | 99 | s> 588\r\n |
|
95 |
s> \x80\x05\x00\x01\x00\x02\x0 |
|
|
100 | s> \x80\x05\x00\x01\x00\x02\x041 | |
|
96 | 101 | 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 | 102 | s> \r\n |
|
98 | received frame(size=1408; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
103 | received frame(size=1408; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
99 | 104 | s> 8\r\n |
|
100 | 105 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
101 | 106 | s> \r\n |
@@ -370,16 +375,21 b' Unknown protocol is filtered from compat' | |||
|
370 | 375 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
371 | 376 | s> Transfer-Encoding: chunked\r\n |
|
372 | 377 | s> \r\n |
|
378 | s> 11\r\n | |
|
379 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
380 | s> Hidentity | |
|
381 | s> \r\n | |
|
382 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
373 | 383 | s> 13\r\n |
|
374 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
384 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
375 | 385 | s> \xa1FstatusBok |
|
376 | 386 | s> \r\n |
|
377 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
387 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
378 | 388 | s> 5a3\r\n |
|
379 |
s> \x9b\x05\x00\x01\x00\x02\x0 |
|
|
389 | s> \x9b\x05\x00\x01\x00\x02\x041 | |
|
380 | 390 | 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 | 391 | s> \r\n |
|
382 | received frame(size=1435; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
392 | received frame(size=1435; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
383 | 393 | s> 8\r\n |
|
384 | 394 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
385 | 395 | s> \r\n |
@@ -660,16 +670,21 b' Missing SNI support filters targets that' | |||
|
660 | 670 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
661 | 671 | s> Transfer-Encoding: chunked\r\n |
|
662 | 672 | s> \r\n |
|
673 | s> 11\r\n | |
|
674 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
675 | s> Hidentity | |
|
676 | s> \r\n | |
|
677 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
663 | 678 | s> 13\r\n |
|
664 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
679 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
665 | 680 | s> \xa1FstatusBok |
|
666 | 681 | s> \r\n |
|
667 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
682 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
668 | 683 | s> 57b\r\n |
|
669 |
s> s\x05\x00\x01\x00\x02\x0 |
|
|
684 | s> s\x05\x00\x01\x00\x02\x041 | |
|
670 | 685 | 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 | 686 | s> \r\n |
|
672 | received frame(size=1395; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
687 | received frame(size=1395; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
673 | 688 | s> 8\r\n |
|
674 | 689 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
675 | 690 | s> \r\n |
@@ -940,16 +955,21 b' Unknown tls value is filtered from compa' | |||
|
940 | 955 | s> Content-Type: application/mercurial-exp-framing-0006\r\n |
|
941 | 956 | s> Transfer-Encoding: chunked\r\n |
|
942 | 957 | s> \r\n |
|
958 | s> 11\r\n | |
|
959 | s> \t\x00\x00\x01\x00\x02\x01\x92 | |
|
960 | s> Hidentity | |
|
961 | s> \r\n | |
|
962 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
943 | 963 | s> 13\r\n |
|
944 |
s> \x0b\x00\x00\x01\x00\x02\x0 |
|
|
964 | s> \x0b\x00\x00\x01\x00\x02\x041 | |
|
945 | 965 | s> \xa1FstatusBok |
|
946 | 966 | s> \r\n |
|
947 |
received frame(size=11; request=1; stream=2; streamflags= |
|
|
967 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
948 | 968 | s> 581\r\n |
|
949 |
s> y\x05\x00\x01\x00\x02\x0 |
|
|
969 | s> y\x05\x00\x01\x00\x02\x041 | |
|
950 | 970 | 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 | 971 | s> \r\n |
|
952 | received frame(size=1401; request=1; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
972 | received frame(size=1401; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
953 | 973 | s> 8\r\n |
|
954 | 974 | s> \x00\x00\x00\x01\x00\x02\x002 |
|
955 | 975 | s> \r\n |
@@ -45,11 +45,12 b' Test basic clone' | |||
|
45 | 45 | sending command known: { |
|
46 | 46 | 'nodes': [] |
|
47 | 47 | } |
|
48 |
received frame(size= |
|
|
49 |
received frame(size= |
|
|
48 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
49 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
50 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
50 | 51 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
51 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
52 | received frame(size=1; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
52 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
53 | received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
53 | 54 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
54 | 55 | sending 1 commands |
|
55 | 56 | sending command changesetdata: { |
@@ -67,8 +68,9 b' Test basic clone' | |||
|
67 | 68 | ] |
|
68 | 69 | ] |
|
69 | 70 | } |
|
70 |
received frame(size= |
|
|
71 |
received frame(size= |
|
|
71 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
72 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
73 | received frame(size=941; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
72 | 74 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
73 | 75 | add changeset 3390ef850073 |
|
74 | 76 | add changeset 4432d83626e8 |
@@ -92,8 +94,9 b' Test basic clone' | |||
|
92 | 94 | ], |
|
93 | 95 | 'tree': '' |
|
94 | 96 | } |
|
95 |
received frame(size= |
|
|
96 |
received frame(size= |
|
|
97 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
98 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
99 | received frame(size=992; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
97 | 100 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
98 | 101 | sending 2 commands |
|
99 | 102 | sending command filedata: { |
@@ -122,11 +125,12 b' Test basic clone' | |||
|
122 | 125 | ], |
|
123 | 126 | 'path': 'b' |
|
124 | 127 | } |
|
125 |
received frame(size= |
|
|
126 |
received frame(size= |
|
|
128 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
129 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
130 | received frame(size=431; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
127 | 131 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
128 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
129 | received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
132 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
133 | received frame(size=431; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
130 | 134 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
131 | 135 | updating the branch cache |
|
132 | 136 | new changesets 3390ef850073:caa2a465451d (3 drafts) |
@@ -173,8 +177,9 b' Cloning only a specific revision works' | |||
|
173 | 177 | sending command lookup: { |
|
174 | 178 | 'key': '4432d83626e8' |
|
175 | 179 | } |
|
176 |
received frame(size= |
|
|
177 |
received frame(size= |
|
|
180 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
181 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
182 | received frame(size=21; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
178 | 183 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
179 | 184 | query 1; heads |
|
180 | 185 | sending 2 commands |
@@ -182,11 +187,12 b' Cloning only a specific revision works' | |||
|
182 | 187 | sending command known: { |
|
183 | 188 | 'nodes': [] |
|
184 | 189 | } |
|
185 |
received frame(size= |
|
|
186 |
received frame(size= |
|
|
190 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
191 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
192 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
187 | 193 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
188 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
189 | received frame(size=1; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
194 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
195 | received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
190 | 196 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
191 | 197 | sending 1 commands |
|
192 | 198 | sending command changesetdata: { |
@@ -203,8 +209,9 b' Cloning only a specific revision works' | |||
|
203 | 209 | ] |
|
204 | 210 | ] |
|
205 | 211 | } |
|
206 |
received frame(size= |
|
|
207 |
received frame(size= |
|
|
212 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
213 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
214 | received frame(size=381; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
208 | 215 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
209 | 216 | add changeset 3390ef850073 |
|
210 | 217 | add changeset 4432d83626e8 |
@@ -222,8 +229,9 b' Cloning only a specific revision works' | |||
|
222 | 229 | ], |
|
223 | 230 | 'tree': '' |
|
224 | 231 | } |
|
225 |
received frame(size= |
|
|
226 |
received frame(size= |
|
|
232 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
233 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
234 | received frame(size=404; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
227 | 235 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
228 | 236 | sending 2 commands |
|
229 | 237 | sending command filedata: { |
@@ -249,11 +257,12 b' Cloning only a specific revision works' | |||
|
249 | 257 | ], |
|
250 | 258 | 'path': 'b' |
|
251 | 259 | } |
|
252 |
received frame(size= |
|
|
253 |
received frame(size= |
|
|
260 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
261 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
262 | received frame(size=277; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
254 | 263 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
255 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
256 | received frame(size=123; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
264 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
265 | received frame(size=123; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
257 | 266 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
258 | 267 | updating the branch cache |
|
259 | 268 | new changesets 3390ef850073:4432d83626e8 |
@@ -286,11 +295,12 b' Incremental pull works' | |||
|
286 | 295 | 'D2\xd86&\xe8\xa9\x86U\xf0b\xec\x1f*C\xb0\x7f\x7f\xbb\xb0' |
|
287 | 296 | ] |
|
288 | 297 | } |
|
289 |
received frame(size= |
|
|
290 |
received frame(size= |
|
|
298 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
299 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
300 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
291 | 301 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
292 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
293 | received frame(size=2; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
302 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
303 | received frame(size=2; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
294 | 304 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
295 | 305 | searching for changes |
|
296 | 306 | all local heads known remotely |
@@ -312,8 +322,9 b' Incremental pull works' | |||
|
312 | 322 | ] |
|
313 | 323 | ] |
|
314 | 324 | } |
|
315 |
received frame(size= |
|
|
316 |
received frame(size= |
|
|
325 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
326 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
327 | received frame(size=613; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
317 | 328 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
318 | 329 | add changeset cd2534766bec |
|
319 | 330 | add changeset e96ae20f4188 |
@@ -333,8 +344,9 b' Incremental pull works' | |||
|
333 | 344 | ], |
|
334 | 345 | 'tree': '' |
|
335 | 346 | } |
|
336 |
received frame(size= |
|
|
337 |
received frame(size= |
|
|
347 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
348 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
349 | received frame(size=601; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
338 | 350 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
339 | 351 | sending 2 commands |
|
340 | 352 | sending command filedata: { |
@@ -362,11 +374,12 b' Incremental pull works' | |||
|
362 | 374 | ], |
|
363 | 375 | 'path': 'b' |
|
364 | 376 | } |
|
365 |
received frame(size= |
|
|
366 |
received frame(size= |
|
|
377 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
378 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
379 | received frame(size=277; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
367 | 380 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
368 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
369 | received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
381 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
382 | received frame(size=431; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
370 | 383 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
371 | 384 | updating the branch cache |
|
372 | 385 | new changesets cd2534766bec:caa2a465451d (3 drafts) |
@@ -409,11 +422,12 b' Phase-only update works' | |||
|
409 | 422 | '\xca\xa2\xa4eE\x1d\xd1\xfa\xcd\xa0\xf5\xb1#\x12\xc3UXA\x88\xa1' |
|
410 | 423 | ] |
|
411 | 424 | } |
|
412 |
received frame(size= |
|
|
413 |
received frame(size= |
|
|
425 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
426 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
427 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
414 | 428 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
415 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
416 | received frame(size=3; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
429 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
430 | received frame(size=3; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
417 | 431 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
418 | 432 | searching for changes |
|
419 | 433 | all remote heads known locally |
@@ -436,8 +450,9 b' Phase-only update works' | |||
|
436 | 450 | ] |
|
437 | 451 | ] |
|
438 | 452 | } |
|
439 |
received frame(size= |
|
|
440 |
received frame(size= |
|
|
453 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
454 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
455 | received frame(size=92; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
441 | 456 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
442 | 457 | checking for updated bookmarks |
|
443 | 458 | 2 local changesets published |
@@ -472,11 +487,12 b' Bookmarks are transferred on clone' | |||
|
472 | 487 | sending command known: { |
|
473 | 488 | 'nodes': [] |
|
474 | 489 | } |
|
475 |
received frame(size= |
|
|
476 |
received frame(size= |
|
|
490 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
491 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
492 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
477 | 493 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
478 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
479 | received frame(size=1; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
494 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
495 | received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
480 | 496 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
481 | 497 | sending 1 commands |
|
482 | 498 | sending command changesetdata: { |
@@ -494,8 +510,9 b' Bookmarks are transferred on clone' | |||
|
494 | 510 | ] |
|
495 | 511 | ] |
|
496 | 512 | } |
|
497 |
received frame(size= |
|
|
498 |
received frame(size= |
|
|
513 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
514 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
515 | received frame(size=979; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
499 | 516 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
500 | 517 | add changeset 3390ef850073 |
|
501 | 518 | add changeset 4432d83626e8 |
@@ -521,8 +538,9 b' Bookmarks are transferred on clone' | |||
|
521 | 538 | ], |
|
522 | 539 | 'tree': '' |
|
523 | 540 | } |
|
524 |
received frame(size= |
|
|
525 |
received frame(size= |
|
|
541 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
542 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
543 | received frame(size=992; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
526 | 544 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
527 | 545 | sending 2 commands |
|
528 | 546 | sending command filedata: { |
@@ -551,11 +569,12 b' Bookmarks are transferred on clone' | |||
|
551 | 569 | ], |
|
552 | 570 | 'path': 'b' |
|
553 | 571 | } |
|
554 |
received frame(size= |
|
|
555 |
received frame(size= |
|
|
572 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
573 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
574 | received frame(size=431; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
556 | 575 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
557 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
558 | received frame(size=431; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
576 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
577 | received frame(size=431; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
559 | 578 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
560 | 579 | updating the branch cache |
|
561 | 580 | new changesets 3390ef850073:caa2a465451d (1 drafts) |
@@ -583,11 +602,12 b' Server-side bookmark moves are reflected' | |||
|
583 | 602 | '\xca\xa2\xa4eE\x1d\xd1\xfa\xcd\xa0\xf5\xb1#\x12\xc3UXA\x88\xa1' |
|
584 | 603 | ] |
|
585 | 604 | } |
|
586 |
received frame(size= |
|
|
587 |
received frame(size= |
|
|
605 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
606 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
607 | received frame(size=43; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
588 | 608 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
589 | received frame(size=11; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
590 | received frame(size=3; request=3; stream=2; streamflags=; type=command-response; flags=continuation) | |
|
609 | received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
610 | received frame(size=3; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
591 | 611 | received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos) |
|
592 | 612 | searching for changes |
|
593 | 613 | all remote heads known locally |
@@ -610,8 +630,9 b' Server-side bookmark moves are reflected' | |||
|
610 | 630 | ] |
|
611 | 631 | ] |
|
612 | 632 | } |
|
613 |
received frame(size= |
|
|
614 |
received frame(size=1 |
|
|
633 | received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos) | |
|
634 | received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
635 | received frame(size=144; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation) | |
|
615 | 636 | received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) |
|
616 | 637 | checking for updated bookmarks |
|
617 | 638 | updating bookmark book-1 |
@@ -371,8 +371,9 b' class ServerReactorTests(unittest.TestCa' | |||
|
371 | 371 | outstream, 1, [b'response']) |
|
372 | 372 | self.assertaction(result, b'sendframes') |
|
373 | 373 | self.assertframesequal(result[1][b'framegen'], [ |
|
374 |
b'1 2 stream-begin |
|
|
375 |
b'1 2 |
|
|
374 | b'1 2 stream-begin stream-settings eos cbor:b"identity"', | |
|
375 | b'1 2 encoded command-response continuation %s' % OK, | |
|
376 | b'1 2 encoded command-response continuation cbor:b"response"', | |
|
376 | 377 | b'1 2 0 command-response eos ', |
|
377 | 378 | ]) |
|
378 | 379 | |
@@ -390,10 +391,11 b' class ServerReactorTests(unittest.TestCa' | |||
|
390 | 391 | outstream, 1, [first + second]) |
|
391 | 392 | self.assertaction(result, b'sendframes') |
|
392 | 393 | self.assertframesequal(result[1][b'framegen'], [ |
|
393 |
b'1 2 stream-begin |
|
|
394 |
b'1 2 |
|
|
395 |
b'1 2 |
|
|
396 |
b'1 2 |
|
|
394 | b'1 2 stream-begin stream-settings eos cbor:b"identity"', | |
|
395 | b'1 2 encoded command-response continuation %s' % OK, | |
|
396 | b'1 2 encoded command-response continuation Y\x80d', | |
|
397 | b'1 2 encoded command-response continuation %s' % first, | |
|
398 | b'1 2 encoded command-response continuation %s' % second, | |
|
397 | 399 | b'1 2 0 command-response eos ' |
|
398 | 400 | ]) |
|
399 | 401 | |
@@ -427,8 +429,9 b' class ServerReactorTests(unittest.TestCa' | |||
|
427 | 429 | result = reactor.oninputeof() |
|
428 | 430 | self.assertaction(result, b'sendframes') |
|
429 | 431 | self.assertframesequal(result[1][b'framegen'], [ |
|
430 |
b'1 2 stream-begin |
|
|
431 |
b'1 2 |
|
|
432 | b'1 2 stream-begin stream-settings eos cbor:b"identity"', | |
|
433 | b'1 2 encoded command-response continuation %s' % OK, | |
|
434 | b'1 2 encoded command-response continuation cbor:b"response"', | |
|
432 | 435 | b'1 2 0 command-response eos ', |
|
433 | 436 | ]) |
|
434 | 437 | |
@@ -448,11 +451,12 b' class ServerReactorTests(unittest.TestCa' | |||
|
448 | 451 | result = reactor.oninputeof() |
|
449 | 452 | self.assertaction(result, b'sendframes') |
|
450 | 453 | self.assertframesequal(result[1][b'framegen'], [ |
|
451 |
b'1 2 stream-begin |
|
|
452 |
b'1 2 |
|
|
454 | b'1 2 stream-begin stream-settings eos cbor:b"identity"', | |
|
455 | b'1 2 encoded command-response continuation %s' % OK, | |
|
456 | b'1 2 encoded command-response continuation cbor:b"response1"', | |
|
453 | 457 | b'1 2 0 command-response eos ', |
|
454 |
b'3 2 |
|
|
455 |
b'3 2 |
|
|
458 | b'3 2 encoded command-response continuation %s' % OK, | |
|
459 | b'3 2 encoded command-response continuation cbor:b"response2"', | |
|
456 | 460 | b'3 2 0 command-response eos ', |
|
457 | 461 | ]) |
|
458 | 462 | |
@@ -472,14 +476,15 b' class ServerReactorTests(unittest.TestCa' | |||
|
472 | 476 | result = reactor.oninputeof() |
|
473 | 477 | self.assertaction(result, b'sendframes') |
|
474 | 478 | self.assertframesequal(result[1][b'framegen'], [ |
|
475 |
b'3 2 stream-begin |
|
|
476 |
b'3 2 |
|
|
479 | b'3 2 stream-begin stream-settings eos cbor:b"identity"', | |
|
480 | b'3 2 encoded command-response continuation %s' % OK, | |
|
481 | b'3 2 encoded command-response continuation cbor:b"response3"', | |
|
477 | 482 | b'3 2 0 command-response eos ', |
|
478 |
b'1 2 |
|
|
479 |
b'1 2 |
|
|
483 | b'1 2 encoded command-response continuation %s' % OK, | |
|
484 | b'1 2 encoded command-response continuation cbor:b"response1"', | |
|
480 | 485 | b'1 2 0 command-response eos ', |
|
481 |
b'5 2 |
|
|
482 |
b'5 2 |
|
|
486 | b'5 2 encoded command-response continuation %s' % OK, | |
|
487 | b'5 2 encoded command-response continuation cbor:b"response5"', | |
|
483 | 488 | b'5 2 0 command-response eos ', |
|
484 | 489 | ]) |
|
485 | 490 |
General Comments 0
You need to be logged in to leave comments.
Login now