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