XRootD
XrdHttpHeaderUtils.hh
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // This file is part of XrdHTTP: A pragmatic implementation of the
3 // HTTP/WebDAV protocol for the Xrootd framework
4 //
5 // Copyright (c) 2025 by European Organization for Nuclear Research (CERN)
6 // Author: Cedric Caffy <ccaffy@cern.ch>
7 // File Date: Jun 2025
8 //------------------------------------------------------------------------------
9 // XRootD is free software: you can redistribute it and/or modify
10 // it under the terms of the GNU Lesser General Public License as published by
11 // the Free Software Foundation, either version 3 of the License, or
12 // (at your option) any later version.
13 //
14 // XRootD is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
18 //
19 // You should have received a copy of the GNU Lesser General Public License
20 // along with XRootD. If not, see <http://www.gnu.org/licenses/>.
21 //------------------------------------------------------------------------------
22 
23 #ifndef XROOTD_XRDHTTPHEADERUTILS_HH
24 #define XROOTD_XRDHTTPHEADERUTILS_HH
25 
26 #include <map>
27 #include <string>
28 #include <cstdint>
29 #include <sys/types.h>
30 
32 public:
33 
40  static void parseReprDigest(const std::string & value, std::map<std::string,std::string> & output);
41 
50  static void parseWantReprDigest(const std::string & value, std::map<std::string, uint8_t> & output);
51 
76  static ssize_t parseContentLength(const std::string & value);
77 
106  static int parseTransferEncoding(const std::string & value);
107 };
108 
109 
110 #endif //XROOTD_XRDHTTPHEADERUTILS_HH
static int parseTransferEncoding(const std::string &value)
static void parseWantReprDigest(const std::string &value, std::map< std::string, uint8_t > &output)
static void parseReprDigest(const std::string &value, std::map< std::string, std::string > &output)
static ssize_t parseContentLength(const std::string &value)