-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
- caching enabled by default, for 30 days - add `use_cache = FALSE` to most dataverse functions to temporarily disable use - set environment variable DATAVERSE_USE_CACHE to FALSE to disable across function calls
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,27 @@ | ||
#' @importFrom cachem cache_disk | ||
#' | ||
#' @importFrom memoise memoise | ||
.onLoad <- function(libname, pkgname) { | ||
# a <- Sys.getenv("DATAVERSE_SERVER") | ||
# if(a == "") { | ||
# Sys.setenv("DATAVERSE_SERVER" = "dataverse.harvard.edu") | ||
# } | ||
# a <- Sys.getenv("DATAVERSE_SERVER") | ||
# if(a == "") { | ||
# Sys.setenv("DATAVERSE_SERVER" = "dataverse.harvard.edu") | ||
# } | ||
|
||
## implement API disk cache via 'memoise' | ||
cache_directory <- file.path( | ||
tools::R_user_dir(pkgname, "cache"), | ||
"api_cache" | ||
) | ||
get <- api_get_impl | ||
if (!dir.exists(cache_directory)) { | ||
status <- dir.create(cache_directory, recursive = TRUE) | ||
if (!status) | ||
warning("'dataverse' failed to create API cache") | ||
} | ||
if (dir.exists(cache_directory)) { | ||
# disk cache with max age 30 days | ||
cache <- cache_disk(cache_directory, max_age = 60 * 60 * 24 * 30) | ||
get <- memoise(get, cache = cache) | ||
} | ||
api_get_memoized <<- get | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
#' @param ... Additional arguments passed to an HTTP request function, such as | ||
#' \code{\link[httr]{GET}}, \code{\link[httr]{POST}}, or | ||
#' \code{\link[httr]{DELETE}}. | ||
#' @param ... Additional arguments passed to an HTTP request function, | ||
#' such as \code{\link[httr]{GET}}, \code{\link[httr]{POST}}, or | ||
#' \code{\link[httr]{DELETE}}. By default, HTTP requests use | ||
#' values cached from previous identical calls. Use | ||
#' \code{use_cache=FALSE} (or `Sys.setenv(DATAVERSE_USE_CACHE = | ||
#' FALSE)` if cached API calls are not desired. |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.