xrootd
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdHttpChecksumHandlerImpl Class Reference

#include <XrdHttpChecksumHandler.hh>

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< std::string > & getNonIANAConfiguredCksums () const
 
const std::vector< XrdHttpChecksumRawPtr > & getConfiguredChecksums () const
 

Private Member Functions

void initializeXRootDConfiguredCksums (const char *csList)
 

Static Private Member Functions

static void initializeCksumsMaps ()
 
static void addChecksumToMaps (XrdHttpChecksumPtr &&checksum)
 
static std::string getElement (const std::string &input, const std::string &delimiter, const size_t position)
 
static std::vector< std::string > getUserDigests (const std::string &userDigests)
 

Private Attributes

std::vector< XrdHttpChecksumRawPtrmConfiguredChecksums
 
std::vector< std::string > mNonIANAConfiguredChecksums
 

Static Private Attributes

static std::map< std::string, XrdHttpChecksumPtrXROOTD_DIGEST_NAME_TO_CKSUMS
 

Detailed Description

Implementation class of the XrdHttpChecksumHandler

Is useful for unit testing

Member Typedef Documentation

◆ XrdHttpChecksumPtr

◆ XrdHttpChecksumRawPtr

Constructor & Destructor Documentation

◆ XrdHttpChecksumHandlerImpl()

XrdHttpChecksumHandlerImpl::XrdHttpChecksumHandlerImpl ( )
default

Member Function Documentation

◆ addChecksumToMaps()

static void XrdHttpChecksumHandlerImpl::addChecksumToMaps ( XrdHttpChecksumPtr &&  checksum)
staticprivate

◆ configure()

void XrdHttpChecksumHandlerImpl::configure ( const char *  csList)

◆ getChecksumToRun()

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

◆ getConfiguredChecksums()

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

For testing purposes

◆ getElement()

static std::string XrdHttpChecksumHandlerImpl::getElement ( const std::string &  input,
const std::string &  delimiter,
const size_t  position 
)
staticprivate

◆ getNonIANAConfiguredCksums()

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

◆ getUserDigests()

static std::vector< std::string > XrdHttpChecksumHandlerImpl::getUserDigests ( const std::string &  userDigests)
staticprivate

Returns a vector of user digests (lower-cased) extracted from the userDigests string passed in parameter

Parameters
userDigeststhe string containing a quality-valued checksum list e.g: adler32, md5;q=0.4, md5
Returns
the lower-cased user digests vector

◆ initializeCksumsMaps()

static void XrdHttpChecksumHandlerImpl::initializeCksumsMaps ( )
staticprivate

Modify this if new checksums have to be supported or if some don't require base64 padding anymore

◆ initializeXRootDConfiguredCksums()

void XrdHttpChecksumHandlerImpl::initializeXRootDConfiguredCksums ( const char *  csList)
private

Initializes the checksums from the csList parameter passed

The elements of the csList parameter should all be lower-cased

Parameters
csListthe list of the configured checksum under the format 0:adler32,1:sha1,2:sha512

Member Data Documentation

◆ mConfiguredChecksums

std::vector<XrdHttpChecksumRawPtr> XrdHttpChecksumHandlerImpl::mConfiguredChecksums
private

◆ mNonIANAConfiguredChecksums

std::vector<std::string> XrdHttpChecksumHandlerImpl::mNonIANAConfiguredChecksums
private

◆ XROOTD_DIGEST_NAME_TO_CKSUMS

std::map<std::string,XrdHttpChecksumPtr> XrdHttpChecksumHandlerImpl::XROOTD_DIGEST_NAME_TO_CKSUMS
staticprivate

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