1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-01-22 04:04:16 +00:00

Making sure Content-Length is sent when having body.

RFC; http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4
This commit is contained in:
Meeh 2014-08-31 02:22:50 +02:00
parent cc5d924899
commit eb3fcde2f4

View File

@ -7,6 +7,7 @@
#include "Transports.h"
#include "NetDb.h"
#include "HTTPServer.h"
#include "I2PEndian.h"
// For image and info
#include "version.h"
@ -316,13 +317,15 @@ namespace util
if (m_Stream)
{
std::string request = method+" " + uri + " HTTP/1.1\n Host:" + fullAddress + "\r\n";
if (!strcmp(method.c_str(), "GET"))
{
// POST/PUT, apply body
request += "\r\n"+ data;
}
LogPrint("HTTP Client Request: ", request);
m_Stream->Send ((uint8_t *)request.c_str (), request.length (), 10);
if (!strcmp(method.c_str(), "GET") && data.size () > 0)
{
// POST/PUT, apply body
request += "Content-Length: " ;
request += request.size ();
request += "\r\n" + data;
}
LogPrint("HTTP Client Request: ", request);
m_Stream->Send ((uint8_t *)request.c_str (), request.size (), 10);
AsyncStreamReceive ();
}
}