Fix license compliance and fix things up, add reverse proxy, fix some security flaws with HttpUtils

This commit is contained in:
2026-08-31 20:57:18 -05:00
parent 313e75b14c
commit 3bce736834
41 changed files with 2227 additions and 384 deletions
@@ -53,7 +53,7 @@ class NetworkStream : public Stream {
int32_t sock;
bool owns;
bool success;
bool endOfStream;
std::atomic<bool> endOfStream;
public:
bool DataAvailable(int timeout = 0);
@@ -85,6 +85,9 @@ class NetworkStream : public Stream {
~NetworkStream();
void SetNoDelay(bool noDelay);
void Shutdown(StreamShutdownMode mode);
void SetSendTimeout(uint64_t seconds);
void SetRecvTimeout(uint64_t seconds);
void Close();
};
} // namespace Tesses::Framework::Streams
@@ -21,8 +21,11 @@
#pragma once
#include "../Common.hpp"
#include "../Date/Date.hpp"
namespace Tesses::Framework::Streams {
enum class SeekOrigin : uint8_t { Begin = 0, Current = 1, End = 2 };
enum class StreamShutdownMode { Read = 0, Write = 1, ReadWrite = 2 };
class Stream {
public:
int32_t ReadByte();
@@ -42,6 +45,12 @@ class Stream {
void CopyTo(std::shared_ptr<Stream> strm, size_t buffSize = 1024);
void CopyToLimit(std::shared_ptr<Stream> strm, uint64_t len,
size_t buffSize = 1024);
virtual void Shutdown(StreamShutdownMode mode);
void SetSendTimeout(Tesses::Framework::Date::TimeSpan ts);
void SetRecvTimeout(Tesses::Framework::Date::TimeSpan ts);
virtual void SetSendTimeout(uint64_t seconds);
virtual void SetRecvTimeout(uint64_t seconds);
virtual void Close();
virtual ~Stream();
};