The decorate()
function can be used to prepare a function
for easy use in a beakr pipeline.
Decorating a function associates the specified function and its parameters
with req
, res
, and err
objects and assigns a
content-type to the response object. This prepares a standard R function to
be used in Beakr
instances and accept requests.
decorate(FUN, content_type = "text/html", strict = FALSE)
FUN | Function to decorate. |
---|---|
content_type | HTTP "content-type" of the function output. (e.g. "text/plain", "text/html" or other mime type) |
strict | Boolean, requiring strict parameter matching. |
A decorated middleware function.
# \donttest{ library(beakr) # Create an new Beakr instance beakr <- newBeakr() # Create simple hello and goodbye function hello <- function(name) { paste0("Hello, ", name, "!") } goodbye <- function(text = "Adios") { paste0(text, ", dear friend.") } # Create a web service from these functions beakr %>% httpGET(path = "/hello", decorate(hello)) %>% httpGET(path = "/goodbye", decorate(goodbye)) %>% handleErrors() %>% listen(host = '127.0.0.1', port = 25118, daemon = TRUE) # ------------------------------------------------------------ # POINT YOUR BROWSER AT: # * http://127.0.0.1:25118/hello?name=Honeydew # * http://127.0.0.1:25118/goodbye?text=Sionara # # THEN, STOP THE SERVER WITH stopServer(beakr) # ------------------------------------------------------------ # Stop the beakr instance server stopServer(beakr) # }