github.com/olivere/camlistore@v0.0.0-20140121221811-1b7ac2da0199/doc/protocol/discovery.txt (about) 1 Discovery is the process of asking the server for its configuration. 2 3 You send the discovery HTTP request to the URL the user has 4 configured. If the user hasn't specified a path, use "/". 5 6 Then make a GET request to that URL with either Accept header set to 7 "text/x-camli-configuration" or the the URL query parameter 8 "camli.mode" set to "config": 9 10 GET /some/user/?camli.mode=config HTTP/1.1 11 Host: camlihost.example.com 12 13 Or: 14 15 GET / HTTP1.1 16 Host: 127.0.0.1 17 Accept: text/x-camli-configuration 18 19 The response is a JSON document: 20 21 { 22 "blobRoot": "/bs-and-maybe-also-index/", 23 "directoryHelper": "/ui/tree/", 24 "downloadHelper": "/ui/download/", 25 "jsonSignRoot": "/sighelper/", 26 "ownerName": "The User Name", 27 "publishRoots": {}, 28 "searchRoot": "/my-search/", 29 "signing": { 30 "publicKey": "/sighelper/camli/sha1-f72d9090b61b70ee6501cceacc9d81a0801d32f6", 31 "publicKeyBlobRef": "sha1-f72d9090b61b70ee6501cceacc9d81a0801d32f6", 32 "publicKeyId": "94DE83C46401800C", 33 "signHandler": "/sighelper/camli/sig/sign", 34 "verifyHandler": "/sighelper/camli/sig/verify" 35 }, 36 "statusRoot": "/status/", 37 "storageGeneration": "231ceff7a04a77cdf881b0422ea733334eee3b8f", 38 "storageInitTime": "2012-11-30T03:34:47Z", 39 "syncHandlers": [ 40 { 41 "from": "/bs/", 42 "to": "/index-mysql/", 43 "toIndex": true 44 }, 45 { 46 "from": "/bs/", 47 "to": "/sto-s3/", 48 "toIndex": false 49 } 50 ], 51 "thumbVersion": "2", 52 "uiRoot": "/ui/", 53 "uploadHelper": "/ui/?camli.mode=uploadhelper", 54 "wsAuthToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 55 } 56 57 TODO: document these more