Skip to content

Commit 565e557

Browse files
Merge pull request #1179 from OldLipe/feat/dev-sits
Fix request bug in `.cube_token_generator` and update `rstac` version in DESCRIPTION
2 parents 95c7b15 + 9f4768f commit 565e557

6 files changed

+42
-13
lines changed

DESCRIPTION

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Imports:
5555
parallel (>= 4.0.5),
5656
purrr (>= 1.0.2),
5757
Rcpp,
58-
rstac (>= 1.0.0),
58+
rstac (>= 1.0.1),
5959
sf (>= 1.0-12),
6060
showtext,
6161
sysfonts,

R/api_cube.R

+1-1
Original file line numberDiff line numberDiff line change
@@ -1334,7 +1334,7 @@ NULL
13341334
{
13351335
res <- .get_request(
13361336
url = url,
1337-
headers = c("Ocp-Apim-Subscription-Key" = access_key)
1337+
headers = list("Ocp-Apim-Subscription-Key" = access_key)
13381338
)
13391339
res <- .response_check_status(res)
13401340
.response_content(res)

R/api_download.R

+5-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,11 @@
138138
file <- .file_path("file://", file, sep = "")
139139
}
140140
# Perform request
141-
out <- .retry_request(url = file, path = out_file, n_tries = n_tries)
141+
out <- .retry_request(
142+
url = file,
143+
path = out_file,
144+
n_tries = n_tries
145+
)
142146
# Verify error
143147
if (.response_is_error(out)) {
144148
warning(paste("Error in downloading file", file))

R/api_request.R

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
#' @param header A named list with values to be passed in headers.
106106
#'
107107
#' @return A request object returned by the requisition package.
108-
.request_headers <- function(req_obj, ...) {
108+
.request_headers <- function(req_obj, header) {
109109
# check package
110110
pkg_class <- .request_check_package()
111111

R/api_request_httr2.R

+20-8
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#' @return A httr2 response object.
3030
#' @export
3131
.request.httr2 <- function(req_obj, ...) {
32-
httr2::req_perform(req_obj, verbosity = 0, ...)
32+
httr2::req_perform(req_obj, ...)
3333
}
3434

3535
#' @title Retry a GET requisition with httr2
@@ -66,18 +66,24 @@
6666
#' @param url A character with URL.
6767
#' @param query A named list with values to be passed in query.
6868
#' @param headers A named list with values to be passed to headers.
69-
#' @param ... Additional parameters to be passed to httr2 package
69+
#' @param ... Additional parameters to be passed to httr2 package.
70+
#' @param quiet Quiet requisition? Default is TRUE.
7071
#'
7172
#' @return A httr2 response object.
7273
#' @export
73-
.get_request.httr2 <- function(url, query = NULL, headers = NULL, ...) {
74+
.get_request.httr2 <- function(url, query = NULL, headers = NULL, ...,
75+
quiet = TRUE) {
7476
req_obj <- httr2::request(url)
7577
# Prepare query
76-
req_obj <- .prepare(query, .request_query(req_obj, query), req_obj)
78+
req_obj <- .prepare_null(query, .request_query(req_obj, query), req_obj)
7779
# Prepare headers
78-
req_obj <- .prepare(headers, .request_headers(req_obj, headers), req_obj)
80+
req_obj <- .prepare_null(
81+
headers, .request_headers(req_obj, headers), req_obj
82+
)
83+
# Quiet requisition? zero verbosity means quiet request
84+
quiet <- .prepare_lgl(quiet, 0, 1)
7985
# Perform request
80-
.request(req_obj, ...)
86+
.request(req_obj, verbosity = quiet, ...)
8187
}
8288

8389
#' @title Add query values into a request httr2 object
@@ -92,6 +98,9 @@
9298
#' @return A httr2 request object.
9399
#' @export
94100
.request_query.httr2 <- function(req_obj, query) {
101+
# Force to a named list
102+
query <- as.list(query)
103+
# Append query into requisition
95104
httr2::req_url_query(req_obj, !!!query)
96105
}
97106

@@ -106,7 +115,10 @@
106115
#'
107116
#' @return A httr2 request object.
108117
#' @export
109-
.request_headers.httr2 <- function(req_obj, header, ...) {
118+
.request_headers.httr2 <- function(req_obj, header) {
119+
# Force to a named list
120+
header <- as.list(header)
121+
# Create a default header
110122
default_value <- list(
111123
"User-Agent" = "SITS-R-PACKAGE (github.com/e-sensing/sits)",
112124
"Accept" = "*/*",
@@ -117,7 +129,7 @@
117129
x = header,
118130
val = default_value
119131
)
120-
132+
# Append headers into requisition
121133
httr2::req_headers(req_obj, !!!header_values)
122134
}
123135

R/api_utils.R

+14-1
Original file line numberDiff line numberDiff line change
@@ -286,13 +286,26 @@ NULL
286286
#' @param prepare Prepared value
287287
#' @param default Default value
288288
#' @returns Prepared value if x is not NULL
289-
.prepare <- function(x, prepare, default) {
289+
.prepare_null <- function(x, prepare, default) {
290290
if (!all(is.na(x)) && .has(x)) {
291291
return(prepare)
292292
}
293293
return(default)
294294
}
295295

296+
#' @title Return prepared value if X is TRUE
297+
#' @noRd
298+
#' @param x R object
299+
#' @param prepare Prepared value
300+
#' @param default Default value
301+
#' @returns Prepared value if x is TRUE
302+
.prepare_lgl <- function(x, prepare, default) {
303+
if (.has(x) && x) {
304+
return(prepare)
305+
}
306+
return(default)
307+
}
308+
296309
#' @title Create a tibble from a vector
297310
#' @noRd
298311
#' @param ... Generic entries

0 commit comments

Comments
 (0)