integrated changes from main repository

This commit is contained in:
Guenter Obiltschnig
2006-12-28 12:51:57 +00:00
parent fa8fde4880
commit 431807f25e
4 changed files with 17 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
//
// HTTPChunkedStream.cpp
//
// $Id: //poco/1.3/Net/src/HTTPChunkedStream.cpp#2 $
// $Id: //poco/1.3/Net/src/HTTPChunkedStream.cpp#3 $
//
// Library: Net
// Package: HTTP
@@ -102,7 +102,12 @@ int HTTPChunkedStreamBuf::readFromDevice(char* buffer, std::streamsize length)
if (n > 0) _chunk -= n;
return n;
}
else return 0;
else
{
int ch = _session.get();
while (ch != eof && ch != '\n') ch = _session.get();
return 0;
}
}

View File

@@ -1,7 +1,7 @@
//
// HTTPClientSession.cpp
//
// $Id: //poco/1.3/Net/src/HTTPClientSession.cpp#1 $
// $Id: //poco/1.3/Net/src/HTTPClientSession.cpp#2 $
//
// Library: Net
// Package: HTTPClient
@@ -164,7 +164,8 @@ std::ostream& HTTPClientSession::sendRequest(HTTPRequest& request)
close();
if (!connected())
reconnect();
request.setKeepAlive(keepAlive);
if (!keepAlive)
request.setKeepAlive(false);
request.setHost(_host, _port);
if (!_proxyHost.empty())
request.setURI(getHostInfo() + request.getURI());

View File

@@ -1,7 +1,7 @@
//
// HTTPServerTest.cpp
//
// $Id: //poco/1.3/Net/testsuite/src/HTTPServerTest.cpp#1 $
// $Id: //poco/1.3/Net/testsuite/src/HTTPServerTest.cpp#2 $
//
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
@@ -249,7 +249,7 @@ void HTTPServerTest::testIdentityRequestKeepAlive()
HTTPClientSession cs("localhost", svs.address().port());
cs.setKeepAlive(true);
std::string body(5000, 'x');
HTTPRequest request("POST", "/echoBody");
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
request.setContentLength((int) body.length());
request.setContentType("text/plain");
cs.sendRequest(request) << body;
@@ -263,7 +263,7 @@ void HTTPServerTest::testIdentityRequestKeepAlive()
body.assign(1000, 'y');
request.setContentLength((int) body.length());
cs.setKeepAlive(false);
request.setKeepAlive(false);
cs.sendRequest(request) << body;
cs.receiveResponse(response) >> rbody;
assert (response.getContentLength() == body.size());
@@ -283,7 +283,7 @@ void HTTPServerTest::testChunkedRequestKeepAlive()
HTTPClientSession cs("localhost", svs.address().port());
cs.setKeepAlive(true);
std::string body(5000, 'x');
HTTPRequest request("POST", "/echoBody");
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
request.setContentType("text/plain");
request.setChunkedTransferEncoding(true);
cs.sendRequest(request) << body;
@@ -296,7 +296,7 @@ void HTTPServerTest::testChunkedRequestKeepAlive()
assert (rbody == body);
body.assign(1000, 'y');
cs.setKeepAlive(false);
request.setKeepAlive(false);
cs.sendRequest(request) << body;
cs.receiveResponse(response) >> rbody;
assert (response.getContentLength() == HTTPMessage::UNKNOWN_CONTENT_LENGTH);

View File

@@ -1,7 +1,7 @@
//
// HTTPTestServer.cpp
//
// $Id: //poco/1.3/Net/testsuite/src/HTTPTestServer.cpp#1 $
// $Id: //poco/1.3/Net/testsuite/src/HTTPTestServer.cpp#2 $
//
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
@@ -199,7 +199,7 @@ std::string HTTPTestServer::handleRequest() const
response.append(NumberFormatter::formatHex((unsigned) body.length()));
response.append("\r\n");
response.append(body);
response.append("\r\n0\r\n");
response.append("\r\n0\r\n\r\n");
response.append("HTTP/1.1 200 OK\r\n");
response.append("Connection: close\r\n");
response.append("Content-Type: text/plain\r\n");