libdap Updated for version 3.21.1
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
top level DAP object to house generic methods More...
Classes | |
class | AISConnect |
class | AISDatabaseParser |
class | AISDatabaseReadFailed |
class | AISDatabaseWriteFailed |
class | AISMerge |
Merge AIS resources. More... | |
class | AISResources |
Manage AIS resources. More... | |
class | AlarmHandler |
class | Ancillary |
class | Array |
A multidimensional array of identical data types. More... | |
class | AttrTable |
Contains the attributes for a dataset. More... | |
class | BaseType |
The basic data type for the DODS DAP types. More... | |
class | BaseTypeFactory |
class | Byte |
Holds a single byte. More... | |
struct | cache_entry |
struct | ce_parser_arg |
class | ChildLocker |
class | chunked_inbuf |
class | chunked_istream |
class | chunked_ostream |
A C++ stream class for chunked data. This class uses the chunked_outbuf class to provide for chunked binary serialization of data as specified by DAP4. Information to be serialized is broken into 'chunks' that are no more than 2^24 bytes in length. Each chunk is prefixed by a 4 byte header that indicates the type of chunk and size (number of bytes in the chunk body). There are three types of chunk: Data; End; and Error. In normal operation, a DAP4 data document/response is serialized as a sequence of DATA chunks followed by one END chunk (which may be zero bytes in length). If, during serialization, an error is detected, the currently buffered (but not sent) data are discarded and an ERROR chunk is sent with an error message. More... | |
class | chunked_outbuf |
output buffer for a chunked stream This performs buffered output encoding the data in the stream using the simple chunking protocol defined for DAP4's binary data transmission. Each block of data is prefixed by four bytes: A CHUNK TYPE byte followed by three bytes that are the CHUNK SIZE. There are three CHUNK TYPES: data, end and error, indicated by the code values 0x00, 0x01 and 0x02. The size of a chunk is limited to 2^24 data bytes + 4 bytes for the chunk header. More... | |
struct | Clause |
Holds a fragment of a constraint expression. More... | |
class | Connect |
Holds information about the link from a DAP2 client to a dataset. More... | |
class | ConstraintEvaluator |
Evaluate a constraint expression. More... | |
class | Constructor |
class | D4AsyncUtil |
class | D4Attribute |
class | D4Attributes |
class | D4BaseTypeFactory |
class | D4CEScanner |
class | D4Connect |
class | D4ConstraintEvaluator |
class | D4Dimension |
class | D4Dimensions |
class | D4Enum |
Holds a DAP4 enumeration. More... | |
class | D4EnumDef |
class | D4EnumDefs |
class | D4FilterClause |
DAP4 filter clauses. More... | |
class | D4FilterClauseList |
List of DAP4 Filter Clauses. More... | |
class | D4FunctionEvaluator |
class | D4FunctionScanner |
class | D4Group |
class | D4Map |
class | D4Maps |
class | D4Opaque |
class | D4ParseError |
class | D4ParserSax2 |
class | D4ResponseBuilder |
class | D4RValue |
class | D4RValueList |
class | D4Sequence |
Holds a sequence. More... | |
class | D4StreamMarshaller |
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiver-makes-right scheme. This code adds checksums to the stream and uses the xdr library to encode real values if the underlying representation is not IEEE 754. It also supports computing the checksum only. More... | |
class | D4StreamUnMarshaller |
Read data from the stream made by D4StreamMarshaller. More... | |
class | DAPCache3 |
Implementation of a caching mechanism for compressed data. This cache uses simple advisory locking found on most modern unix file systems. Compressed files are decompressed and stored in a cache where they can be used over and over until removed from the cache. Several processes can share the cache with each reading from files. At the same time, new files can be added and the cache can be purged, without disrupting the existing read operations. More... | |
class | DapIndent |
class with static methods to help with indentation of debug information. More... | |
class | DapObj |
libdap base object for common functionality of libdap objects More... | |
class | DapXmlNamspaces |
class | DAS |
Hold attribute data for a DAP2 dataset. More... | |
class | DataDDS |
Holds a DAP2 DDS. More... | |
class | DDS |
class | DDXParseFailed |
class | DDXParser |
class | DMR |
class | DODSFilter |
Common functions for DODS server filter programs. More... | |
class | Error |
A class for error processing. More... | |
class | EventHandler |
class | fdinbuf |
class | fdistream |
class | fdostream |
class | fdoutbuf |
class | Float32 |
Holds a 32-bit floating point value. More... | |
class | Float64 |
Holds a 64-bit (double precision) floating point value. More... | |
class | fpinbuf |
class | fpistream |
class | Grid |
Holds the Grid data type. More... | |
class | HTTPCache |
class | HTTPCacheResponse |
class | HTTPCacheTable |
class | HTTPConnect |
class | HTTPResponse |
class | Int16 |
Holds a 16-bit signed integer value. More... | |
class | Int32 |
Holds a 32-bit signed integer. More... | |
class | Int64 |
Holds a64-bit signed integer. More... | |
class | Int8 |
Holds an 8-bit signed integer value. More... | |
class | InternalErr |
A class for software fault reporting. More... | |
class | Keywords |
class | Locker |
class | Marshaller |
abstract base class used to marshal/serialize dap data objects More... | |
class | MarshallerThread |
class | mp_lock_guard |
Lock the cache for writing. Implements RAII for the multi-process write lock for the cache. More... | |
class | mp_lock_guard_logger |
Interface for the logger used by mp_lock_guard The idea behind this abstract class (aka, interface) is that the client of mp_lock_guard can provide a logger that will behave as they want. More... | |
class | mp_lock_guard_logger_default |
Default logger for mp_lock_guard For this implementation of mp_lock_guard_logger, the log() method writes to std::cerr and the error() method throws a std::runtime_error. More... | |
class | NoSuchPrimaryResource |
struct | parser_arg |
Pass parameters by reference to a parser. More... | |
class | PipeResponse |
Encapsulate a response. This class provides special treatment for 'stream pipes.' It arranges to close them using pclose() instead of fclose(). More... | |
class | RCReader |
class | Regex |
Regular expression matching. More... | |
class | Resource |
Associate a rule with an ancillary resource. More... | |
class | Response |
class | ResponseTooBigErr |
class | rvalue |
class | Sequence |
Holds a sequence. More... | |
class | ServerFunction |
class | ServerFunctionsList |
class | SignalHandler |
class | SignalHandlerRegisteredErr |
class | StdinResponse |
Encapsulate a response read from stdin. More... | |
class | Str |
Holds character string data. More... | |
class | Structure |
Holds a structure (aggregate) type. More... | |
class | UInt16 |
Holds an unsigned 16-bit integer. More... | |
class | UInt32 |
Holds a 32-bit unsigned integer. More... | |
class | UInt64 |
Holds a 64-bit unsigned integer. More... | |
class | UnMarshaller |
abstract base class used to unmarshall/deserialize dap data objects More... | |
class | Url |
Holds an Internet address (URL). More... | |
class | Vector |
Holds a one-dimensional collection of DAP2 data types. More... | |
class | XDRFileMarshaller |
marshaller that knows how to marshall/serialize dap data objects to a file using XDR More... | |
class | XDRFileUnMarshaller |
unmarshaller that knows how to unmarshall/deserialize dap objects using XDR from a file More... | |
class | XDRStreamMarshaller |
Marshaller that knows how serialize dap data objects to a C++ iostream using XDR. More... | |
class | XDRStreamUnMarshaller |
unmarshaller that knows how to unmarshall/deserialize dap objects using XDR from a file More... | |
class | XDRUtils |
class | XMLWriter |
Typedefs | |
typedef vector< BaseType * > | BaseTypeRow |
typedef std::vector< dods_byte > * | byte_arg_list |
typedef std::list< cache_entry > | CacheFiles |
typedef BaseType *(* | D4Function) (D4RValueList *, DMR &) |
typedef vector< BaseType * > | D4SeqRow |
typedef vector< D4SeqRow * > | D4SeqValues |
typedef uint8_t | dods_byte |
typedef int64_t | dods_enum |
typedef float | dods_float32 |
typedef double | dods_float64 |
typedef int16_t | dods_int16 |
typedef int32_t | dods_int32 |
typedef int64_t | dods_int64 |
typedef int8_t | dods_int8 |
typedef uint16_t | dods_uint16 |
typedef uint32_t | dods_uint32 |
typedef uint64_t | dods_uint64 |
typedef int | ErrorCode |
An enumerated type for common errors. | |
typedef std::vector< dods_float32 > * | float32_arg_list |
typedef std::vector< dods_float64 > * | float64_arg_list |
typedef std::vector< dods_int16 > * | int16_arg_list |
typedef std::vector< dods_int32 > * | int32_arg_list |
typedef vector< Resource > | ResourceVector |
typedef ResourceVector::const_iterator | ResourceVectorCIter |
typedef ResourceVector::iterator | ResourceVectorIter |
typedef std::vector< rvalue * > | rvalue_list |
typedef std::vector< rvalue * >::const_iterator | rvalue_list_citer |
typedef std::vector< rvalue * >::iterator | rvalue_list_iter |
typedef vector< BaseTypeRow * > | SequenceValues |
typedef void | Sigfunc(int) |
typedef std::vector< dods_uint16 > * | uint16_arg_list |
typedef std::vector< dods_uint32 > * | uint32_arg_list |
Functions | |||||||
string | add_space_encoding (const string &s) | ||||||
rvalue_list * | append_rvalue_list (rvalue_list *rvals, rvalue *rv) | ||||||
string | AttrType_to_String (const AttrType at) | ||||||
BaseType ** | build_btp_args (const rvalue_list *args, DDS &dds) | ||||||
string | char2ASCII (string s, const string escape="%[0-7][0-9a-fA-F]") | ||||||
int | check_byte (const char *val) | ||||||
Is the value a valid byte? | |||||||
int | check_float32 (const char *val) | ||||||
int | check_float64 (const char *val) | ||||||
int | check_float64 (const char *val, double &v) | ||||||
int | check_int16 (const char *val) | ||||||
int | check_int32 (const char *val) | ||||||
int | check_int32 (const char *val, int &v) | ||||||
int | check_int64 (const char *val) | ||||||
int | check_uint16 (const char *val) | ||||||
int | check_uint32 (const char *val) | ||||||
int | check_uint32 (const char *val, unsigned int &v) | ||||||
int | check_uint64 (const char *val) | ||||||
int | check_url (const char *val) | ||||||
Is the value a valid URL? | |||||||
template<class T1, class T2> | |||||||
bool | Cmp (int op, T1 v1, T2 v2) | ||||||
string | D2type_name (Type t) | ||||||
Returns the type of the class instance as a string. Supports all DAP2 types and not the DAP4-only types. Also returns Url (DAP2) and not "URL" (DAP4) for the URL type. | |||||||
string | D4AttributeTypeToString (D4AttributeType at) | ||||||
D4RValue * | D4RValueFactory (std::string cpps) | ||||||
Build an appropriate RValue. | |||||||
string | D4type_name (Type t) | ||||||
Returns the type of the class instance as a string. Supports all DAP4 types and not the DAP2-only types. Also returns URL (DAP4) and not "Url" (DAP2) for the URL type. | |||||||
string | date_time_str (time_t *calendar, bool local) | ||||||
bool | dir_exists (const string &dir) | ||||||
bool | double_eq (double lhs, double rhs, double epsilon=1.0e-5) | ||||||
void | downcase (string &s) | ||||||
string | esc2underscore (string s) | ||||||
string | escape_double_quotes (string source) | ||||||
string | escattr (string s) | ||||||
string | escattr_xml (string s) | ||||||
double * | extract_double_array (Array *a) | ||||||
void | extract_double_array (Array *a, vector< double > &dest) | ||||||
double | extract_double_value (BaseType *arg) | ||||||
string | extract_string_argument (BaseType *arg) | ||||||
void | fillConstructorAttrTable (AttrTable *at, BaseType *bt) | ||||||
Recursive helper function for Building DAS entries for Constructor types. | |||||||
AttrType | get_dap2_AttrType (D4AttributeType d4_type) | ||||||
string | get_dims_decl (Array &a) | ||||||
double | get_float64 (const char *val) | ||||||
int | get_hash (const string &url) | ||||||
int | get_int32 (const char *val) | ||||||
long long | get_int64 (const char *val) | ||||||
Type | get_type (const char *name) | ||||||
unsigned int | get_uint32 (const char *val) | ||||||
unsigned long long | get_uint64 (const char *val) | ||||||
bool | has_dap2_attributes (AttrTable &a) | ||||||
bool | has_dap2_attributes (BaseType *btp) | ||||||
string | hexstring (unsigned char val) | ||||||
string | id2www (string in, const string &allowable) | ||||||
string | id2www_ce (string in, const string &allowable) | ||||||
string | id2xml (string in, const string ¬_allowed) | ||||||
bool | is_constructor_type (Type t) | ||||||
Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable. | |||||||
bool | is_hop_by_hop_header (const string &header) | ||||||
bool | is_host_big_endian () | ||||||
Does this host use big-endian byte order? | |||||||
bool | is_integer_type (Type t) | ||||||
bool | is_keyword (string id, const string &keyword) | ||||||
bool | is_quoted (const string &s) | ||||||
bool | is_simple_type (Type t) | ||||||
Returns true if the instance is a numeric, string or URL type variable. | |||||||
bool | is_vector_type (Type t) | ||||||
Returns true if the instance is a vector (i.e., array) type variable. | |||||||
const char * | libdap_name () | ||||||
const char * | libdap_root () | ||||||
const char * | libdap_version () | ||||||
rvalue_list * | make_rvalue_list (rvalue *rv) | ||||||
string | munge_error_message (string msg) | ||||||
string | octal_to_hex (const string &octal_digits) | ||||||
string | octstring (unsigned char val) | ||||||
ostream & | operator<< (ostream &os, const AISResources &ais_res) | ||||||
ostream & | operator<< (ostream &os, const Resource &r) | ||||||
void | parse_error (const char *msg, const int line_num, const char *context) | ||||||
void | print_var_das (ostream &out, BaseType *bt, string indent="") | ||||||
string | prune_spaces (const string &name) | ||||||
string | remove_quotes (const string &s) | ||||||
string | remove_space_encoding (const string &s) | ||||||
void | save_str (std::string &dst, const char *src, const int) | ||||||
Save a string to a temporary variable during the parse. | |||||||
void | set_array_using_double (Array *dest, double *src, int src_len) | ||||||
template<class T1, class T2> | |||||||
bool | StrCmp (int op, T1 v1, T2 v2) | ||||||
AttrType | String_to_AttrType (const string &s) | ||||||
D4AttributeType | StringToD4AttributeType (string s) | ||||||
string | systime () | ||||||
string | type_name (Type t) | ||||||
string | unescape_double_quotes (string source) | ||||||
string | unescattr (string s) | ||||||
string | unhexstring (string s) | ||||||
bool | unique_names (vector< BaseType * > l, const string &var_name, const string &type_name, string &msg) | ||||||
string | unoctstring (string s) | ||||||
string | www2id (const string &in, const string &escape, const string &except) | ||||||
string | xml2id (string in) | ||||||
New multi-process locking methods | |||||||
Accessors and Mutators for various properties. | |||||||
bool | ends_with (std::string const &value, std::string const &ending) | ||||||
Cache Index | |||||||
These methods manage the cache's index file. Each cache holds an index file named | |||||||
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.
| |||||||
time_t | last_modified_time (const string &name) | ||||||
string | rfc822_date (const time_t t) | ||||||
bool | do_version (const string &script_ver, const string &dataset_ver) | ||||||
Send a version number. | |||||||
void | ErrMsgT (const string &Msgt) | ||||||
Logs an error message. | |||||||
string | name_path (const string &path) | ||||||
Returns the filename portion of a pathname. | |||||||
ObjectType | get_type (const string &value) | ||||||
ObjectType | get_description_type (const string &value) | ||||||
string | get_next_mime_header (FILE *in) | ||||||
string | get_next_mime_header (istream &in) | ||||||
void | parse_mime_header (const string &header, string &name, string &value) | ||||||
bool | is_boundary (const char *line, const string &boundary) | ||||||
string | read_multipart_boundary (FILE *in, const string &boundary) | ||||||
string | read_multipart_boundary (istream &in, const string &boundary) | ||||||
void | read_multipart_headers (FILE *in, const string &content_type, const ObjectType object_type, const string &cid) | ||||||
void | read_multipart_headers (istream &in, const string &content_type, const ObjectType object_type, const string &cid) | ||||||
string | cid_to_header_value (const string &cid) | ||||||
bool | remove_mime_header (FILE *in) | ||||||
Read and discard the MIME header of the stream in . | |||||||
void | remove_mime_header (istream &in) | ||||||
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.
| |||||||
void | set_mime_text (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_text (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_text (ostream &strm, ObjectType type, EncodingType enc, const time_t last_modified, const string &protocol) | ||||||
void | set_mime_html (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_html (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_html (ostream &strm, ObjectType type, EncodingType enc, const time_t last_modified, const string &protocol) | ||||||
void | set_mime_binary (FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_binary (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_binary (ostream &strm, ObjectType type, EncodingType enc, const time_t last_modified, const string &protocol) | ||||||
void | set_mime_multipart (ostream &strm, const string &boundary, const string &start, ObjectType type, const string &version, EncodingType enc, const time_t last_modified) | ||||||
void | set_mime_multipart (ostream &strm, const string &boundary, const string &start, ObjectType type, EncodingType enc, const time_t last_modified, const string &protocol, const string &url) | ||||||
void | set_mime_ddx_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc) | ||||||
void | set_mime_data_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc) | ||||||
void | set_mime_error (FILE *out, int code, const string &reason, const string &version) | ||||||
void | set_mime_error (ostream &strm, int code, const string &reason, const string &version) | ||||||
void | set_mime_not_modified (FILE *out) | ||||||
Send a ‘Not Modified’ response. | |||||||
void | set_mime_not_modified (ostream &strm) | ||||||
Send a ‘Not Modified’ response. | |||||||
parse_error | |||||||
Generate error messages for the various parsers.
| |||||||
void | parse_error (parser_arg *arg, const char *msg, const int line_num, const char *context) | ||||||
void | parse_error (const string &msg, const int line_num, const char *context) | ||||||
Integer to string conversion functions | |||||||
Fast, safe conversions from long to a character representation which gets appended to a string. This method will take a long value 'val' and it will recursively divide it by 'base' in order to "extract" one by one the digits which compose it; these digits will be appended to the string
| |||||||
void | append_long_to_string (long val, int base, string &str_val) | ||||||
string | long_to_string (long val, int base) | ||||||
Double to string conversion functions | |||||||
Conversions from double to a character representation which gets appended to a string. This function depends on the standard routine sprintf to convert a double to a textual representation which gets appended to the string 'str'.
| |||||||
void | append_double_to_string (const double &num, string &str) | ||||||
string | double_to_string (const double &num) | ||||||
string | path_to_filename (string path) | ||||||
int | glob (const char *c, const char *s) | ||||||
time_t | parse_time (const char *str, bool expand) | ||||||
Security functions | |||||||
bool | size_ok (unsigned int sz, unsigned int nelem) | ||||||
sanitize the size of an array. Test for integer overflow when dynamically allocating an array. | |||||||
bool | pathname_ok (const string &path, bool strict) | ||||||
Does the string name a potentially valid pathname? Test the given pathname to verify that it is a valid name. We define this as: Contains only printable characters; and Is less than 256 characters. If strict is true, test that the pathname consists of only letters, digits, and underscore, dash and dot characters instead of the more general case where a pathname can be composed of any printable characters. | |||||||
string | dap_version () | ||||||
string | open_temp_fstream (ofstream &f, const string &name_template, const string &suffix) | ||||||
Variables | |
const string | c_dap40_namespace = "http://xml.opendap.org/ns/DAP/4.0#" |
int | dods_keep_temps = 0 |
const int | DODS_MAX_ARRAY = DODS_INT_MAX |
const size_t | line_length = 1024 |
const unsigned int | max_str_len = DODS_USHRT_MAX - 1 |
const unsigned int | max_url_len = 255 |
const string | usage |
int | www_trace = 0 |
int | www_trace_extensive = 0 |
SAX Parser Callbacks | |
These methods are declared static in the class header. This gives them C linkage which allows them to be used as callbacks by the SAX parser engine. |
get information using an iterator | |
const string | double_quote = "\"" |
top level DAP object to house generic methods
Define this symbol iff we decide to include information about the byte order of the response (as sent from the server) so that the client can determine the correct CRC32 hash code. jhrg 1/4/16
typedef vector< BaseType * > libdap::BaseTypeRow |
The type BaseTypeRow is used to store single rows of values in an instance of Sequence. Values are stored in instances of BaseType.
Definition at line 49 of file D4Sequence.h.
typedef std::vector<dods_byte>* libdap::byte_arg_list |
typedef std::list<cache_entry> libdap::CacheFiles |
Definition at line 57 of file DAPCache3.h.
typedef BaseType *(* libdap::D4Function) (D4RValueList *, DMR &) |
Definition at line 41 of file D4Function.h.
typedef vector<BaseType *> libdap::D4SeqRow |
The type BaseTypeRow is used to store single rows of values in an instance of D4Sequence. Values are stored in instances of BaseType.
Definition at line 42 of file D4Sequence.h.
typedef vector<D4SeqRow *> libdap::D4SeqValues |
This type holds all of the values of a D4Sequence.
Definition at line 45 of file D4Sequence.h.
typedef uint8_t libdap::dods_byte |
Definition at line 20 of file dods-datatypes-static.h.
typedef int64_t libdap::dods_enum |
Definition at line 33 of file dods-datatypes-static.h.
typedef float libdap::dods_float32 |
Definition at line 24 of file dods-datatypes-static.h.
typedef double libdap::dods_float64 |
Definition at line 22 of file dods-datatypes-static.h.
typedef int16_t libdap::dods_int16 |
Definition at line 16 of file dods-datatypes-static.h.
typedef int32_t libdap::dods_int32 |
Definition at line 12 of file dods-datatypes-static.h.
typedef int64_t libdap::dods_int64 |
Definition at line 29 of file dods-datatypes-static.h.
typedef int8_t libdap::dods_int8 |
Definition at line 27 of file dods-datatypes-static.h.
typedef uint16_t libdap::dods_uint16 |
Definition at line 18 of file dods-datatypes-static.h.
typedef uint32_t libdap::dods_uint32 |
Definition at line 14 of file dods-datatypes-static.h.
typedef uint64_t libdap::dods_uint64 |
Definition at line 31 of file dods-datatypes-static.h.
typedef int libdap::ErrorCode |
typedef std::vector<dods_float32>* libdap::float32_arg_list |
typedef std::vector<dods_float64>* libdap::float64_arg_list |
typedef std::vector<dods_int16>* libdap::int16_arg_list |
typedef std::vector<dods_int32>* libdap::int32_arg_list |
typedef vector<Resource> libdap::ResourceVector |
Definition at line 48 of file AISResources.h.
typedef ResourceVector::const_iterator libdap::ResourceVectorCIter |
Definition at line 50 of file AISResources.h.
typedef ResourceVector::iterator libdap::ResourceVectorIter |
Definition at line 49 of file AISResources.h.
typedef std::vector<rvalue *> libdap::rvalue_list |
typedef std::vector<rvalue*>::const_iterator libdap::rvalue_list_citer |
typedef std::vector<rvalue*>::iterator libdap::rvalue_list_iter |
typedef vector< BaseTypeRow * > libdap::SequenceValues |
This type holds all of the values of a Sequence.
Definition at line 52 of file D4Sequence.h.
typedef void libdap::Sigfunc(int) |
Definition at line 37 of file SignalHandler.h.
typedef std::vector<dods_uint16>* libdap::uint16_arg_list |
typedef std::vector<dods_uint32>* libdap::uint32_arg_list |
enum libdap::AttrType |
AttrType identifies the data types which may appear in an attribute table object.
Definition at line 78 of file AttrTable.h.
Disconnected Operation
The cache can be set to handle disconnected operation where it does not use the network to validate entries and does not attempt to load new documents. All requests that cannot be fulfilled by the cache will be returned with a "504 Gateway Timeout" response. There are two operational disconnected modes:
No network activity at all: Here it uses its own persistent cache to answer the request, if possible.
Forward all disconnected requests to a proxy cache: Here it uses the HTTP/1.1 cache-control header to indicate that the proxy should operate in disconnected mode.
Enumerator | |
---|---|
DISCONNECT_NONE | |
DISCONNECT_NORMAL | |
DISCONNECT_EXTERNAL |
Definition at line 46 of file HTTPCacheDisconnectedMode.h.
enum libdap::DAPVersion |
Enumerator | |
---|---|
DAP_2_0 | |
DAP_3_2 | |
DAP_4_0 |
Definition at line 32 of file DapXmlNamespaces.h.
enum libdap::EncodingType |
The type of encoding used on the current stream.
libdap understands two types of encoding: x-plain and deflate, which correspond to plain uncompressed data and data compressed with zlib's LZW algorithm respectively.
enum EncodingType { unknown_enc, deflate, x_plain, gzip, binary };
Enumerator | |
---|---|
unknown_enc | |
deflate | |
x_plain | |
gzip | |
binary |
Definition at line 47 of file EncodingType.h.
enum libdap::ObjectType |
The type of object in the stream coming from the data server.
When a version 2.x or greater DAP data server sends an object, it may use the Content-Description header of the response to indicate the type of object contained in the response.
enum ObjectType { unknown_type, dods_das, dods_dds, dods_data, dods_ddx, dods_data_ddx, dods_error, web_error, dap4_dmr, dap4_data, dap4_error, };
Enumerator | |
---|---|
unknown_type | |
dods_das | |
dods_dds | |
dods_data | |
dods_ddx | |
dods_data_ddx | |
dods_error | |
web_error | |
dap4_dmr | |
dap4_data | |
dap4_error |
Definition at line 57 of file ObjectType.h.
enum libdap::Part |
Enumerator | |
---|---|
TIME | |
UNAVAILABLE | |
PRIVILEGES | |
OTHER |
Definition at line 15 of file D4AsyncUtil.h.
enum libdap::Type |
Identifies the data type.
Type identifies the data type stored in a particular type class. All the DODS Data Access Protocol (DAP) types inherit from the BaseType class.
Add %20 space encoding.
Definition at line 76 of file AttrTable.cc.
void libdap::append_double_to_string | ( | const double & | num, |
string & | str ) |
void libdap::append_long_to_string | ( | long | val, |
int | base, | ||
string & | str_val ) |
rvalue_list * libdap::append_rvalue_list | ( | rvalue_list * | rvals, |
rvalue * | rv ) |
Convert an AttrType to it's string representation.
at | The Attribute Type. |
Definition at line 93 of file AttrTable.cc.
BaseType ** libdap::build_btp_args | ( | const rvalue_list * | args, |
DDS & | dds ) |
Build an argument list suitable for calling a btp_func
, bool_func
, and so on. Since this takes an rvalue_list and not an rvalue, it is a function rather than a class member.
This function performs a common task but does not fit within the RValue class well. It is used by Clause and ce_expr.y.
args | A list of RValue objects |
dds | Use this DDS when evaluating functions |
std::string libdap::cid_to_header_value | ( | const string & | cid | ) |
Given a Content-Id read from the DDX, return the value to look for in a MPM Content-Id header. This function downcases the CID to match the value returned by parse_mime_header.
cid | The Content-Id read from the DDX |
Error | if the CID does not start with the string "cid:" |
Definition at line 1008 of file mime_util.cc.
bool libdap::Cmp | ( | int | op, |
T1 | v1, | ||
T2 | v2 ) |
Compare two numerical types, both of which are either signed or unsigned. This class is one implementation of the comparison policy used by rops.
Definition at line 52 of file Operators.h.
string libdap::D4AttributeTypeToString | ( | D4AttributeType | at | ) |
Convert an AttrType to it's string representation.
at | The Attribute Type. |
Definition at line 45 of file D4Attributes.cc.
D4RValue * libdap::D4RValueFactory | ( | std::string | cpps | ) |
Build an appropriate RValue.
Look at the value in the string parameter and build an appropriate BaseType, use that as a constant and build an RValue. This can be used by the DAP4 parser directly to build the constants in filter clauses.
cpps | The string argument read by the parser. |
Definition at line 197 of file D4RValue.cc.
string libdap::dap_version | ( | ) |
std::string libdap::date_time_str | ( | time_t * | calendar, |
bool | local ) |
Given a time in seconds since midnight 1 Jan 1970, return the RFC 1123 date string. Example result string: Sun, 06 Nov 1994 08:49:37 GMT
calendar | Time in seconds |
local | If true, return the local time, if false return GMT. The default value is false. |
Definition at line 260 of file util_mit.cc.
bool libdap::dir_exists | ( | const string & | dir | ) |
Send a version number.
This sends a formatted block of text to the client, containing version information about various aspects of the server. The arguments allow you to enclose version information about the filter program and the dataset in the message. Either argument (or both) may be omitted, in which case no script or dataset version information will be printed.
script_ver | The version of the filter script executing this function. |
dataset_ver | The version of the dataset. |
Definition at line 178 of file mime_util.cc.
|
inline |
void libdap::downcase | ( | string & | s | ) |
|
inline |
Definition at line 440 of file HTTPCache.cc.
void libdap::ErrMsgT | ( | const string & | Msgt | ) |
Logs an error message.
Prints an error message in the httpd
system log file, along with a time stamp and the client host name (or address).
Use this instead of the functions in liberrmsg.a in the programs run by the CGIs to report errors so those errors show up in HTTPD's log files.
Definition at line 209 of file mime_util.cc.
Return a string that has all the %<hex
digit><hex digit> sequences replaced with underscores (‘_’).
s | The string to transform |
Definition at line 331 of file escaping.cc.
Rip through a string and replace all the double quotes with " sequences.
source |
Definition at line 466 of file escaping.cc.
Escape non-printable characters and quotes from an HDF attribute.
s | The attribute to modify. |
Definition at line 342 of file escaping.cc.
Escape non-printable characters and quotes from an HDF attribute.
s | The attribute to modify. |
Definition at line 375 of file escaping.cc.
double * libdap::extract_double_array | ( | Array * | a | ) |
Given a pointer to an Array which holds a numeric type, extract the values and return in an array of doubles. This function allocates the array using 'new double[n]' so delete[] MUST be used when you are done the data.
a | Extract value from this Array. |
Given a pointer to an Array which holds a numeric type, extract the values and return in an array of doubles. This function allocates the array using 'new double[n]' so delete[] MUST be used when you are done the data.
a | Extract value from this Array. |
dest | Put the values in this vector. A value-result parameter. |
double libdap::extract_double_value | ( | BaseType * | arg | ) |
Recursive helper function for Building DAS entries for Constructor types.
at | Add Constructor content to this Attribute table |
bt | A pointer to a BaseType which may be an instance of Constructor. |
AttrType libdap::get_dap2_AttrType | ( | D4AttributeType | d4_type | ) |
Definition at line 265 of file D4Attributes.cc.
ObjectType libdap::get_description_type | ( | const string & | value | ) |
This function returns the ObjectType value that matches the given string. Modified to include tests for the descriptions that use hyphens in addition to underscores. 8/1/08 jhrg
value | Value from the HTTP response header |
Definition at line 309 of file mime_util.cc.
int libdap::get_hash | ( | const string & | url | ) |
Compute the hash value for a URL.
url |
Definition at line 56 of file HTTPCacheTable.cc.
std::string libdap::get_next_mime_header | ( | FILE * | in | ) |
Read the next MIME header from the input stream and return it in a string object. This function consumes any leading whitespace before the next header. It returns an empty string when the blank line that separates the headers from the body is found. This function works for header and separator lines that use either a CRLF pair (the correct line ending) or just a newline (a common error).
in | Read from this stream (FILE *) |
Error | is thrown if no header or separator is found. |
Definition at line 777 of file mime_util.cc.
std::string libdap::get_next_mime_header | ( | istream & | in | ) |
This function and its companion read the next MIME header from an input stream (or FILE*) and return it as a string. The stream pointer is updated to the next line of input. It returns an empty string when the blank line ending the MIME headers is found.
in | Read the next header from the input stream |
Definition at line 808 of file mime_util.cc.
Type libdap::get_type | ( | const char * | name | ) |
ObjectType libdap::get_type | ( | const string & | value | ) |
This function returns the ObjectType value that matches the given string. Modified to include tests for the descriptions that use hyphens in addition to underscores. 8/1/08 jhrg
Definition at line 300 of file mime_util.cc.
int libdap::glob | ( | const char * | c, |
const char * | s ) |
glob: match a string against a simple pattern
Understands the following patterns:
c | The pattern |
s | The string |
bool libdap::has_dap2_attributes | ( | AttrTable & | a | ) |
bool libdap::has_dap2_attributes | ( | BaseType * | btp | ) |
string libdap::hexstring | ( | unsigned char | val | ) |
Definition at line 81 of file escaping.cc.
Replace characters that are not allowed in DAP2 identifiers.
-In the DAP itself, id2www() is called in:
-In the client code:
in | Replace characters in this string. |
allowable | The set of characters that are allowed in a URI. default: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\\*" |
Definition at line 143 of file escaping.cc.
Replace characters that are not allowed in WWW URLs using rules specific to Constraint Expressions. This has changed over time and now the only difference is that '*' is escaped by this function while it is not escaped by id2www().
in | The string in which to replace characters. |
allowable | The set of characters that are allowed in a URI. default: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\\" |
Definition at line 166 of file escaping.cc.
Replace characters that are not allowed in XML
in | The string in which to replace characters. |
not_allowed | The set of characters that are not allowed in XML. default: ><&'(single quote)"(double quote) |
Definition at line 253 of file escaping.cc.
bool libdap::is_boundary | ( | const char * | line, |
const string & | boundary ) |
Is this string the same as the MPM boundary value?
line | The input to test |
boundary | The complete boundary line to test for, excluding terminating characters. |
Definition at line 876 of file mime_util.cc.
bool libdap::is_constructor_type | ( | Type | t | ) |
bool libdap::is_hop_by_hop_header | ( | const string & | header | ) |
Is the header a hop by hop header? If so, we're not supposed to store it in the cache. See RFC 2616, Section 13.5.1.
Definition at line 715 of file HTTPCache.cc.
bool libdap::is_host_big_endian | ( | ) |
bool libdap::is_integer_type | ( | Type | t | ) |
Definition at line 161 of file parser-util.cc.
bool libdap::is_quoted | ( | const string & | s | ) |
bool libdap::is_simple_type | ( | Type | t | ) |
Returns true if the instance is a numeric, string or URL type variable.
bool libdap::is_vector_type | ( | Type | t | ) |
time_t libdap::last_modified_time | ( | const string & | name | ) |
Get the last modified time. Assume name
is a file and find its last modified time. If name
is not a file, then return now as the last modified time.
name | The name of a file. |
Definition at line 94 of file mime_util.cc.
const char * libdap::libdap_version | ( | ) |
rvalue_list * libdap::make_rvalue_list | ( | rvalue * | rv | ) |
Definition at line 446 of file escaping.cc.
std::string libdap::name_path | ( | const string & | path | ) |
Returns the filename portion of a pathname.
Given a pathname, this function returns just the file name component of the path. That is, given /a/b/c/ralph.nc.das
, it returns ralph.nc
.
path | A C-style simple string containing a pathname to be parsed. |
Definition at line 250 of file mime_util.cc.
Definition at line 236 of file escaping.cc.
string libdap::octstring | ( | unsigned char | val | ) |
Definition at line 98 of file escaping.cc.
string libdap::open_temp_fstream | ( | ofstream & | f, |
const string & | name_template, | ||
const string & | suffix ) |
Using the given template, open a temporary file using the given ofstream object. Uses mkstemp() in a 'safe' way.
f | Value-result parameter |
name_template | The template used to name the temporary file. The template has the form templateXXXXXX where the six Xs will be overwritten. |
suffix | If present, the template is 'templateXXXXXX.suffix' |
Error | if there is a problem. |
ostream & libdap::operator<< | ( | ostream & | os, |
const AISResources & | ais_res ) |
Output the XML for a collection of AIS resources. This function is a friend of the AISResource class.
Definition at line 59 of file AISResources.cc.
void libdap::parse_error | ( | const char * | msg, |
const int | line_num, | ||
const char * | context ) |
Definition at line 115 of file parser-util.cc.
void libdap::parse_error | ( | const string & | msg, |
const int | line_num, | ||
const char * | context ) |
Definition at line 140 of file parser-util.cc.
void libdap::parse_error | ( | parser_arg * | arg, |
const char * | msg, | ||
const int | line_num, | ||
const char * | context ) |
Definition at line 89 of file parser-util.cc.
Given a string that contains a MIME header line, parse it into the the header (name) and its value. Both are downcased.
header | The input line, striped of the ending crlf pair |
name | A value-result parameter that holds the header name |
value | A value-result parameter that holds the header's value. |
Definition at line 848 of file mime_util.cc.
time_t libdap::parse_time | ( | const char * | str, |
bool | expand ) |
Parse a string in GMT format to a local time time_t representation Four formats are accepted: Wkd, 00 Mon 0000 00:00:00 GMT (rfc1123) Weekday, 00-Mon-00 00:00:00 GMT (rfc850) Wkd Mon 00 00:00:00 0000 GMT (ctime) 1*DIGIT (delta-seconds)
Copied from libwww. 09/19/02 jhrg
str | The time string. |
expand | If the time is given in delta seconds, adjust it to seconds since midnight 1 Jan 1970 if this is true. If false, simply convert the string to a time_t and return. The default value is true. |
Definition at line 144 of file util_mit.cc.
Get the filename part from a path. This function can be used to return a string that has the directory components stripped from a path. This is useful when building error message strings.
If WIN32 is defined, use '\' as the path separator, otherwise use '/' as the path separator.
bool libdap::pathname_ok | ( | const string & | path, |
bool | strict ) |
Does the string name a potentially valid pathname? Test the given pathname to verify that it is a valid name. We define this as: Contains only printable characters; and Is less than 256 characters. If strict is true, test that the pathname consists of only letters, digits, and underscore, dash and dot characters instead of the more general case where a pathname can be composed of any printable characters.
path | The pathname to test |
strict | Apply more restrictive tests (true by default) |
Removed spaces from the front of a URL and also from the front of the CE. This function assumes that there are no holes in both the URL and the CE. It will remove leading space, but not other spaces.
name | The URL to process |
std::string libdap::read_multipart_boundary | ( | FILE * | in, |
const string & | boundary ) |
Read the next line of input and test to see if it is a multipart MIME boundary line. If the value of boundary is the default (an empty string) then just test that the line starts with "--". In either case, return the value of boundary just read.
boundary | Value of the boundary to look for - optional |
in | Read from this FILE* |
Error | if no boundary was found. |
Definition at line 893 of file mime_util.cc.
Definition at line 904 of file mime_util.cc.
void libdap::read_multipart_headers | ( | FILE * | in, |
const string & | content_type, | ||
const ObjectType | object_type, | ||
const string & | cid ) |
Consume the Multipart MIME headers that prefix the DDX in a DataDDX response. The stream pointer is advanced to the start of the DDX. It might seem odd that this function both takes the value of the MPM boundary as a parameter and returns that value as a result, but this code can be used in two different situations. In one case, it is called on a partial document read from stdin and needs to return the value of boundary to the downstream DDX parser so that code can sense the end of the DDX. In the other case, this function is told the value of boundary and tests for it to ensure document correctness.
in | Read from this stream |
content_type | The expected value of the Content-Type header |
object_type | The expected value of the Content-Description header |
cid | The expected value of the Content-Id header - optional. |
Error | if the boundary is not found or if any of the expected header values don't match. The optional values are tested only if they are given (the default values are not tested). |
Definition at line 935 of file mime_util.cc.
void libdap::read_multipart_headers | ( | istream & | in, |
const string & | content_type, | ||
const ObjectType | object_type, | ||
const string & | cid ) |
Definition at line 969 of file mime_util.cc.
bool libdap::remove_mime_header | ( | FILE * | in | ) |
Read and discard the MIME header of the stream in
.
Read the input stream in
and discard the MIME header. The MIME header is separated from the body of the document by a single blank line. If no MIME header is found, then the input stream is ‘emptied’ and will contain nothing.
Definition at line 1130 of file mime_util.cc.
void libdap::remove_mime_header | ( | istream & | in | ) |
Used for test code; strip the leading MIME headers from a response.
in |
Definition at line 1145 of file mime_util.cc.
Remove %20 space encoding
Definition at line 61 of file AttrTable.cc.
std::string libdap::rfc822_date | ( | const time_t | t | ) |
Given a constant pointer to a time_t
, return a RFC 822/1123 style date.
This function returns the RFC 822 date with the exception that the RFC 1123 modification for four-digit years is implemented.
t | A const time_t pointer. |
Definition at line 148 of file mime_util.cc.
void libdap::save_str | ( | std::string & | dst, |
const char * | src, | ||
const int | ) |
Save a string to a temporary variable during the parse.
Given a string (const char *src
), save it to the temporary variable pointed to by dst
. If the string is longer than ID_MAX
, generate and error indicating that src
was truncated to ID_MAX
characters during the copy operation. There are two versions of this function; one calls the version of parser_error()
which writes to stderr. The version which accepts the parser_arg *arg
argument calls the version of parser_error()
which generates and Error object.
Definition at line 159 of file parser-util.cc.
void libdap::set_array_using_double | ( | Array * | dest, |
double * | src, | ||
int | src_len ) |
Given an array that holds some sort of numeric data, load it with values using an array of doubles. This function makes several assumptions. First, it assumes the caller really wants to put the doubles into whatever types the array holds! Caveat emptor. Second, it assumes that if the size of source (src) array is different than the destination (dest) the caller has made a mistake. In that case it will throw an Error object.
After setting the values, this method sets the read_p
property for dest. Setting read_p tells the serialization methods in libdap that this variable already holds data values and, given that, the serialization code will not try to read the values.
dest | An Array. The values are written to this array, reusing its storage. Existing values are lost. |
src | The source data. |
src_len | The number of elements in the src array. |
void libdap::set_mime_binary | ( | FILE * | out, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Write an HTTP 1.0 response header for our binary response document (i.e., the DataDDS object).
out | Write the MIME header to this FILE pointer. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 575 of file mime_util.cc.
void libdap::set_mime_binary | ( | ostream & | strm, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Write an HTTP 1.0 response header for our binary response document (i.e., the DataDDS object).
strm | Write the MIME header to this stream. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 595 of file mime_util.cc.
void libdap::set_mime_binary | ( | ostream & | strm, |
ObjectType | type, | ||
EncodingType | enc, | ||
const time_t | last_modified, | ||
const string & | protocol ) |
Write an HTTP 1.0 response header for our binary response document (i.e., the DataDDS object).
strm | Write the MIME header to this stream. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 636 of file mime_util.cc.
void libdap::set_mime_data_boundary | ( | ostream & | strm, |
const string & | boundary, | ||
const string & | cid, | ||
ObjectType | type, | ||
EncodingType | enc ) |
Definition at line 748 of file mime_util.cc.
void libdap::set_mime_ddx_boundary | ( | ostream & | strm, |
const string & | boundary, | ||
const string & | cid, | ||
ObjectType | type, | ||
EncodingType | enc ) |
Definition at line 734 of file mime_util.cc.
Generate an HTTP 1.0 response header for an Error object.
out | Write the MIME header to this FILE pointer. |
code | HTTP 1.0 response code. Should be 400, ... 500, ... |
reason | Reason string of the HTTP 1.0 response header. |
version | The version string; denotes the DAP spec and implementation version. |
Definition at line 1029 of file mime_util.cc.
void libdap::set_mime_error | ( | ostream & | strm, |
int | code, | ||
const string & | reason, | ||
const string & | version ) |
Generate an HTTP 1.0 response header for an Error object.
strm | Write the MIME header to this stream. |
code | HTTP 1.0 response code. Should be 400, ... 500, ... |
reason | Reason string of the HTTP 1.0 response header. |
version | The version string; denotes the DAP spec and implementation version. |
Definition at line 1043 of file mime_util.cc.
void libdap::set_mime_html | ( | FILE * | out, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Generate an HTTP 1.0 response header for a html document.
out | Write the MIME header to this FILE pointer. |
type | The type of this this response. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 469 of file mime_util.cc.
void libdap::set_mime_html | ( | ostream & | strm, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Generate an HTTP 1.0 response header for a html document.
strm | Write the MIME header to this stream. |
type | The type of this this response. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 486 of file mime_util.cc.
void libdap::set_mime_html | ( | ostream & | strm, |
ObjectType | type, | ||
EncodingType | enc, | ||
const time_t | last_modified, | ||
const string & | protocol ) |
Generate an HTTP 1.0 response header for a html document.
strm | Write the MIME header to this stream. |
type | The type of this this response. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 528 of file mime_util.cc.
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 ) |
Definition at line 665 of file mime_util.cc.
void libdap::set_mime_multipart | ( | ostream & | strm, |
const string & | boundary, | ||
const string & | start, | ||
ObjectType | type, | ||
EncodingType | enc, | ||
const time_t | last_modified, | ||
const string & | protocol, | ||
const string & | url ) |
Build the initial headers for the DAP4 data response
Definition at line 697 of file mime_util.cc.
void libdap::set_mime_not_modified | ( | FILE * | out | ) |
Send a ‘Not Modified’ response.
Use this function to create a response signaling that the target of a conditional get has not been modified relative to the condition given in the request. This will have to be a date until the servers support ETags.
out | Write the response to this FILE pointer. |
Definition at line 1067 of file mime_util.cc.
void libdap::set_mime_not_modified | ( | ostream & | strm | ) |
Send a ‘Not Modified’ response.
Use this function to create a response signaling that the target of a conditional get has not been modified relative to the condition given in the request. This will have to be a date until the servers support ETags.
strm | Write the response to this stream. |
Definition at line 1080 of file mime_util.cc.
void libdap::set_mime_text | ( | FILE * | out, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Generate an HTTP 1.0 response header for a text document. This is used when returning a serialized DAS or DDS object.
out | Write the MIME header to this FILE pointer. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 349 of file mime_util.cc.
void libdap::set_mime_text | ( | ostream & | strm, |
ObjectType | type, | ||
const string & | ver, | ||
EncodingType | enc, | ||
const time_t | last_modified ) |
Generate an HTTP 1.0 response header for a text document. This is used when returning a serialized DAS or DDS object.
strm | Write the MIME header to this stream. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 368 of file mime_util.cc.
void libdap::set_mime_text | ( | ostream & | strm, |
ObjectType | type, | ||
EncodingType | enc, | ||
const time_t | last_modified, | ||
const string & | protocol ) |
Generate an HTTP 1.0 response header for a text document. This is used when returning a serialized DAS or DDS object.
strm | Write the MIME header to this stream. |
type | The type of this this response. Defaults to application/octet-stream. |
ver | The version string; denotes the libdap implementation version. |
enc | How is this response encoded? Can be plain or deflate or the x_... versions of those. Default is x_plain. |
last_modified | The time to use for the Last-Modified header value. Default is zero which means use the current time. |
Definition at line 420 of file mime_util.cc.
bool libdap::size_ok | ( | unsigned int | sz, |
unsigned int | nelem ) |
bool libdap::StrCmp | ( | int | op, |
T1 | v1, | ||
T2 | v2 ) |
Compare two string types. This class is one implementation of the comparison policy used by rops.
Definition at line 166 of file Operators.h.
Definition at line 136 of file AttrTable.cc.
D4AttributeType libdap::StringToD4AttributeType | ( | string | s | ) |
Definition at line 109 of file D4Attributes.cc.
string libdap::systime | ( | ) |
Return the type name. This function provides backward compatibility for older code that predates, and has not been ported to, DAP4. It is prejudiced toward DAP4, but if no D4 type name can be found, it types D2. If neither would return a type name, and InternalErr object is thrown.
t | The DAP2/DAP4 type |
InternalErr | If not such type can be found |
Rip through a string and replace all the escaped double quotes with regular double quotes.
source |
Definition at line 481 of file escaping.cc.
Un-escape special characters, quotes and backslashes from an HDF attribute.
Note: A regex to match one \ must be defined as: Regex foo = "\\\\"; because both C++ strings and GNU's Regex also employ \ as an escape character!
s | The escaped attribute. |
Definition at line 407 of file escaping.cc.
Definition at line 88 of file escaping.cc.
Definition at line 105 of file escaping.cc.
Given a string that contains WWW escape sequences, translate those escape sequences back into the ASCII characters they represent. Return the modified string.
-Places in the dap code where www2id() is called:
-In the server code:
in | The string to modify. |
escape | The character used to signal the beginning of an escape sequence. default: "%" |
except | If there are some escape codes that should not be removed by this call (e.g., you might not want to remove spaces, %20) use this parameter to specify those codes. The function will then transform all escapes except those given. For example, to suppress translation of both spaces and the ampersand, pass "%20%26" for 'except'. default: "" |
Definition at line 202 of file escaping.cc.
Given a string that contains XML escape sequences (i.e., entities), translate those back into ASCII characters. Return the modified string.
in | The string to modify. |
Definition at line 301 of file escaping.cc.
const string libdap::c_dap40_namespace = "http://xml.opendap.org/ns/DAP/4.0#" |
int libdap::dods_keep_temps = 0 |
Definition at line 87 of file HTTPConnect.cc.
const int libdap::DODS_MAX_ARRAY = DODS_INT_MAX |
const string libdap::double_quote = "\"" |
Definition at line 1116 of file AttrTable.cc.
const size_t libdap::line_length = 1024 |
Definition at line 760 of file mime_util.cc.
const unsigned int libdap::max_str_len = DODS_USHRT_MAX - 1 |
const string libdap::usage |
Definition at line 89 of file DODSFilter.cc.
int libdap::www_trace = 0 |
Definition at line 81 of file HTTPConnect.cc.
int libdap::www_trace_extensive = 0 |
Definition at line 84 of file HTTPConnect.cc.