Creates BackendRserve object which can start Application using Rserve backend.
R6::R6Class object.
Constructor for BackendRserve
.
BackendRserve$new(...)
...
Not used at the moment
start
(app, http_port = 8080, ..., background = FALSE)
Application, integer(1)
, any
, logical(1)
-> NULL
Starts RestRserve application from current R session.
http_port
- http port for application. Negative values (such as -1)
means not to expose plain http.
...
- key-value pairs of the Rserve configuration. If contains
"http.port"
then http_port
will be silently replaced with its value.
background
- whether to try to launch in background process on UNIX
systems. Ignored on windows.
set_request
(request, path = "/", parameters_query = NULL, headers = NULL, body = NULL)
:: function
request
:: Request
path
:: character(1)
Character with requested path. Always starts with /
.
parameters_query
:: named character()
A named character vector with URL decoded query parameters.
headers
:: raw()
| character(1)
Request HTTP headers.
body
:: raw()
| character()
Request body. Can be NULL
, raw vector or named character vector for the
URL encoded form (like a parameters_query
parameter).
convert_response
(response)
Response -> list()
Convert self
object to Rserve compatible structure.
According to http.c in Rserve # nolint
returned list should have the following structure:
body
: can be a character vector of length one or a raw vector.
if the character vector is named "file" then the content of a file of
that name is the body.
If the character vector is named "tmpfile" then the content of a
temporary file of that name is the body.
content-type
: must be a character vector of length one or NULL
(if present, else default is "text/plain"
).
headers
: must be a character vector - the elements will have CRLF
appended and neither Content-type
nor Content-length
may be used.
status-code
: must be an integer if present (default is 200).