Browse Source

Making sure Content-Length is sent when having body.

RFC; http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4
pull/93/head
Meeh 10 years ago
parent
commit
eb3fcde2f4
  1. 17
      HTTPServer.cpp

17
HTTPServer.cpp

@ -7,6 +7,7 @@ @@ -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 @@ -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 ();
}
}

Loading…
Cancel
Save