feat: make body editable on proxy client req listeners

This commit is contained in:
2026-04-12 13:12:42 -03:00
parent 698ac445e0
commit 26038a03d1
4 changed files with 8 additions and 3 deletions
+5
View File
@@ -526,6 +526,11 @@ void Proxy::handleClient(SOCKET clientSocket)
OnClientRequest.run(url, fullBody, headers);
removeHeader(headers, "Transfer-Encoding");
removeHeader(headers, "Content-Length");
headers.insert(headers.size() - 2,
"Content-Length: " + std::to_string(fullBody.size()) + "\r\n");
SSL_write(remoteSSL.get(), headers.data(), (int)headers.size());
SSL_write(remoteSSL.get(), fullBody.data(), (int)fullBody.size());
+1 -1
View File
@@ -30,7 +30,7 @@ class Proxy
bool init();
void shutdown();
CallbackEvent<std::string&, const std::string&, std::string&> OnClientRequest;
CallbackEvent<const std::string&, std::string&, std::string&> OnClientRequest;
CallbackEvent<const std::string&, std::string&, std::string&> OnServerResponse;
void addWhitelistDomain(const std::string& domain);
+1 -1
View File
@@ -51,7 +51,7 @@ void Spoofer::registerListeners(Proxy* proxy)
this->serverResponseHandler(url, body, respHeaders);
});
proxy->OnClientRequest.addListener([this](std::string& url, const std::string& body, std::string& reqHeaders) {
proxy->OnClientRequest.addListener([this](const std::string& url, std::string& body, std::string& reqHeaders) {
this->clientRequestHandler(url, body, reqHeaders);
});
}
+1 -1
View File
@@ -43,7 +43,7 @@ class Spoofer
void onBloodweb(std::string& body, std::string& respHeaders);
void serverResponseHandler(const std::string& url, std::string& body, std::string& respHeaders);
void clientRequestHandler(std::string& url, const std::string& body, std::string& reqHeaders);
void clientRequestHandler(const std::string& url, std::string& body, std::string& reqHeaders);
SpooferConfig _config;