tests/test-http-protocol.t
changeset 41401 4d86bdef3371
parent 40937 a0886a4d6dce
child 41402 090a797f2b47
equal deleted inserted replaced
41400:e6c1c6478d04 41401:4d86bdef3371
   177 
   177 
   178   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   178   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   179   > command listkeys
   179   > command listkeys
   180   >     namespace namespaces
   180   >     namespace namespaces
   181   > EOF
   181   > EOF
       
   182   s> setsockopt(6, 1, 1) -> None (py3 !)
   182   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   183   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   183   s>     Accept-Encoding: identity\r\n
   184   s>     Accept-Encoding: identity\r\n
   184   s>     accept: application/mercurial-0.1\r\n
   185   s>     accept: application/mercurial-0.1\r\n
   185   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   186   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   186   s>     user-agent: Mercurial debugwireproto\r\n
   187   s>     user-agent: Mercurial debugwireproto\r\n
   192   s>     Content-Type: application/mercurial-0.1\r\n
   193   s>     Content-Type: application/mercurial-0.1\r\n
   193   s>     Content-Length: *\r\n (glob)
   194   s>     Content-Length: *\r\n (glob)
   194   s>     \r\n
   195   s>     \r\n
   195   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   196   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   196   sending listkeys command
   197   sending listkeys command
       
   198   s> setsockopt(6, 1, 1) -> None (py3 !)
   197   s>     GET /?cmd=listkeys HTTP/1.1\r\n
   199   s>     GET /?cmd=listkeys HTTP/1.1\r\n
   198   s>     Accept-Encoding: identity\r\n
   200   s>     Accept-Encoding: identity\r\n
   199   s>     vary: X-HgArg-1,X-HgProto-1\r\n
   201   s>     vary: X-HgArg-1,X-HgProto-1\r\n
   200   s>     x-hgarg-1: namespace=namespaces\r\n
   202   s>     x-hgarg-1: namespace=namespaces\r\n
   201   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   203   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   226   > httprequest GET ?cmd=listkeys
   228   > httprequest GET ?cmd=listkeys
   227   >     user-agent: test
   229   >     user-agent: test
   228   >     x-hgarg-1: namespace=namespaces
   230   >     x-hgarg-1: namespace=namespaces
   229   > EOF
   231   > EOF
   230   using raw connection to peer
   232   using raw connection to peer
       
   233   s> setsockopt(6, 1, 1) -> None (py3 !)
   231   s>     GET /?cmd=listkeys HTTP/1.1\r\n
   234   s>     GET /?cmd=listkeys HTTP/1.1\r\n
   232   s>     Accept-Encoding: identity\r\n
   235   s>     Accept-Encoding: identity\r\n
   233   s>     user-agent: test\r\n
   236   s>     user-agent: test\r\n
   234   s>     x-hgarg-1: namespace=namespaces\r\n
   237   s>     x-hgarg-1: namespace=namespaces\r\n
   235   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   238   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   248 Client with HTTPv2 enabled advertises that and gets old capabilities response from old server
   251 Client with HTTPv2 enabled advertises that and gets old capabilities response from old server
   249 
   252 
   250   $ hg --config experimental.httppeer.advertise-v2=true --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   253   $ hg --config experimental.httppeer.advertise-v2=true --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   251   > command heads
   254   > command heads
   252   > EOF
   255   > EOF
       
   256   s> setsockopt(6, 1, 1) -> None (py3 !)
   253   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   257   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   254   s>     Accept-Encoding: identity\r\n
   258   s>     Accept-Encoding: identity\r\n
   255   s>     vary: X-HgProto-1,X-HgUpgrade-1\r\n
   259   s>     vary: X-HgProto-1,X-HgUpgrade-1\r\n
   256   s>     x-hgproto-1: cbor\r\n
   260   s>     x-hgproto-1: cbor\r\n
   257   s>     x-hgupgrade-1: exp-http-v2-0003\r\n
   261   s>     x-hgupgrade-1: exp-http-v2-0003\r\n
   266   s>     Content-Type: application/mercurial-0.1\r\n
   270   s>     Content-Type: application/mercurial-0.1\r\n
   267   s>     Content-Length: *\r\n (glob)
   271   s>     Content-Length: *\r\n (glob)
   268   s>     \r\n
   272   s>     \r\n
   269   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   273   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   270   sending heads command
   274   sending heads command
       
   275   s> setsockopt(6, 1, 1) -> None (py3 !)
   271   s>     GET /?cmd=heads HTTP/1.1\r\n
   276   s>     GET /?cmd=heads HTTP/1.1\r\n
   272   s>     Accept-Encoding: identity\r\n
   277   s>     Accept-Encoding: identity\r\n
   273   s>     vary: X-HgProto-1\r\n
   278   s>     vary: X-HgProto-1\r\n
   274   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   279   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   275   s>     accept: application/mercurial-0.1\r\n
   280   s>     accept: application/mercurial-0.1\r\n
   297 Client with HTTPv2 enabled automatically upgrades if the server supports it
   302 Client with HTTPv2 enabled automatically upgrades if the server supports it
   298 
   303 
   299   $ hg --config experimental.httppeer.advertise-v2=true --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   304   $ hg --config experimental.httppeer.advertise-v2=true --config experimental.httppeer.v2-encoder-order=identity --verbose debugwireproto http://$LOCALIP:$HGPORT << EOF
   300   > command heads
   305   > command heads
   301   > EOF
   306   > EOF
       
   307   s> setsockopt(6, 1, 1) -> None (py3 !)
   302   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   308   s>     GET /?cmd=capabilities HTTP/1.1\r\n
   303   s>     Accept-Encoding: identity\r\n
   309   s>     Accept-Encoding: identity\r\n
   304   s>     vary: X-HgProto-1,X-HgUpgrade-1\r\n
   310   s>     vary: X-HgProto-1,X-HgUpgrade-1\r\n
   305   s>     x-hgproto-1: cbor\r\n
   311   s>     x-hgproto-1: cbor\r\n
   306   s>     x-hgupgrade-1: exp-http-v2-0003\r\n
   312   s>     x-hgupgrade-1: exp-http-v2-0003\r\n
   315   s>     Content-Type: application/mercurial-cbor\r\n
   321   s>     Content-Type: application/mercurial-cbor\r\n
   316   s>     Content-Length: *\r\n (glob)
   322   s>     Content-Length: *\r\n (glob)
   317   s>     \r\n
   323   s>     \r\n
   318   s>     \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x83LgeneraldeltaHrevlogv1LsparserevlogNv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   324   s>     \xa3GapibaseDapi/Dapis\xa1Pexp-http-v2-0003\xa4Hcommands\xacIbranchmap\xa2Dargs\xa0Kpermissions\x81DpullLcapabilities\xa2Dargs\xa0Kpermissions\x81DpullMchangesetdata\xa2Dargs\xa2Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84IbookmarksGparentsEphaseHrevisionIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullHfiledata\xa2Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x83HlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDpath\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullIfilesdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x84NfirstchangesetHlinknodeGparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDdictIrevisions\xa2Hrequired\xf5DtypeDlistKpermissions\x81DpullTrecommendedbatchsize\x19\xc3PEheads\xa2Dargs\xa1Jpubliconly\xa3Gdefault\xf4Hrequired\xf4DtypeDboolKpermissions\x81DpullEknown\xa2Dargs\xa1Enodes\xa3Gdefault\x80Hrequired\xf4DtypeDlistKpermissions\x81DpullHlistkeys\xa2Dargs\xa1Inamespace\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullFlookup\xa2Dargs\xa1Ckey\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullLmanifestdata\xa3Dargs\xa4Ffields\xa4Gdefault\xd9\x01\x02\x80Hrequired\xf4DtypeCsetKvalidvalues\xd9\x01\x02\x82GparentsHrevisionKhaveparents\xa3Gdefault\xf4Hrequired\xf4DtypeDboolEnodes\xa2Hrequired\xf5DtypeDlistDtree\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpullTrecommendedbatchsize\x1a\x00\x01\x86\xa0Gpushkey\xa2Dargs\xa4Ckey\xa2Hrequired\xf5DtypeEbytesInamespace\xa2Hrequired\xf5DtypeEbytesCnew\xa2Hrequired\xf5DtypeEbytesCold\xa2Hrequired\xf5DtypeEbytesKpermissions\x81DpushPrawstorefiledata\xa2Dargs\xa2Efiles\xa2Hrequired\xf5DtypeDlistJpathfilter\xa3Gdefault\xf6Hrequired\xf4DtypeDlistKpermissions\x81DpullQframingmediatypes\x81X&application/mercurial-exp-framing-0006Rpathfilterprefixes\xd9\x01\x02\x82Epath:Lrootfilesin:Nrawrepoformats\x83LgeneraldeltaHrevlogv1LsparserevlogNv1capabilitiesY\x01\xe0batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   319   sending heads command
   325   sending heads command
       
   326   s> setsockopt(6, 1, 1) -> None (py3 !)
   320   s>     POST /api/exp-http-v2-0003/ro/heads HTTP/1.1\r\n
   327   s>     POST /api/exp-http-v2-0003/ro/heads HTTP/1.1\r\n
   321   s>     Accept-Encoding: identity\r\n
   328   s>     Accept-Encoding: identity\r\n
   322   s>     accept: application/mercurial-exp-framing-0006\r\n
   329   s>     accept: application/mercurial-exp-framing-0006\r\n
   323   s>     content-type: application/mercurial-exp-framing-0006\r\n
   330   s>     content-type: application/mercurial-exp-framing-0006\r\n
   324   s>     content-length: 56\r\n
   331   s>     content-length: 56\r\n
   406   $ hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT << EOF
   413   $ hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT << EOF
   407   > httprequest GET /redirector?cmd=capabilities
   414   > httprequest GET /redirector?cmd=capabilities
   408   >     user-agent: test
   415   >     user-agent: test
   409   > EOF
   416   > EOF
   410   using raw connection to peer
   417   using raw connection to peer
       
   418   s> setsockopt(6, 1, 1) -> None (py3 !)
   411   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   419   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   412   s>     Accept-Encoding: identity\r\n
   420   s>     Accept-Encoding: identity\r\n
   413   s>     user-agent: test\r\n
   421   s>     user-agent: test\r\n
   414   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   422   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   415   s>     \r\n
   423   s>     \r\n
   420   s>     Location: http://$LOCALIP:$HGPORT/redirected?cmd=capabilities\r\n (glob)
   428   s>     Location: http://$LOCALIP:$HGPORT/redirected?cmd=capabilities\r\n (glob)
   421   s>     Content-Type: text/plain\r\n
   429   s>     Content-Type: text/plain\r\n
   422   s>     Content-Length: 10\r\n
   430   s>     Content-Length: 10\r\n
   423   s>     \r\n
   431   s>     \r\n
   424   s>     redirected
   432   s>     redirected
       
   433   s> setsockopt(6, 1, 1) -> None (py3 !)
   425   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   434   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   426   s>     Accept-Encoding: identity\r\n
   435   s>     Accept-Encoding: identity\r\n
   427   s>     user-agent: test\r\n
   436   s>     user-agent: test\r\n
   428   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   437   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   429   s>     \r\n
   438   s>     \r\n
   439 Test with the HTTP peer
   448 Test with the HTTP peer
   440 
   449 
   441   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT/redirector << EOF
   450   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT/redirector << EOF
   442   > command heads
   451   > command heads
   443   > EOF
   452   > EOF
       
   453   s> setsockopt(6, 1, 1) -> None (py3 !)
   444   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   454   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   445   s>     Accept-Encoding: identity\r\n
   455   s>     Accept-Encoding: identity\r\n
   446   s>     accept: application/mercurial-0.1\r\n
   456   s>     accept: application/mercurial-0.1\r\n
   447   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   457   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   448   s>     user-agent: Mercurial debugwireproto\r\n
   458   s>     user-agent: Mercurial debugwireproto\r\n
   454   s>     Location: http://$LOCALIP:$HGPORT/redirected?cmd=capabilities\r\n (glob)
   464   s>     Location: http://$LOCALIP:$HGPORT/redirected?cmd=capabilities\r\n (glob)
   455   s>     Content-Type: text/plain\r\n
   465   s>     Content-Type: text/plain\r\n
   456   s>     Content-Length: 10\r\n
   466   s>     Content-Length: 10\r\n
   457   s>     \r\n
   467   s>     \r\n
   458   s>     redirected
   468   s>     redirected
       
   469   s> setsockopt(6, 1, 1) -> None (py3 !)
   459   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   470   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   460   s>     Accept-Encoding: identity\r\n
   471   s>     Accept-Encoding: identity\r\n
   461   s>     accept: application/mercurial-0.1\r\n
   472   s>     accept: application/mercurial-0.1\r\n
   462   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   473   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   463   s>     user-agent: Mercurial debugwireproto\r\n
   474   s>     user-agent: Mercurial debugwireproto\r\n
   470   s>     Content-Length: 480\r\n
   481   s>     Content-Length: 480\r\n
   471   s>     \r\n
   482   s>     \r\n
   472   real URL is http://$LOCALIP:$HGPORT/redirected (glob)
   483   real URL is http://$LOCALIP:$HGPORT/redirected (glob)
   473   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   484   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   474   sending heads command
   485   sending heads command
       
   486   s> setsockopt(6, 1, 1) -> None (py3 !)
   475   s>     GET /redirected?cmd=heads HTTP/1.1\r\n
   487   s>     GET /redirected?cmd=heads HTTP/1.1\r\n
   476   s>     Accept-Encoding: identity\r\n
   488   s>     Accept-Encoding: identity\r\n
   477   s>     vary: X-HgProto-1\r\n
   489   s>     vary: X-HgProto-1\r\n
   478   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   490   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   479   s>     accept: application/mercurial-0.1\r\n
   491   s>     accept: application/mercurial-0.1\r\n
   507   $ hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT << EOF
   519   $ hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT << EOF
   508   > httprequest GET /redirector?cmd=capabilities
   520   > httprequest GET /redirector?cmd=capabilities
   509   >     user-agent: test
   521   >     user-agent: test
   510   > EOF
   522   > EOF
   511   using raw connection to peer
   523   using raw connection to peer
       
   524   s> setsockopt(6, 1, 1) -> None (py3 !)
   512   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   525   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   513   s>     Accept-Encoding: identity\r\n
   526   s>     Accept-Encoding: identity\r\n
   514   s>     user-agent: test\r\n
   527   s>     user-agent: test\r\n
   515   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   528   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   516   s>     \r\n
   529   s>     \r\n
   521   s>     Location: http://$LOCALIP:$HGPORT/redirected\r\n (glob)
   534   s>     Location: http://$LOCALIP:$HGPORT/redirected\r\n (glob)
   522   s>     Content-Type: text/plain\r\n
   535   s>     Content-Type: text/plain\r\n
   523   s>     Content-Length: 10\r\n
   536   s>     Content-Length: 10\r\n
   524   s>     \r\n
   537   s>     \r\n
   525   s>     redirected
   538   s>     redirected
       
   539   s> setsockopt(6, 1, 1) -> None (py3 !)
   526   s>     GET /redirected HTTP/1.1\r\n
   540   s>     GET /redirected HTTP/1.1\r\n
   527   s>     Accept-Encoding: identity\r\n
   541   s>     Accept-Encoding: identity\r\n
   528   s>     user-agent: test\r\n
   542   s>     user-agent: test\r\n
   529   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   543   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   530   s>     \r\n
   544   s>     \r\n
   662   s>     \r\n
   676   s>     \r\n
   663 
   677 
   664   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT/redirector << EOF
   678   $ hg --verbose debugwireproto http://$LOCALIP:$HGPORT/redirector << EOF
   665   > command heads
   679   > command heads
   666   > EOF
   680   > EOF
       
   681   s> setsockopt(6, 1, 1) -> None (py3 !)
   667   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   682   s>     GET /redirector?cmd=capabilities HTTP/1.1\r\n
   668   s>     Accept-Encoding: identity\r\n
   683   s>     Accept-Encoding: identity\r\n
   669   s>     accept: application/mercurial-0.1\r\n
   684   s>     accept: application/mercurial-0.1\r\n
   670   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   685   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   671   s>     user-agent: Mercurial debugwireproto\r\n
   686   s>     user-agent: Mercurial debugwireproto\r\n
   677   s>     Location: http://$LOCALIP:$HGPORT/redirected\r\n (glob)
   692   s>     Location: http://$LOCALIP:$HGPORT/redirected\r\n (glob)
   678   s>     Content-Type: text/plain\r\n
   693   s>     Content-Type: text/plain\r\n
   679   s>     Content-Length: 10\r\n
   694   s>     Content-Length: 10\r\n
   680   s>     \r\n
   695   s>     \r\n
   681   s>     redirected
   696   s>     redirected
       
   697   s> setsockopt(6, 1, 1) -> None (py3 !)
   682   s>     GET /redirected HTTP/1.1\r\n
   698   s>     GET /redirected HTTP/1.1\r\n
   683   s>     Accept-Encoding: identity\r\n
   699   s>     Accept-Encoding: identity\r\n
   684   s>     accept: application/mercurial-0.1\r\n
   700   s>     accept: application/mercurial-0.1\r\n
   685   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   701   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   686   s>     user-agent: Mercurial debugwireproto\r\n
   702   s>     user-agent: Mercurial debugwireproto\r\n
   719   s>     </div>\n
   735   s>     </div>\n
   720   s>     <ul>\n
   736   s>     <ul>\n
   721   s>     <li class="active">log</li>\n
   737   s>     <li class="active">log</li>\n
   722   s>     <li><a href="/redirected/graph/tip">graph</a></li>\n
   738   s>     <li><a href="/redirected/graph/tip">graph</a></li>\n
   723   s>     <li><a href="/redirected/tags">tags</a
   739   s>     <li><a href="/redirected/tags">tags</a
       
   740   s> setsockopt(6, 1, 1) -> None (py3 !)
   724   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   741   s>     GET /redirected?cmd=capabilities HTTP/1.1\r\n
   725   s>     Accept-Encoding: identity\r\n
   742   s>     Accept-Encoding: identity\r\n
   726   s>     accept: application/mercurial-0.1\r\n
   743   s>     accept: application/mercurial-0.1\r\n
   727   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   744   s>     host: $LOCALIP:$HGPORT\r\n (glob)
   728   s>     user-agent: Mercurial debugwireproto\r\n
   745   s>     user-agent: Mercurial debugwireproto\r\n
   735   s>     Content-Length: 480\r\n
   752   s>     Content-Length: 480\r\n
   736   s>     \r\n
   753   s>     \r\n
   737   real URL is http://$LOCALIP:$HGPORT/redirected (glob)
   754   real URL is http://$LOCALIP:$HGPORT/redirected (glob)
   738   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   755   s>     batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset compression=$BUNDLE2_COMPRESSIONS$ getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
   739   sending heads command
   756   sending heads command
       
   757   s> setsockopt(6, 1, 1) -> None (py3 !)
   740   s>     GET /redirected?cmd=heads HTTP/1.1\r\n
   758   s>     GET /redirected?cmd=heads HTTP/1.1\r\n
   741   s>     Accept-Encoding: identity\r\n
   759   s>     Accept-Encoding: identity\r\n
   742   s>     vary: X-HgProto-1\r\n
   760   s>     vary: X-HgProto-1\r\n
   743   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   761   s>     x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n
   744   s>     accept: application/mercurial-0.1\r\n
   762   s>     accept: application/mercurial-0.1\r\n