public = list(
+ validContentTypes = NULL,
+
initialize = function()
{
+ self$validContentTypes <- c("text", "raw")
},
GET = function(url, headers = NULL, queryFilters = NULL, limit = NULL, offset = NULL)
curl::handle_setopt(h, customrequest = "PROPFIND")
curl::handle_setheaders(h, .list = headers)
+ propfindResponse <- curl::curl_fetch_memory(url, h)
+ },
+
+ MOVE = function(url, headers = NULL)
+ {
+ h <- curl::new_handle()
+ curl::handle_setopt(h, customrequest = "MOVE")
+ curl::handle_setheaders(h, .list = headers)
+
propfindResponse <- curl::curl_fetch_memory(url, h)
}
),
private = list(
- #Todo(Fudo): Refactor this and find a better way to build
- # Python array from R list (recursion?)
createQuery = function(filters, limit, offset)
{
finalQuery <- NULL
filters <- sapply(filters, function(filter)
{
if(length(filter) != 3)
- stop("Filter list must have exacthey 3 elements.")
+ stop("Filter list must have exactly 3 elements.")
attributeAndOperator = filter[c(1, 2)]
filterList = filter[[3]]
encodedQuery <- URLencode(filters, reserved = T, repeated = T)
- #Todo(Fudo): This is a hack for now. Find a proper solution.
encodedQuery <- stringr::str_replace_all(encodedQuery, "%2B", "+")
finalQuery <- c(finalQuery, paste0("filters=", encodedQuery))
if(length(finalQuery) > 1)
{
finalQuery <- paste0(finalQuery, collapse = "&")
- finalQuery <- paste0("?", finalQuery)
}
+ finalQuery <- paste0("/?", finalQuery)
+
finalQuery
}
),