These two functions are used to collect the contents of the header of
an HTTP response via the headerfunction
option of a curl handle
and then processing that text into both the name: value pairs
and also the initial line of the response that provides the
status of the request.
basicHeaderGatherer
is a simple special case of
basicTextGatherer
with the built-in post-processing
step done by parseHTTPHeader
.
basicHeaderGatherer(txt = character(), max = NA)
parseHTTPHeader(lines, multi = TRUE)
any initial text that we want included with the header.
This is passed to basicTextGatherer
. Generally it
should not be specified unless there is a good reason.
This is passed directly to
basicTextGatherer
the text as a character vector from the response header
that
parseHTTPHeader
will convert to a status and name-value
pairs.
a logical value controlling whether we check for
multiple HTTP headers in the lines of text. This is caused
by a Continue being concatenated with the actual response.
When this is TRUE
, we look for the lines
that start an HTTP header, e.g. HTTP 200 ...
,
and we use the content from the last of these.
The return value is the same as basicTextGatherer
,
i.e. a list with
update
, value
and reset
function elements.
The value
element will invoke parseHTTPHeader
on the contents read during the processing of the libcurl request
and return that value.
Curl homepage http://curl.haxx.se
# NOT RUN {
if(url.exists("http://www.omegahat.net/RCurl/index.html")) withAutoprint({
h = basicHeaderGatherer()
getURI("http://www.omegahat.net/RCurl/index.html",
headerfunction = h$update)
names(h$value())
h$value()
})
# }
Run the code above in your browser using DataLab