![]() |
XRootD
|
#include <XrdHttpReq.hh>
Public Types | |
enum | ReqType { rtUnset = -1 , rtUnknown = 0 , rtMalformed , rtGET , rtHEAD , rtPUT , rtOPTIONS , rtPATCH , rtDELETE , rtPROPFIND , rtMKCOL , rtMOVE , rtPOST } |
These are the HTTP/DAV requests that we support. More... | |
Public Member Functions | |
XrdHttpReq (XrdHttpProtocol *protinstance, const XrdHttpReadRangeHandler::Configuration &rcfg) | |
virtual | ~XrdHttpReq () |
void | addCgi (const std::string &key, const std::string &value) |
void | appendOpaque (XrdOucString &s, XrdSecEntity *secent, char *hash, time_t tnow) |
std::string | buildPartialHdr (long long bytestart, long long byteend, long long filesize, char *token) |
Build a partial header for a multipart response. More... | |
std::string | buildPartialHdrEnd (char *token) |
Build the closing part for a multipart response. More... | |
virtual bool | Data (XrdXrootd::Bridge::Context &info, const struct iovec *iovP, int iovN, int iovL, bool final) |
virtual bool | Done (XrdXrootd::Bridge::Context &info) |
the result context More... | |
virtual bool | Error (XrdXrootd::Bridge::Context &info, int ecode, const char *etext) |
virtual int | File (XrdXrootd::Bridge::Context &info, int dlen) |
int | parseBody (char *body, long long len) |
Parse the body of a request, assuming that it's XML and that it's entirely in memory. More... | |
int | parseFirstLine (char *line, int len) |
Parse the first line of the header. More... | |
int | parseLine (char *line, int len) |
Parse the header. More... | |
int | ProcessHTTPReq () |
virtual bool | Redir (XrdXrootd::Bridge::Context &info, int port, const char *hname) |
int | ReqReadV (const XrdHttpIOList &cl) |
Prepare the buffers for sending a readv request. More... | |
virtual void | reset () |
const std::string & | userAgent () const |
![]() | |
Result () | |
Constructor & Destructor. More... | |
virtual | ~Result () |
virtual void | Free (Bridge::Context &info, char *buffP, int buffL) |
virtual bool | Wait (Bridge::Context &info, int wtime, const char *wtext) |
virtual Bridge::Result * | WaitResp (Bridge::Context &info, int wtime, const char *wtext) |
Public Attributes | |
std::map< std::string, std::string > | allheaders |
int | depth |
std::string | destination |
The destination field specified in the req. More... | |
std::string | etext |
char | fhandle [4] |
long | filectime |
long | fileflags |
long | filemodtime |
long long | filesize |
bool | final |
true -> final result More... | |
bool | fopened |
std::string | hdr2cgistr |
Additional opaque info that may come from the hdr2cgi directive. More... | |
bool | headerok |
Tells if we have finished reading the header. More... | |
std::string | host |
The host field specified in the req. More... | |
int | iovL |
byte count More... | |
int | iovN |
array count More... | |
const struct iovec * | iovP |
The latest data chunks got from the xrd layer. These are valid only inside the callbacks! More... | |
bool | keepalive |
long long | length |
bool | m_appended_asize {false} |
Track whether we already appended the oss.asize argument for PUTs. More... | |
bool | m_appended_hdr2cgistr |
std::string | m_digest_header |
The computed digest for the HTTP response header. More... | |
XrdHttpChecksumHandler::XrdHttpChecksumRawPtr | m_req_cksum = nullptr |
The checksum that was ran for this request. More... | |
std::string | m_req_digest |
The requested digest type. More... | |
XrdOucString | m_resource_with_digest |
int | mScitag |
XrdOucEnv * | opaque |
The opaque data, after parsing. More... | |
std::vector< readahead_list > | ralist |
bool | readClosing |
XrdHttpReadRangeHandler | readRangeHandler |
Tracking the next ranges of data to read during GET. More... | |
XrdOucString | redirdest |
int | reqstate |
State machine to talk to the bridge. More... | |
ReqType | request |
The request we got. More... | |
std::string | requestverb |
XrdOucString | resource |
The resource specified by the request, stripped of opaque data. More... | |
XrdOucString | resourceplusopaque |
The resource specified by the request, including all the opaque data. More... | |
unsigned int | rwOpDone |
To coordinate multipart responses across multiple calls. More... | |
unsigned int | rwOpPartialDone |
bool | sendcontinue |
std::string | stringresp |
If we want to give a string as a response, we compose it here. More... | |
long long | writtenbytes |
In a long write, we track where we have arrived. More... | |
XErrorCode | xrderrcode |
ClientRequest | xrdreq |
The last issued xrd request, often pending. More... | |
XResponseType | xrdresp |
The last response data we got. More... | |
Definition at line 71 of file XrdHttpReq.hh.
enum XrdHttpReq::ReqType |
These are the HTTP/DAV requests that we support.
Enumerator | |
---|---|
rtUnset | |
rtUnknown | |
rtMalformed | |
rtGET | |
rtHEAD | |
rtPUT | |
rtOPTIONS | |
rtPATCH | |
rtDELETE | |
rtPROPFIND | |
rtMKCOL | |
rtMOVE | |
rtPOST |
Definition at line 219 of file XrdHttpReq.hh.
|
inline |
Definition at line 166 of file XrdHttpReq.hh.
References depth, fopened, headerok, length, mScitag, opaque, and writtenbytes.
|
virtual |
Definition at line 110 of file XrdHttpReq.cc.
References reset().
void XrdHttpReq::addCgi | ( | const std::string & | key, |
const std::string & | value | ||
) |
Definition at line 786 of file XrdHttpReq.cc.
References hdr2cgistr.
Referenced by parseLine().
void XrdHttpReq::appendOpaque | ( | XrdOucString & | s, |
XrdSecEntity * | secent, | ||
char * | hash, | ||
time_t | tnow | ||
) |
Definition at line 629 of file XrdHttpReq.cc.
References XrdSecEntity::creds, XrdSecEntity::credslen, XrdSecEntity::endorsements, XrdOucEnv::Env(), XrdSecEntity::grps, hdr2cgistr, XrdSecEntity::host, XrdSecEntity::moninfo, XrdSecEntity::name, opaque, quote(), XrdSecEntity::role, and XrdSecEntity::vorg.
Referenced by XrdHttpProtocol::Process(), ProcessHTTPReq(), and Redir().
std::string XrdHttpReq::buildPartialHdr | ( | long long | bytestart, |
long long | byteend, | ||
long long | filesize, | ||
char * | token | ||
) |
Build a partial header for a multipart response.
Definition at line 425 of file XrdHttpReq.cc.
std::string XrdHttpReq::buildPartialHdrEnd | ( | char * | token | ) |
Build the closing part for a multipart response.
Definition at line 435 of file XrdHttpReq.cc.
|
virtual |
Effect a client data response.
The Data() method is called when Run() resulted in a successful data response. The method should rewrite the data and send it to the client using the associated XrdLink object. As an example, 1) Result::Data(info, iovP, iovN, iovL) is called. 2) Inspect iovP, rewrite the data. 3) Send the response: info->linkP->Send(new_iovP, new_iovN, new_iovL); 4) Handle send errors and cleanup(e.g. deallocate storage). 5) Return, the exchange is now complete.
info | the context associated with the result. |
iovP | a pointer to the iovec structure containing the xrootd data response about to be sent to the client. The request header is not included in the iovec structure. The elements of this structure must not be modified by the method. |
iovN | the number of elements in the iovec structure array. |
iovL | total number of data bytes that would be sent to the client. This is simply the sum of all the lengths in the iovec. |
final | True is this is the final result. Otherwise, this is a partial result (i.e. kXR_oksofar) and more data will result causing additional callbacks. |
info | the result context |
iovP | pointer to data array |
iovN | array count |
iovL | byte count |
final | true -> final result |
Implements XrdXrootd::Bridge::Result.
Definition at line 443 of file XrdHttpReq.cc.
References iovL, iovN, iovP, kXR_ok, reset(), TRACE, and xrdresp.
|
virtual |
the result context
Effect a client acknowledgement.
The Done() method is called when Run() resulted in success and there is no associated data for the client (equivalent to a simple kXR_ok response).
info | the context associated with the result. |
Implements XrdXrootd::Bridge::Result.
Definition at line 489 of file XrdHttpReq.cc.
References iovN, kXR_ok, reset(), TRACE, and xrdresp.
|
virtual |
Effect a client error response.
The Error() method is called when an error was encountered while processing the Run() request. The error should be reflected to the client.
info | the context associated with the result. |
ecode | the "kXR" error code describing the nature of the error. The code is in host byte format. |
etext | a null terminated string describing the error in human terms |
info | the result context |
ecode | the "kXR" error code |
etext | associated error message |
Implements XrdXrootd::Bridge::Result.
Definition at line 506 of file XrdHttpReq.cc.
References escapeXML(), etext, ClientRequest::header, kXR_error, kXR_isDirectory, kXR_open, request, ClientRequestHdr::requestid, reset(), rtGET, TRACE, xrderrcode, xrdreq, and xrdresp.
|
virtual |
Notify callback that a sendfile() request is pending.
The File() method is called when Run() resulted in a sendfile response (i.e. sendfile() would have been used to send data to the client). This allows the callback to reframe the sendfile() data using the Send() method in the passed context object (see class Context above).
info | the context associated with the result. |
dlen | total number of data bytes that would be sent to the client. |
info | the result context |
dlen | byte count |
Implements XrdXrootd::Bridge::Result.
Definition at line 465 of file XrdHttpReq.cc.
References XrdHttpReadRangeHandler::NotifyError(), XrdHttpReadRangeHandler::NotifyReadResult(), readRangeHandler, XrdXrootd::Bridge::Context::Send(), and TRACE.
int XrdHttpReq::parseBody | ( | char * | body, |
long long | len | ||
) |
Parse the body of a request, assuming that it's XML and that it's entirely in memory.
Definition at line 94 of file XrdHttpReq.cc.
Referenced by ProcessHTTPReq().
int XrdHttpReq::parseFirstLine | ( | char * | line, |
int | len | ||
) |
Parse the first line of the header.
Definition at line 256 of file XrdHttpReq.cc.
References keepalive, MAX_TK_LEN, request, requestverb, rtDELETE, rtGET, rtHEAD, rtMalformed, rtMKCOL, rtMOVE, rtOPTIONS, rtPATCH, rtPOST, rtPROPFIND, rtPUT, and rtUnknown.
Referenced by XrdHttpProtocol::Process().
int XrdHttpReq::parseLine | ( | char * | line, |
int | len | ||
) |
Parse the header.
Definition at line 116 of file XrdHttpReq.cc.
References addCgi(), allheaders, depth, destination, XrdOucEnv::Get(), XrdHttpProtocol::hdr2cgimap, keepalive, length, m_req_digest, MAX_TK_LEN, opaque, XrdHttpReadRangeHandler::ParseContentRange(), XrdHttpProtocol::pmarkHandle, readRangeHandler, request, rtMalformed, sendcontinue, and trim().
Referenced by XrdHttpProtocol::Process().
int XrdHttpReq::ProcessHTTPReq | ( | ) |
Crunch an http request. Return values: 0->call Process again 1->request processed -1->error
If we have to add extra header information, add it here.
Definition at line 928 of file XrdHttpReq.cc.
References XrdOucString::append(), appendOpaque(), ClientMvRequest::arg1len, XrdOucString::beginswith(), XrdHttpProtocol::Bridge, XrdOucString::c_str(), XrdHttpProtocol::cksumHandler, ClientRequest::close, XrdHttpProtocol::StaticPreloadInfo::data, DEBUG, depth, destination, ClientRequest::dirlist, ClientDirlistRequest::dlen, ClientMkdirRequest::dlen, ClientMvRequest::dlen, ClientOpenRequest::dlen, ClientReadRequest::dlen, ClientRmRequest::dlen, ClientRmdirRequest::dlen, ClientStatRequest::dlen, ClientWriteRequest::dlen, XrdHttpProtocol::doChksum(), XrdHttpProtocol::doStat(), XrdHttpProtocol::embeddedstatic, XrdOucString::endswith(), XrdOucString::erasefromend(), ClientCloseRequest::fhandle, ClientReadRequest::fhandle, ClientWriteRequest::fhandle, fhandle, fileflags, filesize, fopened, XrdHttpChecksumHandler::getChecksumToRun(), XrdHttpChecksum::getXRootDConfigDigestName(), hdr2cgistr, host, XrdHttpReadRangeHandler::isSingleRange(), keepalive, kXR_close, kXR_delete, kXR_dirlist, kXR_dstat, kXR_gr, kXR_gw, kXR_isDir, kXR_isManager, kXR_mkdir, kXR_mkdirpath, kXR_mkpath, kXR_mv, kXR_new, kXR_open, kXR_open_read, kXR_open_wrto, kXR_or, kXR_read, kXR_retstat, kXR_rm, kXR_rmdir, kXR_stat, kXR_ur, kXR_uw, kXR_write, XrdHttpProtocol::StaticPreloadInfo::len, length, XrdOucString::length(), XrdHttpProtocol::listdeny, XrdHttpProtocol::listredir, m_appended_asize, m_appended_hdr2cgistr, m_req_cksum, m_req_digest, m_resource_with_digest, ClientRequest::mkdir, ClientOpenRequest::mode, ClientRequest::mv, XrdHttpProtocol::myRole, XrdHttpReadRangeHandler::NextReadList(), obfuscateAuth(), ClientReadRequest::offset, ClientWriteRequest::offset, opaque, ClientRequest::open, ClientDirlistRequest::options, ClientMkdirRequest::options, ClientOpenRequest::options, parseBody(), parseURL(), XrdHttpExtHandler::ProcessReq(), XrdOucEnv::Put(), quote(), ralist, ClientRequest::read, readClosing, readRangeHandler, ReqReadV(), reqstate, request, ClientCloseRequest::requestid, ClientDirlistRequest::requestid, ClientMkdirRequest::requestid, ClientMvRequest::requestid, ClientOpenRequest::requestid, ClientReadRequest::requestid, ClientRmRequest::requestid, ClientRmdirRequest::requestid, ClientStatRequest::requestid, ClientWriteRequest::requestid, reset(), resource, resourceplusopaque, ClientReadRequest::rlen, ClientRequest::rm, ClientRequest::rmdir, rtDELETE, rtGET, rtHEAD, rtMalformed, rtMKCOL, rtMOVE, rtOPTIONS, rtPATCH, rtPROPFIND, rtPUT, rtUnknown, rtUnset, XrdXrootd::Bridge::Run(), sendcontinue, XrdXrootd::Bridge::setSF(), ClientRequest::stat, XrdHttpProtocol::staticpreload, XrdHttpProtocol::staticredir, TRACE, TRACE_DEBUG, TRACEI, TRACING, ClientRequest::write, writtenbytes, and xrdreq.
Referenced by XrdHttpProtocol::Process().
|
virtual |
Redirect the client to another host:port.
The Redir() method is called when the client must be redirected to another host.
info | the context associated with the result. |
port | the port number in host byte format. |
hname | the DNS name of the host or IP address is IPV4 or IPV6 format (i.e. "n.n.n.n" or "[ipv6_addr]"). |
info | the result context |
port | the port number |
hname | the destination host |
Implements XrdXrootd::Bridge::Result.
Definition at line 533 of file XrdHttpReq.cc.
References appendOpaque(), XrdOucString::c_str(), calcHashes(), XrdHttpProtocol::isdesthttps, keepalive, obfuscateAuth(), quote(), redirdest, request, reset(), resource, rtGET, XrdHttpProtocol::SecEntity, XrdHttpProtocol::secretkey, and TRACE.
int XrdHttpReq::ReqReadV | ( | const XrdHttpIOList & | cl | ) |
Prepare the buffers for sending a readv request.
Definition at line 388 of file XrdHttpReq.cc.
References ClientReadVRequest::dlen, ClientRequest::header, kXR_readv, ralist, ClientRequest::readv, ClientRequestHdr::requestid, and xrdreq.
Referenced by ProcessHTTPReq().
|
virtual |
State machine to talk to the bridge
Definition at line 2757 of file XrdHttpReq.cc.
References allheaders, depth, destination, etext, filesize, fopened, hdr2cgistr, headerok, host, iovL, iovN, iovP, keepalive, kXR_noErrorYet, kXR_noResponsesYet, length, m_appended_asize, m_appended_hdr2cgistr, m_digest_header, m_req_cksum, m_req_digest, m_resource_with_digest, mScitag, opaque, ralist, readClosing, readRangeHandler, redirdest, reqstate, request, XrdHttpReadRangeHandler::reset(), resource, rtUnset, sendcontinue, stringresp, TRACE, writtenbytes, xrderrcode, xrdreq, and xrdresp.
Referenced by ~XrdHttpReq(), Data(), Done(), Error(), XrdHttpProtocol::Process(), ProcessHTTPReq(), and Redir().
|
inline |
Definition at line 210 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::Process().
std::map<std::string, std::string> XrdHttpReq::allheaders |
Definition at line 241 of file XrdHttpReq.hh.
Referenced by parseLine(), and reset().
int XrdHttpReq::depth |
Definition at line 260 of file XrdHttpReq.hh.
Referenced by XrdHttpReq(), parseLine(), ProcessHTTPReq(), and reset().
std::string XrdHttpReq::destination |
The destination field specified in the req.
Definition at line 266 of file XrdHttpReq.hh.
Referenced by parseLine(), ProcessHTTPReq(), and reset().
std::string XrdHttpReq::etext |
Definition at line 301 of file XrdHttpReq.hh.
char XrdHttpReq::fhandle[4] |
Definition at line 315 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq().
long XrdHttpReq::filectime |
Definition at line 314 of file XrdHttpReq.hh.
long XrdHttpReq::fileflags |
Definition at line 312 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::doStat(), and ProcessHTTPReq().
long XrdHttpReq::filemodtime |
Definition at line 313 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::doStat().
long long XrdHttpReq::filesize |
Definition at line 311 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::doStat(), ProcessHTTPReq(), and reset().
bool XrdHttpReq::final |
true -> final result
Definition at line 308 of file XrdHttpReq.hh.
bool XrdHttpReq::fopened |
Definition at line 316 of file XrdHttpReq.hh.
Referenced by XrdHttpReq(), ProcessHTTPReq(), and reset().
std::string XrdHttpReq::hdr2cgistr |
Additional opaque info that may come from the hdr2cgi directive.
Definition at line 282 of file XrdHttpReq.hh.
Referenced by addCgi(), appendOpaque(), ProcessHTTPReq(), and reset().
bool XrdHttpReq::headerok |
Tells if we have finished reading the header.
Definition at line 252 of file XrdHttpReq.hh.
Referenced by XrdHttpReq(), XrdHttpProtocol::Process(), and reset().
std::string XrdHttpReq::host |
The host field specified in the req.
Definition at line 264 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
int XrdHttpReq::iovL |
int XrdHttpReq::iovN |
array count
Definition at line 306 of file XrdHttpReq.hh.
const struct iovec* XrdHttpReq::iovP |
The latest data chunks got from the xrd layer. These are valid only inside the callbacks!
pointer to data array
Definition at line 305 of file XrdHttpReq.hh.
bool XrdHttpReq::keepalive |
Definition at line 258 of file XrdHttpReq.hh.
Referenced by parseFirstLine(), parseLine(), ProcessHTTPReq(), Redir(), and reset().
long long XrdHttpReq::length |
Definition at line 259 of file XrdHttpReq.hh.
Referenced by XrdHttpExtReq::XrdHttpExtReq(), XrdHttpReq(), parseLine(), ProcessHTTPReq(), and reset().
bool XrdHttpReq::m_appended_asize {false} |
Track whether we already appended the oss.asize argument for PUTs.
Definition at line 285 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
bool XrdHttpReq::m_appended_hdr2cgistr |
Definition at line 283 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
std::string XrdHttpReq::m_digest_header |
The computed digest for the HTTP response header.
Definition at line 279 of file XrdHttpReq.hh.
Referenced by reset().
XrdHttpChecksumHandler::XrdHttpChecksumRawPtr XrdHttpReq::m_req_cksum = nullptr |
The checksum that was ran for this request.
Definition at line 272 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
std::string XrdHttpReq::m_req_digest |
The requested digest type.
Definition at line 269 of file XrdHttpReq.hh.
Referenced by parseLine(), ProcessHTTPReq(), and reset().
XrdOucString XrdHttpReq::m_resource_with_digest |
The checksum algorithm is specified as part of the opaque data in the URL. Hence, when a digest is generated to satisfy a request, we cache the tweaked URL in this data member.
Definition at line 277 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
int XrdHttpReq::mScitag |
Definition at line 327 of file XrdHttpReq.hh.
Referenced by XrdHttpExtReq::XrdHttpExtReq(), XrdHttpReq(), and reset().
XrdOucEnv* XrdHttpReq::opaque |
The opaque data, after parsing.
Definition at line 246 of file XrdHttpReq.hh.
Referenced by XrdHttpExtReq::XrdHttpExtReq(), XrdHttpReq(), appendOpaque(), parseLine(), XrdHttpProtocol::Process(), ProcessHTTPReq(), and reset().
std::vector<readahead_list> XrdHttpReq::ralist |
Definition at line 195 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), ReqReadV(), and reset().
bool XrdHttpReq::readClosing |
Definition at line 256 of file XrdHttpReq.hh.
Referenced by ProcessHTTPReq(), and reset().
XrdHttpReadRangeHandler XrdHttpReq::readRangeHandler |
Tracking the next ranges of data to read during GET.
Definition at line 255 of file XrdHttpReq.hh.
Referenced by File(), parseLine(), ProcessHTTPReq(), and reset().
XrdOucString XrdHttpReq::redirdest |
Definition at line 302 of file XrdHttpReq.hh.
int XrdHttpReq::reqstate |
State machine to talk to the bridge.
Definition at line 322 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::Process(), ProcessHTTPReq(), and reset().
ReqType XrdHttpReq::request |
The request we got.
Definition at line 236 of file XrdHttpReq.hh.
Referenced by Error(), parseFirstLine(), parseLine(), XrdHttpProtocol::Process(), ProcessHTTPReq(), Redir(), and reset().
std::string XrdHttpReq::requestverb |
Definition at line 237 of file XrdHttpReq.hh.
Referenced by parseFirstLine().
XrdOucString XrdHttpReq::resource |
The resource specified by the request, stripped of opaque data.
Definition at line 244 of file XrdHttpReq.hh.
Referenced by XrdHttpExtReq::XrdHttpExtReq(), XrdHttpProtocol::Process(), ProcessHTTPReq(), Redir(), and reset().
XrdOucString XrdHttpReq::resourceplusopaque |
The resource specified by the request, including all the opaque data.
Definition at line 248 of file XrdHttpReq.hh.
Referenced by XrdHttpExtReq::XrdHttpExtReq(), and ProcessHTTPReq().
unsigned int XrdHttpReq::rwOpDone |
To coordinate multipart responses across multiple calls.
Definition at line 293 of file XrdHttpReq.hh.
unsigned int XrdHttpReq::rwOpPartialDone |
Definition at line 293 of file XrdHttpReq.hh.
bool XrdHttpReq::sendcontinue |
Definition at line 261 of file XrdHttpReq.hh.
Referenced by parseLine(), ProcessHTTPReq(), and reset().
std::string XrdHttpReq::stringresp |
If we want to give a string as a response, we compose it here.
Definition at line 319 of file XrdHttpReq.hh.
Referenced by reset().
long long XrdHttpReq::writtenbytes |
In a long write, we track where we have arrived.
Definition at line 325 of file XrdHttpReq.hh.
Referenced by XrdHttpReq(), ProcessHTTPReq(), and reset().
XErrorCode XrdHttpReq::xrderrcode |
Definition at line 300 of file XrdHttpReq.hh.
ClientRequest XrdHttpReq::xrdreq |
The last issued xrd request, often pending.
Definition at line 296 of file XrdHttpReq.hh.
Referenced by XrdHttpProtocol::doChksum(), XrdHttpProtocol::doStat(), Error(), XrdHttpProtocol::Process(), ProcessHTTPReq(), ReqReadV(), and reset().
XResponseType XrdHttpReq::xrdresp |