XRootD
Loading...
Searching...
No Matches
XrdHttpChecksumHandlerImpl Class Reference

#include <XrdHttpChecksumHandler.hh>

+ Collaboration diagram for XrdHttpChecksumHandlerImpl:

Public Types

using XrdHttpChecksumPtr = std::unique_ptr< XrdHttpChecksum >
 
using XrdHttpChecksumRawPtr = XrdHttpChecksum *
 

Public Member Functions

 XrdHttpChecksumHandlerImpl ()=default
 
void configure (const char *csList)
 
XrdHttpChecksumRawPtr getChecksumToRun (const std::string &userDigest) const
 
const std::vector< XrdHttpChecksumRawPtr > & getConfiguredChecksums () const
 
const std::vector< std::string > & getNonIANAConfiguredCksums () const
 

Detailed Description

Implementation class of the XrdHttpChecksumHandler

Is useful for unit testing

Definition at line 37 of file XrdHttpChecksumHandler.hh.

Member Typedef Documentation

◆ XrdHttpChecksumPtr

◆ XrdHttpChecksumRawPtr

Constructor & Destructor Documentation

◆ XrdHttpChecksumHandlerImpl()

XrdHttpChecksumHandlerImpl::XrdHttpChecksumHandlerImpl ( )
default

Member Function Documentation

◆ configure()

void XrdHttpChecksumHandlerImpl::configure ( const char *  csList)

Definition at line 76 of file XrdHttpChecksumHandler.cc.

76 {
77 initializeCksumsMaps();
78 if(csList != nullptr) {
79 initializeXRootDConfiguredCksums(csList);
80 }
81}

Referenced by XrdHttpChecksumHandler::configure().

+ Here is the caller graph for this function:

◆ getChecksumToRun()

XrdHttpChecksumHandlerImpl::XrdHttpChecksumRawPtr XrdHttpChecksumHandlerImpl::getChecksumToRun ( const std::string &  userDigest) const

Definition at line 49 of file XrdHttpChecksumHandler.cc.

49 {
50 if(!mConfiguredChecksums.empty()) {
51 std::vector<std::string> userDigests = getUserDigests(userDigestIn);
52 //Loop over the user digests and find the corresponding checksum
53 for(auto userDigest: userDigests) {
54 auto httpCksum = std::find_if(mConfiguredChecksums.begin(), mConfiguredChecksums.end(),[userDigest](const XrdHttpChecksumRawPtr & cksum){
55 return userDigest == cksum->getHttpNameLowerCase();
56 });
57 if(httpCksum != mConfiguredChecksums.end()) {
58 return *httpCksum;
59 }
60 }
61 return mConfiguredChecksums[0];
62 }
63 //If there are no configured checksums, return nullptr
64 return nullptr;
65}

Referenced by XrdHttpChecksumHandler::getChecksumToRun().

+ Here is the caller graph for this function:

◆ getConfiguredChecksums()

const std::vector< XrdHttpChecksumHandler::XrdHttpChecksumRawPtr > & XrdHttpChecksumHandlerImpl::getConfiguredChecksums ( ) const

For testing purposes

Definition at line 71 of file XrdHttpChecksumHandler.cc.

71 {
72 return mConfiguredChecksums;
73}

◆ getNonIANAConfiguredCksums()

const std::vector< std::string > & XrdHttpChecksumHandlerImpl::getNonIANAConfiguredCksums ( ) const

Definition at line 67 of file XrdHttpChecksumHandler.cc.

67 {
68 return mNonIANAConfiguredChecksums;
69}

Referenced by XrdHttpChecksumHandler::getNonIANAConfiguredCksums().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: