Creates Rserve backend for processing HTTP requests
Creates BackendRserve object which can start Application using Rserve backend.
RestRserve::Backend
-> BackendRserve
new()
Creates BackendRserve object.
BackendRserve$new(..., jit_level = 0L, precompile = FALSE)
...
: Not used at the moment.
jit_level
: changes R's byte compiler level to this value before app start.
precompile
: try to use R's byte compiler to pre-compile
start()
Starts RestRserve application from current R session.
BackendRserve$start(app, http_port = 8080, ..., background = FALSE)
app
: Application object.
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.
ApplicationProcess object when background = TRUE
.
set_request()
Parse request and set to it fields.
BackendRserve$set_request(
request,
path = "/",
parameters_query = NULL,
headers = NULL,
body = NULL
)
request
: Request object.
path
: Character with requested path. Always starts with /
.
parameters_query
: A named character vector with URL decoded query parameters.
headers
: Request HTTP headers.
body
: Request body. Can be NULL
, raw vector or named character vector for the URL encoded form (like a parameters_query
parameter).
request
modified object.
convert_response()
Convert self
object to Rserve compatible structure.
BackendRserve$convert_response(response)
response
: Response object.
List with 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).
clone()
The objects of this class are cloneable with this method.
BackendRserve$clone(deep = FALSE)
deep
: Whether to make a deep clone.
Useful links