summaryrefslogtreecommitdiff
path: root/http/utility.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'http/utility.hpp')
-rw-r--r--http/utility.hpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/http/utility.hpp b/http/utility.hpp
index 557926761c..62a4eb0f44 100644
--- a/http/utility.hpp
+++ b/http/utility.hpp
@@ -594,9 +594,8 @@ inline std::string getDateTime(boost::posix_time::milliseconds timeSinceEpoch)
// date. This behavior is to avoid exceptions throwed by Boost.
inline std::string getDateTimeUint(uint64_t secondsSinceEpoch)
{
-
- boost::posix_time::seconds boostSeconds(
- std::min(secondsSinceEpoch, details::maxSeconds));
+ secondsSinceEpoch = std::min(secondsSinceEpoch, details::maxSeconds);
+ boost::posix_time::seconds boostSeconds(secondsSinceEpoch);
return details::getDateTime(
boost::posix_time::milliseconds(boostSeconds.total_milliseconds()));
}
@@ -607,14 +606,20 @@ inline std::string getDateTimeUint(uint64_t secondsSinceEpoch)
// supported date.
inline std::string getDateTimeUintMs(uint64_t milliSecondsSinceEpoch)
{
- return details::getDateTime(boost::posix_time::milliseconds(
- std::min(details::maxMilliSeconds, milliSecondsSinceEpoch)));
+ milliSecondsSinceEpoch =
+ std::min(details::maxMilliSeconds, milliSecondsSinceEpoch);
+ return details::getDateTime(
+ boost::posix_time::milliseconds(milliSecondsSinceEpoch));
}
inline std::string getDateTimeStdtime(std::time_t secondsSinceEpoch)
{
- boost::posix_time::ptime time = boost::posix_time::from_time_t(
- std::min(secondsSinceEpoch, std::time_t{details::maxSeconds}));
+ if (secondsSinceEpoch > static_cast<int64_t>(details::maxSeconds))
+ {
+ secondsSinceEpoch = static_cast<std::time_t>(details::maxSeconds);
+ }
+ boost::posix_time::ptime time =
+ boost::posix_time::from_time_t(secondsSinceEpoch);
return boost::posix_time::to_iso_extended_string(time) + "+00:00";
}