MySQL 8.4.0
Source Code Documentation
http_time.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2024, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is designed to work with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have either included with
14 the program or referenced in the documentation.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24*/
25
26#ifndef ROUTER_SRC_HTTP_INCLUDE_HTTP_BASE_HTTP_TIME_H_
27#define ROUTER_SRC_HTTP_INCLUDE_HTTP_BASE_HTTP_TIME_H_
28
30
31namespace http {
32namespace base {
33
34/**
35 * convert a Date: header into a time_t.
36 *
37 * @return a time_t representation of Date: header value
38 * @throws std::out_of_range on invalid formats
39 */
40HTTP_COMMON_EXPORT time_t time_from_rfc5322_fixdate(const char *date_buf);
41
42/** @brief convert time_t into a Date: header value.
43 *
44 * @param ts time in binary format which should be converted
45 * @param date_buf buffer to store text date
46 * @param date_buf_len size of buffer
47 *
48 * @returns operation result
49 * @retval > 0 number of characters written to buffer, excluding null character
50 * @retval < 0 error occurred
51 */
52HTTP_COMMON_EXPORT int time_to_rfc5322_fixdate(time_t ts, char *date_buf,
53 size_t date_buf_len);
54
55} // namespace base
56} // namespace http
57
58#endif // ROUTER_SRC_HTTP_INCLUDE_HTTP_BASE_HTTP_TIME_H_
#define HTTP_COMMON_EXPORT
Definition: http_common_export.h:40
HTTP_COMMON_EXPORT time_t time_from_rfc5322_fixdate(const char *date_buf)
convert a Date: header into a time_t.
Definition: http_time.cc:79
HTTP_COMMON_EXPORT int time_to_rfc5322_fixdate(time_t ts, char *date_buf, size_t date_buf_len)
convert time_t into a Date: header value.
Definition: http_time.cc:40
Definition: connection.h:56