libdap++  Updated for version 3.8.2
libdap::HTTPResponse Class Reference

#include <HTTPResponse.h>

Inheritance diagram for libdap::HTTPResponse:
Inheritance graph
Collaboration diagram for libdap::HTTPResponse:
Collaboration graph

Public Member Functions

 HTTPResponse (FILE *s, int status, vector< string > *h, const string &temp_file)
 
virtual ~HTTPResponse ()
 
Accessors
virtual vector< string > * get_headers () const
 
virtual string get_file () const
 
Mutators
virtual void set_headers (vector< string > *h)
 
virtual void set_file (const string &n)
 
Accessors
virtual int get_status () const
 
virtual FILE * get_stream () const
 
virtual ObjectType get_type () const
 
virtual string get_version () const
 
virtual string get_protocol () const
 
Mutators
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)
 
virtual void set_protocol (const string &p)
 

Protected Member Functions

Suppressed default methods
 HTTPResponse ()
 
 HTTPResponse (const HTTPResponse &rs)
 
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 59 of file HTTPResponse.h.

Constructor & Destructor Documentation

libdap::HTTPResponse::HTTPResponse ( )
inlineprotected

Definition at line 70 of file HTTPResponse.h.

libdap::HTTPResponse::HTTPResponse ( const HTTPResponse rs)
inlineprotected

Definition at line 72 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
sFILE * to the response. Read the response body from this stream.
statusThe HTTP response status code.
hResponse headers. This class will delete the pointer when the instance that contains it is destroyed.
temp_fileName a the temporary file that holds the response body; this file is deleted when this instance is deleted.

Definition at line 97 of file HTTPResponse.h.

References DBG, and DBGN.

virtual libdap::HTTPResponse::~HTTPResponse ( )
inlinevirtual
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 109 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
inlinevirtual

Definition at line 128 of file HTTPResponse.h.

virtual vector<string>* libdap::HTTPResponse::get_headers ( ) const
inlinevirtual

Definition at line 124 of file HTTPResponse.h.

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

virtual int libdap::Response::get_status ( ) const
inlinevirtualinherited

Definition at line 111 of file Response.h.

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

virtual ObjectType libdap::Response::get_type ( ) const
inlinevirtualinherited
HTTPResponse& libdap::HTTPResponse::operator= ( const HTTPResponse )
inlineprotected

Definition at line 74 of file HTTPResponse.h.

virtual void libdap::HTTPResponse::set_file ( const string &  n)
inlinevirtual

Definition at line 141 of file HTTPResponse.h.

Referenced by libdap::HTTPCacheResponse::~HTTPCacheResponse().

virtual void libdap::HTTPResponse::set_headers ( vector< string > *  h)
inlinevirtual

Definition at line 136 of file HTTPResponse.h.

virtual void libdap::Response::set_protocol ( const string &  p)
inlinevirtualinherited

Definition at line 151 of file Response.h.

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

virtual void libdap::Response::set_status ( int  s)
inlinevirtualinherited

Definition at line 135 of file Response.h.

virtual void libdap::Response::set_stream ( FILE *  s)
inlinevirtualinherited

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

Definition at line 139 of file Response.h.

Referenced by ~HTTPResponse().

virtual void libdap::Response::set_type ( ObjectType  o)
inlinevirtualinherited

Definition at line 143 of file Response.h.

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

virtual void libdap::Response::set_version ( const string &  v)
inlinevirtualinherited

Definition at line 147 of file Response.h.

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


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