25개 이상의 토픽을 선택하실 수 없습니다.
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
#' Return a HAR entry response as an httr::response object
|
|
#'
|
|
#' @param har_entry a HAR object (should contain a response body to be most useful)
|
|
#' @export
|
|
#' @examples \dontrun{
|
|
#' library(purrr)
|
|
#'
|
|
#' URL <- "http://www.svs.cl/portal/principal/605/w3-propertyvalue-18554.html"
|
|
#'
|
|
#' splash_local %>%
|
|
#' splash_response_body(TRUE) %>%
|
|
#' splash_user_agent(ua_macos_chrome) %>%
|
|
#' splash_go(URL) %>%
|
|
#' splash_wait(2) %>%
|
|
#' splash_har() -> har
|
|
#'
|
|
#' keep(har$log$entries, is_xhr) %>%
|
|
#' map(as_request) %>%
|
|
#' map(httr::content, as="parsed")
|
|
#' }
|
|
as_response <- function(har_entry) {
|
|
|
|
if (length(har_entry$response$content$text) > 0) {
|
|
content_body <- openssl::base64_decode(har_entry$response$content$text)
|
|
} else {
|
|
content_body <- NULL
|
|
}
|
|
|
|
structure(list(
|
|
url = har_entry$request$url,
|
|
status_code = har_entry$response$status,
|
|
date = lubridate::ymd_hms(har_entry$startedDateTime),
|
|
headers = setNames(map(har_entry$response$headers, "value"),
|
|
map(har_entry$response$headers, "name")) %>%
|
|
insensitive(),
|
|
content = content_body
|
|
), class="response")
|
|
|
|
}
|
|
|