base_op_util.h 925 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef COS_CPP_SDK_V5_INCLUDE_UTIL_BASE_OP_UTIL_H_
  2. #define COS_CPP_SDK_V5_INCLUDE_UTIL_BASE_OP_UTIL_H_
  3. #include <utility>
  4. #include "cos_config.h"
  5. #include "op/cos_result.h"
  6. namespace qcloud_cos {
  7. class BaseOpUtil {
  8. public:
  9. explicit BaseOpUtil(SharedConfig cos_conf) : m_config(std::move(cos_conf)) {}
  10. BaseOpUtil() = default;
  11. bool ShouldChangeBackupDomain(const CosResult &result, const uint32_t &request_num, bool is_ci_req = false) const;
  12. void SleepBeforeRetry(const uint32_t &request_num) const;
  13. std::string GetRealUrl(const std::string& host, const std::string& path, bool is_https, bool is_generate_presigned_url = false) const;
  14. uint64_t GetMaxRetryTimes() const;
  15. static std::string ChangeHostSuffix(const std::string& host);
  16. private:
  17. SharedConfig m_config;
  18. bool UseDefaultDomain() const;
  19. };
  20. } // namespace qcloud_cos
  21. #endif // COS_CPP_SDK_V5_INCLUDE_UTIL_BASE_OP_UTIL_H_