use_midden: use_midden

Description Usage Arguments Examples

View source: R/use_midden.R

Description

use a midden: cache http requests

Usage

1

Arguments

...

a function

Examples

 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
## Not run: 
wm_configuration("rainforest9")
midden_current()

if (requireNamespace("crul")) {
some_http_request <- function(...) {
  x <- crul::HttpClient$new("https://httpbin.org", opts = list(...))
  x$get("get")
}
some_fxn <- function(...) {
  res <- some_http_request(...)
  jsonlite::fromJSON(res$parse("UTF-8"))
}

# real http request
some_fxn(verbose = TRUE)

# use webmiddens: 1st request is a real one, 2nd is cached
wm_enable()
(res1 <- use_midden(some_fxn(verbose = TRUE)))
(res2 <- use_midden(some_fxn(verbose = TRUE)))

# you can cleanup cached responses to do a real request
x <- midden_current()
x
x$cleanup()
use_midden(some_fxn(verbose = TRUE))

# set an expiration time - 30 seconds
wm_configuration("rainforest9", expire = 30)
self <- midden_current()
self
self$.__enclos_env__$private$expiry
(res1 <- use_midden(some_fxn(verbose = TRUE)))
(res2 <- use_midden(some_fxn(verbose = TRUE)))
}
## End(Not run)

ropensci/webmiddens documentation built on Dec. 11, 2020, 9:03 p.m.