Mercurial > hg
diff tests/test-http-protocol.t @ 37013:b6a7070e7663
debugcommands: support sending HTTP requests with debugwireproto
We implement an action that can issue an HTTP request. We can define
headers via arguments and specify a file to use for the HTTP request
body.
The request uses the HTTP peer's opener, which is already configured
for auth, etc. This is both good and bad. Good in that we get some
nice behavior out of the box. Bad in that some HTTP request headers
are added automatically.
Differential Revision: https://phab.mercurial-scm.org/D2841
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 11:17:10 -0700 |
parents | fc8939825632 |
children | f2b5c2b7d2e5 |
line wrap: on
line diff
--- a/tests/test-http-protocol.t Tue Mar 13 10:02:03 2018 -0700 +++ b/tests/test-http-protocol.t Tue Mar 13 11:17:10 2018 -0700 @@ -226,4 +226,39 @@ s> phases response: bookmarks \nnamespaces \nphases +Same thing, but with "httprequest" command + + $ hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT << EOF + > httprequest GET ?cmd=listkeys + > accept: application/mercurial-0.1 + > user-agent: mercurial/proto-1.0 (Mercurial 42) + > x-hgarg-1: namespace=namespaces + > EOF + using raw connection to peer + s> sendall(*, 0): (glob) + s> GET /?cmd=listkeys HTTP/1.1\r\n + s> Accept-Encoding: identity\r\n + s> accept: application/mercurial-0.1\r\n + s> user-agent: mercurial/proto-1.0 (Mercurial 42)\r\n (glob) + s> x-hgarg-1: namespace=namespaces\r\n + s> host: $LOCALIP:$HGPORT\r\n (glob) + s> \r\n + s> makefile('rb', None) + s> readline() -> 36: + s> HTTP/1.1 200 Script output follows\r\n + s> readline() -> 28: + s> Server: testing stub value\r\n + s> readline() -> *: (glob) + s> Date: $HTTP_DATE$\r\n + s> readline() -> 41: + s> Content-Type: application/mercurial-0.1\r\n + s> readline() -> 20: + s> Content-Length: 30\r\n + s> readline() -> 2: + s> \r\n + s> read(30) -> 30: + s> bookmarks \n + s> namespaces \n + s> phases + $ killdaemons.py