From 95f5a1c2dff53b88c274e358bd0cd07758819a12 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 4 Jan 2009 13:56:55 +0000 Subject: Allow adding headers to an HTTPRequest. Allow getting response headers out of HTTPResponse. Rename HTTPRequest Read and Write methods to Send and Receive, to avoid confusion with IOStream. --- lib/httpserver/HTTPRequest.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'lib/httpserver/HTTPRequest.cpp') diff --git a/lib/httpserver/HTTPRequest.cpp b/lib/httpserver/HTTPRequest.cpp index a14f1eb3..8ba44903 100644 --- a/lib/httpserver/HTTPRequest.cpp +++ b/lib/httpserver/HTTPRequest.cpp @@ -93,7 +93,7 @@ HTTPRequest::~HTTPRequest() // -------------------------------------------------------------------------- // // Function -// Name: HTTPRequest::Read(IOStreamGetLine &, int) +// Name: HTTPRequest::Receive(IOStreamGetLine &, int) // Purpose: Read the request from an IOStreamGetLine (and // attached stream). // Returns false if there was no valid request, @@ -101,7 +101,7 @@ HTTPRequest::~HTTPRequest() // Created: 26/3/04 // // -------------------------------------------------------------------------- -bool HTTPRequest::Read(IOStreamGetLine &rGetLine, int Timeout) +bool HTTPRequest::Receive(IOStreamGetLine &rGetLine, int Timeout) { // Check caller's logic if(mMethod != Method_UNINITIALISED) @@ -312,12 +312,12 @@ bool HTTPRequest::Read(IOStreamGetLine &rGetLine, int Timeout) // -------------------------------------------------------------------------- // // Function -// Name: HTTPRequest::Write(IOStream &, int) +// Name: HTTPRequest::Send(IOStream &, int) // Purpose: Write the request to an IOStream using HTTP. // Created: 03/01/09 // // -------------------------------------------------------------------------- -bool HTTPRequest::Write(IOStream &rStream, int Timeout) +bool HTTPRequest::Send(IOStream &rStream, int Timeout) { switch (mMethod) { @@ -386,6 +386,12 @@ bool HTTPRequest::Write(IOStream &rStream, int Timeout) oss << "Connection: close\n"; } + for (std::vector
::iterator i = mExtraHeaders.begin(); + i != mExtraHeaders.end(); i++) + { + oss << i->first << ": " << i->second << "\n"; + } + rStream.Write(oss.str().c_str()); rStream.Write("\n"); -- cgit v1.2.3