File indexing completed on 2025-01-30 10:04:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef DAVIX_S3_UTILS_HPP
0023 #define DAVIX_S3_UTILS_HPP
0024
0025 #include <params/davixrequestparams.hpp>
0026
0027 namespace Davix{
0028
0029 namespace S3{
0030
0031 Uri signURIv4(const RequestParams & params, const std::string & method, const Uri & url, const HeaderVec headers, const time_t expirationTime);
0032 Uri signURI(const RequestParams & params, const std::string & method, const Uri & url, HeaderVec headers, const time_t expirationTime);
0033
0034 void signRequest(const RequestParams & params, const std::string & method, const Uri & url, HeaderVec & headers);
0035
0036 Uri tokenizeRequest(const RequestParams & params, const std::string & method, const Uri & url, HeaderVec & headers, time_t expirationTime);
0037
0038 Uri s3UriTransformer(const Uri & original_url, const RequestParams & params, const bool addDelimiter);
0039
0040 time_t s3TimeConverter(std::string &s3time);
0041
0042 std::string hexPrinter(const unsigned char* data, dav_size_t nbytes);
0043
0044
0045 int calculateMD5(std::string &input, std::string &output);
0046
0047
0048 int calculateMD5(int fd, std::string &output);
0049
0050
0051 std::string extract_s3_provider(const Uri & uri);
0052 std::string extract_s3_bucket(const Uri & uri, bool aws_alternate=false);
0053 std::string extract_s3_path(const Uri & uri, bool aws_alternate=false);
0054
0055 std::string detect_region(const Uri &uri);
0056
0057 }
0058
0059
0060 }
0061
0062
0063 #endif