Mercurial > hg
annotate tests/test-http-api.t @ 37533:df4985497986
wireproto: implement capabilities for wire protocol v2
The capabilities mechanism for wire protocol version 2 represents a
clean break from version 1.
Instead of effectively exchanging a set of capabilities, we're
exchanging a rich data structure.
This data structure currently contains information about
every available command, including its accepted arguments. It also
contains information about supported compression formats.
Exposing information about supported commands will allow clients
to automatically generate bindings to the server. Clients will be
able to do things like detect when they are attempting to run a
command that isn't known to the server. Exposing the required
permissions to run a command can be used by clients to determine if
they have privileges to call a command before actually calling it.
We could potentially even have clients send credentials
preemptively without waiting for the server to deny the command
request. Lots of potential here.
The data returned by this command will likely evolve heavily. So we
shouldn't bikeshed the implementation just yet.
Differential Revision: https://phab.mercurial-scm.org/D3200
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 09 Apr 2018 11:52:31 -0700 |
parents | db114320df7e |
children | 538e850ae737 |
rev | line source |
---|---|
37046
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 $ send() { |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 > hg --verbose debugwireproto --peer raw http://$LOCALIP:$HGPORT/ |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 > } |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 $ hg init server |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 $ cat hg.pid > $DAEMON_PIDS |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 Request to /api fails unless web.apiserver is enabled |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 |
37093
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
11 $ get-with-headers.py $LOCALIP:$HGPORT api |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
12 400 no such method: api |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
13 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
14 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
15 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
16 <head> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
17 <link rel="icon" href="/static/hgicon.png" type="image/png" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
18 <meta name="robots" content="index, nofollow" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
19 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
20 <script type="text/javascript" src="/static/mercurial.js"></script> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
21 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
22 <title>$TESTTMP/server: error</title> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
23 </head> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
24 <body> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
25 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
26 <div class="container"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
27 <div class="menu"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
28 <div class="logo"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
29 <a href="https://mercurial-scm.org/"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
30 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
31 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
32 <ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
33 <li><a href="/shortlog">log</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
34 <li><a href="/graph">graph</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
35 <li><a href="/tags">tags</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
36 <li><a href="/bookmarks">bookmarks</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
37 <li><a href="/branches">branches</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
38 </ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
39 <ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
40 <li><a href="/help">help</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
41 </ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
42 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
43 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
44 <div class="main"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
45 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
46 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
47 <h3>error</h3> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
48 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
49 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
50 <form class="search" action="/log"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
51 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
52 <p><input name="rev" id="search1" type="text" size="30" value="" /></p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
53 <div id="hint">Find changesets by keywords (author, files, the commit message), revision |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
54 number or hash, or <a href="/help/revsets">revset expression</a>.</div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
55 </form> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
56 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
57 <div class="description"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
58 <p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
59 An error occurred while processing your request: |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
60 </p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
61 <p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
62 no such method: api |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
63 </p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
64 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
65 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
66 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
67 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
68 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
69 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
70 </body> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
71 </html> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
72 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
73 [1] |
37046
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
74 |
37093
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
75 $ get-with-headers.py $LOCALIP:$HGPORT api/ |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
76 400 no such method: api |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
77 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
78 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
79 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
80 <head> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
81 <link rel="icon" href="/static/hgicon.png" type="image/png" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
82 <meta name="robots" content="index, nofollow" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
83 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" /> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
84 <script type="text/javascript" src="/static/mercurial.js"></script> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
85 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
86 <title>$TESTTMP/server: error</title> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
87 </head> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
88 <body> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
89 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
90 <div class="container"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
91 <div class="menu"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
92 <div class="logo"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
93 <a href="https://mercurial-scm.org/"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
94 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
95 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
96 <ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
97 <li><a href="/shortlog">log</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
98 <li><a href="/graph">graph</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
99 <li><a href="/tags">tags</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
100 <li><a href="/bookmarks">bookmarks</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
101 <li><a href="/branches">branches</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
102 </ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
103 <ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
104 <li><a href="/help">help</a></li> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
105 </ul> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
106 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
107 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
108 <div class="main"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
109 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
110 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
111 <h3>error</h3> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
112 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
113 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
114 <form class="search" action="/log"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
115 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
116 <p><input name="rev" id="search1" type="text" size="30" value="" /></p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
117 <div id="hint">Find changesets by keywords (author, files, the commit message), revision |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
118 number or hash, or <a href="/help/revsets">revset expression</a>.</div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
119 </form> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
120 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
121 <div class="description"> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
122 <p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
123 An error occurred while processing your request: |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
124 </p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
125 <p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
126 no such method: api |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
127 </p> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
128 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
129 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
130 </div> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
131 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
132 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
133 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
134 </body> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
135 </html> |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
136 |
db114320df7e
hgweb: don't responsd to api requests unless feature is enabled
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37046
diff
changeset
|
137 [1] |
37046
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
138 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
139 Restart server with support for API server |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
140 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
141 $ killdaemons.py |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
142 $ cat > server/.hg/hgrc << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
143 > [experimental] |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
144 > web.apiserver = true |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
145 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
146 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
147 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
148 $ cat hg.pid > $DAEMON_PIDS |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
149 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
150 /api lists available APIs (empty since none are available by default) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
151 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
152 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
153 > httprequest GET api |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
154 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
155 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
156 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
157 s> GET /api HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
158 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
159 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
160 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
161 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
162 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
163 s> HTTP/1.1 200 OK\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
164 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
165 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
166 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
167 s> Content-Length: 100\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
168 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
169 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
170 s> \n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
171 s> (no available APIs)\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
172 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
173 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
174 > httprequest GET api/ |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
175 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
176 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
177 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
178 s> GET /api/ HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
179 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
180 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
181 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
182 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
183 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
184 s> HTTP/1.1 200 OK\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
185 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
186 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
187 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
188 s> Content-Length: 100\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
189 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
190 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
191 s> \n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
192 s> (no available APIs)\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
193 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
194 Accessing an unknown API yields a 404 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
195 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
196 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
197 > httprequest GET api/unknown |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
198 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
199 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
200 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
201 s> GET /api/unknown HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
202 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
203 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
204 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
205 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
206 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
207 s> HTTP/1.1 404 Not Found\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
208 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
209 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
210 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
211 s> Content-Length: 33\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
212 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
213 s> Unknown API: unknown\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
214 s> Known APIs: |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
215 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
216 Accessing a known but not enabled API yields a different error |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
217 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
218 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
219 > httprequest GET api/exp-http-v2-0001 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
220 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
221 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
222 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
223 s> GET /api/exp-http-v2-0001 HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
224 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
225 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
226 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
227 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
228 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
229 s> HTTP/1.1 404 Not Found\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
230 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
231 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
232 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
233 s> Content-Length: 33\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
234 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
235 s> API exp-http-v2-0001 not enabled\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
236 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
237 Restart server with support for HTTP v2 API |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
238 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
239 $ killdaemons.py |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
240 $ cat > server/.hg/hgrc << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
241 > [experimental] |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
242 > web.apiserver = true |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
243 > web.api.http-v2 = true |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
244 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
245 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
246 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
247 $ cat hg.pid > $DAEMON_PIDS |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
248 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
249 /api lists the HTTP v2 protocol as available |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
250 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
251 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
252 > httprequest GET api |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
253 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
254 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
255 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
256 s> GET /api HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
257 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
258 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
259 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
260 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
261 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
262 s> HTTP/1.1 200 OK\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
263 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
264 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
265 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
266 s> Content-Length: 96\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
267 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
268 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
269 s> \n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
270 s> exp-http-v2-0001 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
271 |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
272 $ send << EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
273 > httprequest GET api/ |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
274 > user-agent: test |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
275 > EOF |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
276 using raw connection to peer |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
277 s> GET /api/ HTTP/1.1\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
278 s> Accept-Encoding: identity\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
279 s> user-agent: test\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
280 s> host: $LOCALIP:$HGPORT\r\n (glob) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
281 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
282 s> makefile('rb', None) |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
283 s> HTTP/1.1 200 OK\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
284 s> Server: testing stub value\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
285 s> Date: $HTTP_DATE$\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
286 s> Content-Type: text/plain\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
287 s> Content-Length: 96\r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
288 s> \r\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
289 s> APIs can be accessed at /api/<name>, where <name> can be one of the following:\n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
290 s> \n |
1cfef5693203
wireproto: support /api/* URL space for exposing APIs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
291 s> exp-http-v2-0001 |