3 HttpParser <- R6::R6Class(
9 validContentTypes = NULL,
11 initialize = function()
13 self$validContentTypes <- c("text", "raw")
16 parseJSONResponse = function(serverResponse)
18 parsed_response <- httr::content(serverResponse,
20 type = "application/json")
23 parseResponse = function(serverResponse, outputType)
25 parsed_response <- httr::content(serverResponse, as = outputType)
28 getFileNamesFromResponse = function(response, uri)
30 text <- rawToChar(response$content)
31 doc <- XML::xmlParse(text, asText=TRUE)
32 base <- paste(paste("/", strsplit(uri, "/")[[1]][-1:-3], sep="", collapse=""), "/", sep="")
34 XML::xpathApply(doc, "//D:response/D:href", function(node) {
35 sub(base, "", URLdecode(XML::xmlValue(node)), fixed=TRUE)
38 result <- result[result != ""]
42 getFileSizesFromResponse = function(response, uri)
44 text <- rawToChar(response$content)
45 doc <- XML::xmlParse(text, asText=TRUE)
47 base <- paste(paste("/", strsplit(uri, "/")[[1]][-1:-3], sep="", collapse=""), "/", sep="")
48 result <- XML::xpathApply(doc, "//D:response/D:propstat/D:prop/D:getcontentlength", function(node) {