// TJP COPYRIGHT HEADER #pragma once #include #include #include #include #include #include #include #include namespace tjp::core::internet { using Header = Tuple; using Headers = Vector
; const String *getHeader(const Headers &, StringView name); using ContentRange = Tuple; using Range = Tuple; Optional parseStatusCode(const String &); Optional parseDate(const String &); Optional parseContentSize(const String &); Optional parseContentRange(const String &); Optional parseRange(const String &); Optional getType(const Headers &); Optional getCacheControl(const Headers &); Optional getLocation(const Headers &); Optional getContentLocation(const Headers &); Optional getCookie(const Headers &); Optional getDate(const Headers &); Optional getLastModified(const Headers &); String makeDateHeader(std::time_t); String makeLastModifiedheader(std::time_t); Optional getContentSize(const Headers &); Optional getContentRange(const Headers &); String makeContentRange(ContentRange); String makeRange(Range); Optional getCacheControlMaxAge(const String &); } // namespace #ifdef TJP_CORE_HEADER_ONLY #include "Headers.cpp" #endif