Tools to Work with the 'Splash' JavaScript Rendering Service in R
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

65 рядки
1.5KB

  1. splash_url <- function(splash_obj) { sprintf("http://%s:%s", splash_obj$host, splash_obj$port) }
  2. #' Configure parameters for connecting to a Splash server
  3. #'
  4. #' @param host host or IP address
  5. #' @param port port the server is running on (default is 8050)
  6. #' @export
  7. splash <- function(host, port=8050L) {
  8. list(host=host, port=port)
  9. }
  10. #' Test if a Splash server is up
  11. #'
  12. #' @param splash_obj A splash connection object
  13. #' @export
  14. splash_active <- function(splash_obj) {
  15. httr::GET(splash_url(splash_obj), path="_ping") %>%
  16. httr::stop_for_status() %>%
  17. httr::content(as="text", encoding="UTF-8") %>%
  18. jsonlite::fromJSON() -> out
  19. out$url <- splash_url(splash_obj)
  20. class(out) <- c("splash_status", class(out))
  21. out
  22. }
  23. #' @rdname splash_active
  24. #' @keywords internal
  25. #' @export
  26. print.splash_status <- function(x, ...) {
  27. cat(sprintf("Status of splash instance on [%s]: %s. Max RSS: %s\n", x$url, x$status, x$maxrss))
  28. invisible(x)
  29. }
  30. #' Retrieve debug-level info for a Splash server
  31. #'
  32. #' @param splash_obj A splash connection object
  33. #' @export
  34. splash_debug <- function(splash_obj) {
  35. httr::GET(splash_url(splash_obj), path="_debug") %>%
  36. httr::stop_for_status() %>%
  37. httr::content(as="text", encoding="UTF-8") %>%
  38. jsonlite::fromJSON() -> out
  39. out$url <- splash_url(splash_obj)
  40. class(out) <- c("splash_debug", class(out))
  41. out
  42. }
  43. #' @rdname splash_debug
  44. #' @keywords internal
  45. #' @export
  46. print.splash_debug <- function(x, ...) {
  47. print(str(x))
  48. invisible(x)
  49. }