mime_util.cc File Reference

#include "config.h"
#include <cstring>
#include <cstdio>
#include <ctype.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <sys/wait.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include "mime_util.h"
#include "Ancillary.h"
#include "util.h"
#include "debug.h"
Include dependency graph for mime_util.cc:

Go to the source code of this file.

Namespaces

namespace  libdap

Defines

#define CRLF   "\r\n"
#define FILE_DELIMITER   '/'

Functions

string libdap::cid_to_header_value (const string &cid)
bool libdap::found_override (string name, string &doc)
ObjectType libdap::get_description_type (const string &value)
string libdap::get_next_mime_header (FILE *in)
ObjectType libdap::get_type (const string &value)
bool libdap::is_boundary (const char *line, const string &boundary)
void libdap::parse_mime_header (const string &header, string &name, string &value)
string libdap::read_multipart_boundary (FILE *in, const string &boundary)
bool libdap::remove_mime_header (FILE *in)
 Read and discard the MIME header of the stream in.
CGI Utilities

A collection of useful functions for writing 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 DODSFilter. Always choose to use that class over these functions if you can.

See also:
DODSFilter
bool libdap::do_version (const string &script_ver, const string &dataset_ver)
 Send a version number.
void libdap::ErrMsgT (const string &Msgt)
 Logs an error message.
time_t libdap::last_modified_time (const string &name)
string libdap::name_path (const string &path)
 Returns the filename portion of a pathname.
string libdap::rfc822_date (const time_t t)
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.

See also:
DODSFilter
void libdap::read_multipart_headers (FILE *in, const string &content_type, const ObjectType object_type, const string &cid)
void libdap::set_mime_binary (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
void libdap::set_mime_data_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc)
void libdap::set_mime_ddx_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc)
void libdap::set_mime_error (ostream &strm, int code, const string &reason, const string &version)
void libdap::set_mime_html (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
void libdap::set_mime_multipart (ostream &strm, const string &boundary, const string &start, ObjectType type, const string &version, EncodingType enc, const time_t last_modified)
void libdap::set_mime_not_modified (ostream &strm)
 Send a `Not Modified' response.
void libdap::set_mime_text (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)

Variables

const size_t libdap::line_length = 1024

Define Documentation

#define CRLF   "\r\n"

Definition at line 86 of file mime_util.cc.

#define FILE_DELIMITER   '/'

Definition at line 82 of file mime_util.cc.

Generated by  doxygen 1.6.2-20100208