7#ifndef HTTP_DATE_TIME_H
8#define HTTP_DATE_TIME_H
11#include <boost/date_time/posix_time/posix_time.hpp>
53 explicit HttpDateTime(
const boost::posix_time::ptime& t);
130 std::string toString(
const std::string& format,
131 const std::string& method_name)
const;
149 static boost::posix_time::ptime
150 fromString(
const std::string& time_string,
const std::string& format,
151 const std::string& method_name,
const bool zone_check =
true);
154 boost::posix_time::ptime time_;
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
This class parses and generates time values used in HTTP.
std::string rfc1123Format() const
Returns time value formatted as specified in RFC 1123.
HttpDateTime()
Default constructor.
std::string asctimeFormat() const
Returns time value formatted as output of ANSI C's asctime().
boost::posix_time::ptime getPtime() const
Returns time encapsulated by this class.
static HttpDateTime fromRfc850(const std::string &time_string)
Creates an instance from a string containing time value formatted as specified in RFC 850.
static HttpDateTime fromRfc1123(const std::string &time_string)
Creates an instance from a string containing time value formatted as specified in RFC 1123.
std::string rfc850Format() const
Returns time value formatted as specified in RFC 850.
static HttpDateTime fromAsctime(const std::string &time_string)
Creates an instance from a string containing time value formatted as output from asctime() function.
static HttpDateTime fromAny(const std::string &time_string)
Creates an instance from a string containing time value formatted in one of the supported formats.
Exception thrown when there is an error during time conversion.
HttpTimeConversionError(const char *file, size_t line, const char *what)
Defines the logger used by the top-level component of kea-lfc.