Cushion | R Documentation |
sofa connection client
sofa connection client
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.
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.
host
(character) host
port
(integer) port
path
(character) url path, if any
transport
(character) transport schema, (http|https)
user
(character) username
pwd
(character) password
headers
(list) named list of headers
new()
Create a new Cushion
object
Cushion$new(host, port, path, transport, user, pwd, headers)
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, pwd
(character) user name, and password. these are used in all requests. if absent, they are not passed to requests
headers
A named list of headers. These headers are used in all
requests. To use headers in individual requests and not others, pass
in headers via ...
in a function call.
A new Cushion
object
print()
print method for Cushion
Cushion$print()
x
self
...
ignored
ping()
Ping the CouchDB server
Cushion$ping(as = "list", ...)
as
(character) One of list (default) or json
...
curl options passed to crul::verb-GET
make_url()
Construct full base URL from the pieces in the connection object
Cushion$make_url()
get_headers()
Get list of headers that will be sent with each request
Cushion$get_headers()
get_auth()
Get list of auth values, user and pwd
Cushion$get_auth()
version()
Get the CouchDB version as a numeric
Cushion$version()
clone()
The objects of this class are cloneable with this method.
Cushion$clone(deep = FALSE)
deep
Whether to make a deep clone.
## Not run:
# Create a CouchDB connection client
user <- Sys.getenv("COUCHDB_TEST_USER")
pwd <- Sys.getenv("COUCHDB_TEST_PWD")
(x <- Cushion$new(user=user, pwd=pwd))
## metadata
x$host
x$path
x$port
x$type
## ping the CouchDB server
x$ping()
## get CouchDB version
x$version()
# create database
if (!"stuff" %in% db_list(x)) {
db_create(x, "stuff")
}
# add documents to a database
if (!"sofadb" %in% db_list(x)) {
db_create(x, "sofadb")
}
doc1 <- '{"name": "drink", "beer": "IPA", "score": 5}'
doc_create(x, dbname="sofadb", docid="abeer", doc1)
# bulk create
if (!"mymtcars" %in% db_list(x)) {
db_create(x, "mymtcars")
}
db_bulk_create(x, dbname="mymtcars", doc = mtcars)
db_list(x)
## database info
db_info(x, "mymtcars")
## list dbs
db_list(x)
## all docs
db_alldocs(x, "mymtcars", limit = 3)
## changes
db_changes(x, "mymtcars")
# 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")
# db_alldocs(z, "foobar")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.