libdap::HTTPResponse Class Reference

#include <HTTPResponse.h>

Inheritance diagram for libdap::HTTPResponse:

Inheritance graph
[legend]
Collaboration diagram for libdap::HTTPResponse:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 HTTPResponse (FILE *s, int status, vector< string > *h, const string &temp_file)
virtual ~HTTPResponse ()
Accessors


virtual string get_file () const
virtual vector< string > * get_headers () const
Accessors


virtual string get_protocol () const
virtual int get_status () const
virtual FILE * get_stream () const
virtual ObjectType get_type () const
virtual string get_version () const
Mutators


virtual void set_headers (vector< string > *h)
Mutators


virtual void set_protocol (const string &p)
virtual void set_status (int s)
virtual void set_stream (FILE *s)
virtual void set_type (ObjectType o)
virtual void set_version (const string &v)

Protected Member Functions

Suppressed default methods


 HTTPResponse (const HTTPResponse &rs)
 HTTPResponse ()
HTTPResponseoperator= (const HTTPResponse &)


Detailed Description

Encapsulate an http response. Instead of directly returning the FILE pointer from which a response is read and vector of headers, return an instance of this object.

Todo:
Maybe refactor so that the header parsing code is hear and not in HTTPConnect?

Definition at line 58 of file HTTPResponse.h.


Constructor & Destructor Documentation

libdap::HTTPResponse::HTTPResponse (  )  [inline, protected]

Definition at line 67 of file HTTPResponse.h.

libdap::HTTPResponse::HTTPResponse ( const HTTPResponse rs  )  [inline, protected]

Definition at line 69 of file HTTPResponse.h.

libdap::HTTPResponse::HTTPResponse ( FILE *  s,
int  status,
vector< string > *  h,
const string &  temp_file 
) [inline]

Build an HTTPResponse object. An instance of this class is used to return an HTTP response (body and headers). If the response is really from a remote server, the current HTTP code stores the body in a temporary file and the headers in a vector<string> object. This class will delete those resources when its destructor is called. If the response does not have a temporary file that needs to be deleted (say it actually comes from a local cache or was read directly into memory), the temp file should be set to "".

Parameters:
s FILE * to the response. Read the response body from this stream.
status The HTTP response status code.
h Response headers. This class will delete the pointer when the instance that contains it is destroyed.
temp_file Name a the temporary file that holds the response body; this file is deleted when this instance is deleted.

Definition at line 94 of file HTTPResponse.h.

References DBG, and DBGN.

virtual libdap::HTTPResponse::~HTTPResponse (  )  [inline, virtual]

When an instance is destroyed, free the temporary resources: the temp_file and headers are deleted. If the tmp file name is "", it is not deleted.

Definition at line 106 of file HTTPResponse.h.

References libdap::close_temp(), DBG, DBGN, libdap::dods_keep_temps, libdap::Response::get_stream(), and libdap::Response::set_stream().

Here is the call graph for this function:


Member Function Documentation

virtual string libdap::HTTPResponse::get_file (  )  const [inline, virtual]

Definition at line 125 of file HTTPResponse.h.

virtual vector<string>* libdap::HTTPResponse::get_headers (  )  const [inline, virtual]

Definition at line 121 of file HTTPResponse.h.

Referenced by libdap::HTTPConnect::fetch_url().

virtual string libdap::Response::get_protocol (  )  const [inline, virtual, inherited]

virtual int libdap::Response::get_status (  )  const [inline, virtual, inherited]

Definition at line 106 of file Response.h.

Referenced by libdap::HTTPConnect::fetch_url().

virtual FILE* libdap::Response::get_stream (  )  const [inline, virtual, inherited]

virtual ObjectType libdap::Response::get_type (  )  const [inline, virtual, inherited]

virtual string libdap::Response::get_version (  )  const [inline, virtual, inherited]

HTTPResponse& libdap::HTTPResponse::operator= ( const HTTPResponse  )  [inline, protected]

Definition at line 71 of file HTTPResponse.h.

virtual void libdap::HTTPResponse::set_headers ( vector< string > *  h  )  [inline, virtual]

Definition at line 133 of file HTTPResponse.h.

virtual void libdap::Response::set_protocol ( const string &  p  )  [inline, virtual, inherited]

Definition at line 146 of file Response.h.

Referenced by libdap::HTTPConnect::fetch_url().

virtual void libdap::Response::set_status ( int  s  )  [inline, virtual, inherited]

Definition at line 130 of file Response.h.

virtual void libdap::Response::set_stream ( FILE *  s  )  [inline, virtual, inherited]

Reimplemented in libdap::PipeResponse, and libdap::StdinResponse.

Definition at line 134 of file Response.h.

Referenced by ~HTTPResponse().

virtual void libdap::Response::set_type ( ObjectType  o  )  [inline, virtual, inherited]

Definition at line 138 of file Response.h.

Referenced by libdap::HTTPConnect::fetch_url().

virtual void libdap::Response::set_version ( const string &  v  )  [inline, virtual, inherited]

Definition at line 142 of file Response.h.

Referenced by libdap::HTTPConnect::fetch_url().


The documentation for this class was generated from the following file:

Generated on Tue Mar 3 10:46:19 2009 for libdap++ by  doxygen 1.5.8