12 template <Characters::IConvertibleToString T>
13 inline void Response::write (T&& s)
15 if constexpr (Common::IAnyOf<T, String&&, String>) {
16 write (
static_cast<const String&
> (s));
22 inline void Response::write (
const TypedBLOB& b)
24 this->contentType (b.fType);
25 this->write (b.fData);
27 template <
typename CHAR_T,
typename... ARGS>
28 inline void Response::write (
const FormatString<CHAR_T>& f, ARGS&&... args)
32 inline void Response::writeln (
const String& e)
35 constexpr wchar_t kEOL[] = L
"\r\n";
37 write (span{std::begin (kEOL), std::end (kEOL) - 1});
44 constexpr EnumNames<Frameworks::WebServer::Response::State> DefaultNames<Frameworks::WebServer::Response::State>::k{{{
45 {Frameworks::WebServer::Response::State::ePreparingHeaders, L
"Preparing-Headers"},
46 {Frameworks::WebServer::Response::State::eHeadersSent, L
"Headers-Sent"},
47 {Frameworks::WebServer::Response::State::eCompleted, L
"Completed"},
unique_lock< AssertExternallySynchronizedMutex > WriteContext
Instantiate AssertExternallySynchronizedMutex::WriteContext to designate an area of code where protec...