context("legacy")
test_that("postBody is still available", {
r <- pr(test_path("files/legacy.R"))
res <- PlumberResponse$new()
test_body <- 'testing body\nline 2'
expect_identical(
r$route(make_req("POST", "/postBody", body = test_body), res),
test_body
)
})
test_that("postBody is not enabled by default", {
# Windows does not like the null pointer / non-utf8 body
skip_on_os("windows") # Flavor: r-oldrel-windows-ix86+x86_64
skip_on_cran() # Flavor: r-devel-linux-x86_64-debian-clang
bin_file <- test_path("files/multipart-form.bin")
bin_body <- readBin(bin_file, "raw", file.info(bin_file)$size)
req <- make_req(
"POST", "/postBody",
body = bin_body,
HTTP_CONTENT_TYPE = "multipart/form-data; boundary=----WebKitFormBoundaryMYdShB9nBc32BUhQ"
)
r <- pr(test_path("files/legacy.R"))
# when parsing a multipart file, null pointers don't behave well in strings
expect_output({
r$route(req, PlumberResponse$new())
}, "embedded nul in string")
req <- make_req(
"POST", "/body",
body = bin_body,
HTTP_CONTENT_TYPE = "multipart/form-data; boundary=----WebKitFormBoundaryMYdShB9nBc32BUhQ"
)
# when parsing a multipart file, null pointers don't behave well in strings
# So if `req$postBody` is not touched, there is no error.
expect_silent({
r$route(req, PlumberResponse$new())
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.