Skip to content

Commit cc77339

Browse files
committed
POST if necessary
1 parent 51789bf commit cc77339

File tree

2 files changed

+51
-18
lines changed

2 files changed

+51
-18
lines changed

R/whatWQPdata.R

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -199,25 +199,41 @@ whatWQPdata <- function(...,
199199
if (any(c("tz", "service", "mimeType") %in% names(values))){
200200
values <- values[!(names(values) %in% c("tz", "service", "mimeType"))]
201201
}
202-
202+
POST = FALSE
203+
baseURL <- httr2::request(pkg.env[["Station"]])
204+
203205
if("siteid" %in% names(values)){
204206
if(length(values[["siteid"]]) > 1){
205207
sites <- values[["siteid"]]
206-
baseURL <- httr2::req_url_query(baseURL,
207-
siteid = sites,
208-
.multi = function(x) paste0(x, collapse = ";"))
208+
if(nchar(paste0(sites, collapse = "")) > 2048){
209+
POST = TRUE
210+
baseURL <- httr2::req_body_form(baseURL,
211+
siteid = sites,
212+
.multi = function(x) paste0(x, collapse = ";"))
213+
} else {
214+
baseURL <- httr2::req_url_query(baseURL,
215+
siteid = sites,
216+
.multi = function(x) paste0(x, collapse = ";"))
217+
}
209218
values <- values[names(values) != "siteid"]
210219
}
211220
}
212221

213-
baseURL <- httr2::request(pkg.env[["Station"]])
214222

215-
baseURL <- httr2::req_url_query(baseURL,
216-
!!!values,
217-
.multi = "explode")
218-
219-
baseURL <- httr2::req_url_query(baseURL,
220-
mimeType = "geojson")
223+
224+
if(POST){
225+
baseURL <- httr2::req_body_form(baseURL,
226+
!!!values,
227+
.multi = "explode")
228+
baseURL <- httr2::req_body_form(baseURL,
229+
mimeType = "geojson")
230+
} else {
231+
baseURL <- httr2::req_url_query(baseURL,
232+
!!!values,
233+
.multi = "explode")
234+
baseURL <- httr2::req_url_query(baseURL,
235+
mimeType = "geojson")
236+
}
221237

222238
# Not sure if there's a geojson option with WQX3
223239
wqp_message()

R/whatWQPsites.R

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,25 +53,42 @@ whatWQPsites <- function(..., legacy = TRUE, convertType = TRUE) {
5353
if (any(c("tz", "service") %in% names(values))){
5454
values <- values[!(names(values) %in% c("tz", "service"))]
5555
}
56-
56+
POST = FALSE
57+
5758
if(legacy){
5859
baseURL <- httr2::request(pkg.env[["Station"]])
5960
if("siteid" %in% names(values)){
6061
if(length(values[["siteid"]]) > 1){
6162
sites <- values[["siteid"]]
62-
baseURL <- httr2::req_url_query(baseURL,
63-
siteid = sites,
64-
.multi = function(x) paste0(x, collapse = ";"))
63+
if(nchar(paste0(sites, collapse = "")) > 2048){
64+
POST = TRUE
65+
baseURL <- httr2::req_body_form(baseURL,
66+
siteid = sites,
67+
.multi = function(x) paste0(x, collapse = ";"))
68+
} else {
69+
baseURL <- httr2::req_url_query(baseURL,
70+
siteid = sites,
71+
.multi = function(x) paste0(x, collapse = ";"))
72+
}
73+
6574
values <- values[names(values) != "siteid"]
6675
}
6776
}
77+
6878
} else {
6979
baseURL <- httr2::request(pkg.env[["StationWQX3"]])
7080
}
71-
baseURL <- httr2::req_url_query(baseURL,
72-
!!!values,
73-
.multi = "explode")
7481

82+
if(POST){
83+
baseURL <- httr2::req_body_form(baseURL,
84+
!!!values,
85+
.multi = "explode")
86+
} else {
87+
baseURL <- httr2::req_url_query(baseURL,
88+
!!!values,
89+
.multi = "explode")
90+
}
91+
7592
retval <- importWQP(baseURL, convertType = convertType)
7693

7794
if(!is.null(retval)){

0 commit comments

Comments
 (0)