libdap++  Updated for version 3.14.0
mime_util.h File Reference
#include "media_types.h"
#include "ObjectType.h"
#include "EncodingType.h"
#include <string>
Include dependency graph for mime_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 libdap
 

Functions

MIME Utilities

A collection of useful functions for writing MIME headers for OPeNDAP servers.

The CGI utilities include a variety of functions useful to programmers developing OPeNDAP CGI filter programs. However, before jumping in and using these, look at the class ResponseBuilder. Always choose to use that class over these functions if you can. Many of these functions were used by the CGI programs that made up the first DAP server; all of those are deprecated and the ResponseBuilder class should be used instead. Some of the other functions are used by ResponseBuilder and the client-side parsing code that needs to identify MIME headers, boundaries, etc.

See also
ResponseBuilder, Connect, DDXParserSAX2
string libdap::rfc822_date (const time_t t)
 
time_t libdap::last_modified_time (const std::string &name)
 
ObjectType libdap::get_description_type (const std::string &value)
 
bool libdap::is_boundary (const char *line, const std::string &boundary)
 
std::string libdap::cid_to_header_value (const std::string &cid)
 
std::string libdap::read_multipart_boundary (std::istream &in, const std::string &boundary="")
 
void libdap::parse_mime_header (const std::string &header, std::string &name, std::string &value)
 
std::string libdap::name_path (const std::string &path)
 
std::string libdap::get_next_mime_header (std::istream &in)
 
void libdap::read_multipart_headers (std::istream &in, const std::string &content_type, const ObjectType object_type, const std::string &cid="")
 
void libdap::remove_mime_header (std::istream &in)
 
std::string libdap::read_multipart_boundary (FILE *in, const std::string &boundary="")
 
void libdap::read_multipart_headers (FILE *in, const std::string &content_type, const ObjectType object_type, const std::string &cid="")
 
bool libdap::do_version (const std::string &script_ver, const std::string &dataset_ver)
 
void libdap::ErrMsgT (const std::string &Msgt)
 
ObjectType libdap::get_type (const std::string &value)
 
string libdap::get_next_mime_header (FILE *in)
 
bool libdap::remove_mime_header (FILE *in)
 Read and discard the MIME header of the stream in. More...
 
MIME utility functions

These functions are used to create the MIME headers for a message from a server to a client. They are public but should not be called directly unless absolutely necessary. Use DODSFilter instead.

NB: These functions actually write both the response status line and the header.

Deprecated:

Use ResponseBuilder instead.

See also
DODSFilter
void libdap::set_mime_text (FILE *out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_text (std::ostream &out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_text (std::ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const std::string &protocol="")
 
void libdap::set_mime_html (FILE *out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_html (std::ostream &out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_html (std::ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const std::string &protocol="")
 
void libdap::set_mime_binary (FILE *out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_binary (std::ostream &out, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_binary (std::ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const std::string &protocol="")
 
void libdap::set_mime_multipart (std::ostream &out, const std::string &boundary, const std::string &start, ObjectType type=unknown_type, const std::string &version="", EncodingType enc=x_plain, const time_t last_modified=0)
 
void libdap::set_mime_multipart (std::ostream &out, const std::string &boundary, const std::string &start, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const std::string &protocol="", const std::string &url="")
 
void libdap::set_mime_ddx_boundary (std::ostream &out, const std::string &boundary, const std::string &start, ObjectType type=unknown_type, EncodingType enc=x_plain)
 
void libdap::set_mime_data_boundary (std::ostream &out, const std::string &boundary, const std::string &cid, ObjectType type=unknown_type, EncodingType enc=x_plain)
 
void libdap::set_mime_error (FILE *out, int code=404, const std::string &reason="Dataset not found", const std::string &version="")
 
void libdap::set_mime_error (std::ostream &out, int code=404, const std::string &reason="Dataset not found", const std::string &version="")
 
void libdap::set_mime_not_modified (FILE *out)
 Send a `Not Modified' response. More...
 
void libdap::set_mime_not_modified (std::ostream &out)
 Send a `Not Modified' response. More...