1 HttpParser <- R6::R6Class(
7 validContentTypes = NULL,
9 initialize = function()
11 self$validContentTypes <- c("text", "raw")
14 parseJSONResponse = function(serverResponse)
16 parsed_response <- httr::content(serverResponse,
18 type = "application/json")
21 parseResponse = function(serverResponse, outputType)
23 parsed_response <- httr::content(serverResponse, as = outputType)
26 getFileNamesFromResponse = function(response, uri)
28 text <- rawToChar(response$content)
29 doc <- XML::xmlParse(text, asText=TRUE)
30 base <- paste(paste("/", strsplit(uri, "/")[[1]][-1:-3], sep="", collapse=""), "/", sep="")
32 XML::xpathApply(doc, "//D:response/D:href", function(node) {
33 sub(base, "", URLdecode(XML::xmlValue(node)), fixed=TRUE)
36 result <- result[result != ""]
40 getFileSizesFromResponse = function(response, uri)
42 text <- rawToChar(response$content)
43 doc <- XML::xmlParse(text, asText=TRUE)
45 base <- paste(paste("/", strsplit(uri, "/")[[1]][-1:-3], sep="", collapse=""), "/", sep="")
46 result <- XML::xpathApply(doc, "//D:response/D:propstat/D:prop/D:getcontentlength", function(node) {