R/utils.R

Defines functions json2tbl_impl base_request

base_request <- function(endpoint_url, token) {
  user_agent <- Sys.getenv("HAKAI_API_USER_AGENT", "hakai-api-client-r")
  
  httr2::request(endpoint_url) |>
    httr2::req_headers("Authorization" = token) |>
    httr2::req_user_agent(user_agent) 
}


json2tbl_impl <- function(data) {
  # Handle special case of single vectors
  if (all(sapply(data, length) == 1)) {
    return(tibble::tibble(value = unlist(data)))
  }
  data <- lapply(data, function(data) {
    data[sapply(data, is.null)] <- NA  # nolint
    unlist(data)
  })
  data <- bind_rows(data)
  return(data)
}

Try the hakaiApi package in your browser

Any scripts or data that you put into this service are public.

hakaiApi documentation built on June 8, 2025, 1:50 p.m.