summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/rest/couchdb
blob: a59e18b1fd796b9a4a6adba7f39301ace5812709 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# documentation: http://wiki.apache.org/couchdb/HTTP_Document_API

package require rest

set couchdb(list_dbs) {
   url http://%server%/_all_dbs/
   result json
}

set couchdb(create_db) {
   url http://%server%/%name%/
   method put
}

set couchdb(delete_db) {
   url http://%server%/%name%/
   method delete
}

set couchdb(db_info) {
   url http://%server%/%name%/
}

set couchdb(list_docs) {
   url http://%server%/%db%/_all_docs
   opt_args { descending: startkey: endkey: limit: }
}

set couchdb(get) {
   url http://%server%/%db%/%doc%
}

set couchdb(put) {
   url http://%server%/%db%/%doc%
   method put
}

set couchdb(delete) {
   url http://%server%/%db%/%doc%
   req_args { rev: }
   method delete
}

set couchdb(copy) {
   url http://%server%/%db%/%from%
   method copy
   headers { Destination: %to% }
}

set couchdb(move) {
   url http://%server%/%db%/%from%
   method copy
   headers { Destination: %to% }
}

rest::create_interface couchdb