sofa (version 0.2.0)

Cushion: sofa connection client

Description

sofa connection client

Arguments

host
(character) A base URL (without the transport), e.g., localhost, 127.0.0.1, or foobar.cloudant.com
port
(numeric) Port. Remember that if you don't want a port set, set this parameter to NULL. Default: 5984
path
(character) context path that is appended to the end of the url. e.g., bar in http://foo.com/bar. Default: NULL, ignored
transport
(character) http or https. Default: http
user
(character) A user name
pwd
(character) A password
headers
Either an object of class request or a list that can be coerced to an object of class request via add_headers. These headers are used in all requests. To use headers in individual requests and not others, pass in headers using add_headers via ... in a function call.

Value

An object of class Cushion, with variables accessible for host, port, path, transport, user, pwd, and headers. Functions are callable to get headers, and to make the base url sent with all requests.

CouchDB versions

sofa was built assuming CouchDB version 2 or greater. Some functionality of this package will work with versions < 2, while some may not (mango queries, see db_query). I don't plan to support older CouchDB versions per se.

Details

Methods

Examples

Run this code
## Not run: 
# # Create a CouchDB connection client
# (x <- Cushion$new())
# 
# ## metadata
# x$host
# x$path
# x$port
# x$type
# 
# ## ping the CouchDB server
# x$ping()
# 
# ## CouchDB server statistics
# # stats(x)
# 
# # create database
# db_create(x, "stuff")
# 
# # add documents to a database
# db_create(x, "sofadb")
# doc1 <- '{"name": "drink", "beer": "IPA", "score": 5}'
# doc_create(x, dbname="sofadb", docid="abeer", doc1)
# 
# # bulk create
# db_create(x, "mymtcars")
# bulk_create(x, dbname="mymtcars", doc = mtcars)
# db_list(x)
# 
# ## database info
# db_info(x, "bulktest")
# 
# ## list dbs
# db_list(x)
# 
# ## all docs
# alldocs(x, "bulktest", limit = 3)
# 
# ## changes
# changes(x, "bulktest")
# 
# # With auth
# x <- Cushion$new(user = 'sckott', pwd = 'sckott')
# 
# # Using Cloudant
# z <- Cushion$new(host = "ropensci.cloudant.com", transport = 'https', port = NULL,
#    user = 'ropensci', pwd = Sys.getenv('CLOUDANT_PWD'))
# z
# db_list(z)
# db_create(z, "stuff2")
# db_info(z, "stuff2")
# alldocs(z, "foobar")
# ## End(Not run)

Run the code above in your browser using DataLab