R/check_adl_fs.R

Defines functions check_adl_fs

check_adl_fs <- function(file_name, adl_fs_name){
  r <- httr::GET(paste0("https://", adl_fs_name, "/webhdfs/v1/", file_name, "?op=OPEN&read=true"),
                 httr::add_headers(Authorization = paste0("Bearer ", Sys.getenv("ADL_TOKEN"))))

  out <- tryCatch(
    {
      message("HTTP GET Request ...")
      message(paste("Checking File:", file_name))
      message(paste("ADL File System:", adl_fs_name))
      ifelse(r$status_code != 200,
      rlang::abort(),
      paste("HTTP Status Code: ", r$status_code))

    },
    error=function(cond) {
      rlang::warn("1. Check ADL_TOKEN with Sys.getenv(\"ADL_TOKEN\")")
      rlang::warn("2. Rerun set_adl_token()")
      rlang::warn("3. Check file_name")
      rlang::warn("4. Check adl_fs_name")
      # Choose a return value in case of error
      return(NA)
    },
    finally={
    }
  )
  return(out)

}
alexhallam/flyrod documentation built on Nov. 20, 2019, 7:33 a.m.