From ba1dc2c0ba96f292f512a2a4d93d16a2f349fbd3 Mon Sep 17 00:00:00 2001 From: JAJames Date: Sat, 13 Feb 2016 05:05:40 -0500 Subject: [PATCH] The destructors in Readable_String and String_Type are now declared as virtual. Corrected some missing/extra end-lines in the HTTP response header. --- Jupiter/HTTP_Server.cpp | 8 +++++--- Jupiter/Readable_String.h | 5 +++++ Jupiter/String_Type.h | 5 +++++ Release/Jupiter.lib | Bin 301260 -> 300880 bytes 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Jupiter/HTTP_Server.cpp b/Jupiter/HTTP_Server.cpp index 0623cff..ca99e8a 100644 --- a/Jupiter/HTTP_Server.cpp +++ b/Jupiter/HTTP_Server.cpp @@ -501,10 +501,11 @@ int Jupiter::HTTP::Server::Data::process_request(HTTPSession &session) break; } + result += "Date: "_jrs; char *time_header = html_time(); - result += "Date: "_jrs ENDL; result += time_header; delete[] time_header; + result += ENDL; result += "Server: "_jrs JUPITER_VERSION ENDL; @@ -529,11 +530,12 @@ int Jupiter::HTTP::Server::Data::process_request(HTTPSession &session) if (content->language != nullptr) { - result += "Content-Language"_jrs; + result += "Content-Language: "_jrs; result += *content->language; + result += ENDL; } - result += ENDL ENDL; + result += ENDL; if (command == HTTPCommand::GET) result += *content_result; diff --git a/Jupiter/Readable_String.h b/Jupiter/Readable_String.h index 8529de0..3db431f 100644 --- a/Jupiter/Readable_String.h +++ b/Jupiter/Readable_String.h @@ -395,6 +395,11 @@ namespace Jupiter template class R> static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const Jupiter::Readable_String &separator); template class R> static typename Jupiter::Readable_String::template TokenizeResult tokenize(const Jupiter::Readable_String &in, const T *separator, size_t separator_size); + /** + * @brief Destructor for the Readable_String class. + */ + virtual ~Readable_String() = default; + /** Access operator */ inline const T &operator[](size_t index) const { return this->get(index); }; diff --git a/Jupiter/String_Type.h b/Jupiter/String_Type.h index da35d96..4b176e1 100644 --- a/Jupiter/String_Type.h +++ b/Jupiter/String_Type.h @@ -292,6 +292,11 @@ namespace Jupiter * A conversion constructor for Jupiter::DataBuffer */ + /** + * @brief Destructor for the String_Type class. + */ + virtual ~String_Type() = default; + protected: T *str; /** Pointer for the underlying string of elements */ size_t length; /** Number of representable elements in the string */ diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index eef1375b7cfdf44762d397d6a9f5156e8e09b2d2..dcb3a403149405a40563a8e668105e8dcc68d09f 100644 GIT binary patch delta 40055 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 SH>pnWw-PMIMOCbF%KtB=?PZ++