Creates BackendRserve object which can start Application using Rserve backend.

References

See http.c in Rserve

Super class

RestRserve::Backend -> BackendRserve

Methods

Public methods

Inherited methods

Method new()

Creates BackendRserve object.

Usage

BackendRserve$new(..., jit_level = 0L, precompile = TRUE)

Arguments

...

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


Method start()

Starts RestRserve application from current R session.

Usage

BackendRserve$start(app, http_port = 8080, ..., background = FALSE)

Arguments

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.

Returns

ApplicationProcess object when background = TRUE.


Method set_request()

Parse request and set to it fields.

Usage

BackendRserve$set_request(
  request,
  path = "/",
  parameters_query = NULL,
  headers = NULL,
  body = NULL
)

Arguments

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).

Returns

request modified object.


Method convert_response()

Convert self object to Rserve compatible structure.

Usage

BackendRserve$convert_response(response)

Arguments

response

Response object.

Returns

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).


Method clone()

The objects of this class are cloneable with this method.

Usage

BackendRserve$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.