libdap  Updated for version 3.17.0
libdap::HTTPResponse Class Reference

#include <HTTPResponse.h>

Inheritance diagram for libdap::HTTPResponse:

List of all members.

Public Member Functions

 HTTPResponse (FILE *s, int status, std::vector< std::string > *h, const std::string &temp_file)
 HTTPResponse (std::fstream *s, int status, std::vector< std::string > *h, const std::string &temp_file)
 Build a HTTPResponse using a cpp fstream When working with DAP4 responses, use C++ streams for I/0.
void transform_to_cpp ()
virtual ~HTTPResponse ()
Accessors
virtual std::vector
< std::string > * 
get_headers () const
virtual std::string get_file () const
Mutators
virtual void set_headers (std::vector< std::string > *h)
virtual void set_file (const std::string &n)
getters
virtual int get_status () const
virtual FILE * get_stream () const
virtual std::istream * get_cpp_stream () const
virtual ObjectType get_type () const
virtual std::string get_version () const
virtual std::string get_protocol () const
setters
virtual void set_status (int s)
virtual void set_stream (FILE *s)
virtual void set_cpp_stream (std::istream *s)
virtual void set_type (ObjectType o)
virtual void set_version (const std::string &v)
virtual void set_protocol (const std::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 here and not in HTTPConnect?

Definition at line 56 of file HTTPResponse.h.


Constructor & Destructor Documentation

libdap::HTTPResponse::HTTPResponse ( FILE *  s,
int  status,
std::vector< std::string > *  h,
const std::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 87 of file HTTPResponse.h.

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

Build a HTTPResponse using a cpp fstream When working with DAP4 responses, use C++ streams for I/0.

Todo:
Decide on how the temp files fit into DAP4
Parameters:
s
status
h
temp_file

Definition at line 105 of file HTTPResponse.h.

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 117 of file HTTPResponse.h.


Member Function Documentation

Build a new HTTPResponse object that works with C++ streams. Assume that the FILE* references a disk file.

Returns:

Definition at line 148 of file HTTPResponse.h.


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