@@ -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()
0 commit comments