#' API query for SDMX output #' #' @param url url to query #' #' @return dataframe response sdmx_request <- function(url) { as.data.frame(rsdmx::readSDMX(url)) } #' API query for JSON output #' #' @param url url to query #' #' @return response: dataframe or list of dataframes json_request <- function(url) { jsonlite::fromJSON(rawToChar(httr::GET(url)$content)) } #' API query for CSV output #' #' @param url url to query #' #' @return dataframe response csv_request <- function(url) { read.csv(url) } # Request function based on expected response REQUEST_FUNCTION_MAPPING <- hash::hash( "SDMX-ML" = sdmx_request, "JSON" = json_request, "CSV" = csv_request )