From fc43f006a9264653c806f5cc052cb8ae7955326f Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Fri, 13 Dec 2024 01:17:22 -0600 Subject: [PATCH] forgot to add httprequestbody code --- include/TessesFramework/Http/HttpClient.hpp | 1 + include/TessesFramework/TessesFramework.hpp | 1 + src/Http/HttpClient.cpp | 34 +++++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/include/TessesFramework/Http/HttpClient.hpp b/include/TessesFramework/Http/HttpClient.hpp index 6291c0c..470e1c3 100644 --- a/include/TessesFramework/Http/HttpClient.hpp +++ b/include/TessesFramework/Http/HttpClient.hpp @@ -9,6 +9,7 @@ namespace Tesses::Framework::Http public: virtual void HandleHeaders(HttpDictionary& dict); virtual void Write(Tesses::Framework::Streams::Stream* strm)=0; + virtual ~HttpRequestBody(); }; class StreamHttpRequestBody : public HttpRequestBody { diff --git a/include/TessesFramework/TessesFramework.hpp b/include/TessesFramework/TessesFramework.hpp index b8937b9..fe4ef4e 100644 --- a/include/TessesFramework/TessesFramework.hpp +++ b/include/TessesFramework/TessesFramework.hpp @@ -10,6 +10,7 @@ #include "TextStreams/StreamReader.hpp" #include "TextStreams/StreamWriter.hpp" #include "Threading/Thread.hpp" +#include "Threading/Mutex.hpp" #include "Filesystem/LocalFS.hpp" #include "Filesystem/SubdirFilesystem.hpp" #include "Filesystem/NullFilesystem.hpp" diff --git a/src/Http/HttpClient.cpp b/src/Http/HttpClient.cpp index a40121e..10e2f8e 100644 --- a/src/Http/HttpClient.cpp +++ b/src/Http/HttpClient.cpp @@ -15,6 +15,40 @@ using BufferedStream = Tesses::Framework::Streams::BufferedStream; using HttpStream = Tesses::Framework::Http::HttpStream; namespace Tesses::Framework::Http { + + + void HttpRequestBody::HandleHeaders(HttpDictionary& dict) + { + + } + + HttpRequestBody::~HttpRequestBody() + { + + } + + StreamHttpRequestBody::StreamHttpRequestBody(Stream* strm, bool owns, std::string mimeType) + { + this->strm = strm; + this->owns = owns; + this->mimeType = mimeType; + } + void StreamHttpRequestBody::HandleHeaders(HttpDictionary& dict) + { + dict.AddValue("Content-Type",this->mimeType); + auto len = this->strm->GetLength(); + if(len > -1) dict.AddValue("Content-Length",std::to_string(len)); + + } + void StreamHttpRequestBody::Write(Tesses::Framework::Streams::Stream* strm) + { + strm->CopyTo(this->strm); + } + StreamHttpRequestBody::~StreamHttpRequestBody() + { + if(this->owns) + delete this->strm; + } HttpRequest::HttpRequest() { this->body=nullptr;