Classes | ||||||||||
class | AlarmHandler | |||||||||
class | Ancillary | |||||||||
class | Array | |||||||||
A multidimensional array of identical data types. More... | ||||||||||
class | ArrayGeoConstraint | |||||||||
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 | ce_parser_arg | |||||||||
struct | Clause | |||||||||
Holds a fragment of a constraint expression. More... | ||||||||||
class | Cmp | |||||||||
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 | 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 | DAS | |||||||||
Hold attribute data for a DAP2 dataset. More... | ||||||||||
class | DataDDS | |||||||||
Holds a DAP2 DDS. More... | ||||||||||
class | DDS | |||||||||
class | DDXParseFailed | |||||||||
class | DDXParser | |||||||||
class | DODSFilter | |||||||||
Common functions for DODS server filter programs. More... | ||||||||||
class | Error | |||||||||
A class for error processing. More... | ||||||||||
class | EventHandler | |||||||||
class | Float32 | |||||||||
Holds a 32-bit floating point value. More... | ||||||||||
class | Float64 | |||||||||
Holds a 64-bit (double precision) floating point value. More... | ||||||||||
class | GeoConstraint | |||||||||
class | Grid | |||||||||
Holds the Grid data type. More... | ||||||||||
class | GridGeoConstraint | |||||||||
struct | gse_arg | |||||||||
class | GSEClause | |||||||||
class | HTTPCache | |||||||||
class | HTTPCacheInterruptHandler | |||||||||
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 | InternalErr | |||||||||
A class for software fault reporting. More... | ||||||||||
class | Marshaller | |||||||||
abstract base class used to marshal/serialize dap data objects More... | ||||||||||
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 | Resource | |||||||||
Associate a rule with an ancillary resource. More... | ||||||||||
class | Response | |||||||||
class | ResponseTooBigErr | |||||||||
class | rvalue | |||||||||
class | Sequence | |||||||||
Holds a sequence. More... | ||||||||||
class | SignalHandler | |||||||||
class | SignalHandlerRegisteredErr | |||||||||
class | StdinResponse | |||||||||
Encapsulate a response read from stdin. More... | ||||||||||
class | Str | |||||||||
Holds character string data. More... | ||||||||||
class | StrCmp | |||||||||
class | Structure | |||||||||
Holds a structure (aggregate) type. More... | ||||||||||
class | SUCmp | |||||||||
class | TestHandler | |||||||||
class | UInt16 | |||||||||
Holds an unsigned 16-bit integer. More... | ||||||||||
class | UInt32 | |||||||||
Holds a 32-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 | USCmp | |||||||||
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 to marshal/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 | |||||||||
Typedefs | ||||||||||
typedef vector< BaseType * > | BaseTypeRow | |||||||||
typedef uint8_t | dods_byte | |||||||||
typedef float | dods_float32 | |||||||||
typedef double | dods_float64 | |||||||||
typedef int16_t | dods_int16 | |||||||||
typedef int32_t | dods_int32 | |||||||||
typedef uint16_t | dods_uint16 | |||||||||
typedef uint32_t | dods_uint32 | |||||||||
typedef int | ErrorCode | |||||||||
An enumerated type for common errors. | ||||||||||
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) | |||||||||
Enumerations | ||||||||||
enum | AttrType { Attr_unknown, Attr_container, Attr_byte, Attr_int16, Attr_uint16, Attr_int32, Attr_uint32, Attr_float32, Attr_float64, Attr_string, Attr_url, Attr_other_xml } | |||||||||
enum | CacheDisconnectedMode { DISCONNECT_NONE = 0, DISCONNECT_NORMAL = 1, DISCONNECT_EXTERNAL = 2 } | |||||||||
enum | EncodingType { unknown_enc, deflate, x_plain, gzip, binary } | |||||||||
The type of encoding used on the current stream. More... | ||||||||||
enum | ObjectType { unknown_type, dods_das, dods_dds, dods_data, dods_error, web_error, dap4_ddx, dap4_data, dap4_error, dap4_data_ddx, dods_ddx } | |||||||||
The type of object in the stream coming from the data server. More... | ||||||||||
enum | Part { nil, array, maps } | |||||||||
Names the parts of multi-section constructor data types. More... | ||||||||||
enum | relop { dods_nop_op, dods_greater_op, dods_greater_equal_op, dods_less_op, dods_less_equal_op, dods_equal_op, dods_not_equal_op } | |||||||||
enum | Type { dods_null_c, dods_byte_c, dods_int16_c, dods_uint16_c, dods_int32_c, dods_uint32_c, dods_float32_c, dods_float64_c, dods_str_c, dods_url_c, dods_array_c, dods_structure_c, dods_sequence_c, dods_grid_c } | |||||||||
Identifies the data type. More... | ||||||||||
Functions | ||||||||||
rvalue_list * | append_rvalue_list (rvalue_list *rvals, rvalue *rv) | |||||||||
string | AttrType_to_String (const AttrType at) | |||||||||
BaseType ** | build_btp_args (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) | |||||||||
Is the value a valid float? | ||||||||||
int | check_float64 (const char *val) | |||||||||
int | check_int16 (const char *val) | |||||||||
Is the value a valid integer? | ||||||||||
int | check_int32 (const char *val) | |||||||||
int | check_uint16 (const char *val) | |||||||||
int | check_uint32 (const char *val) | |||||||||
int | check_url (const char *val) | |||||||||
Is the value a valid URL? | ||||||||||
string | cid_to_header_value (const string &cid) | |||||||||
void | close_temp (FILE *s, const string &name) | |||||||||
FILE * | compressor (FILE *output, int &childpid) | |||||||||
string | dap_version () | |||||||||
string | date_time_str (time_t *calendar, bool local) | |||||||||
bool | deflate_exists () | |||||||||
unsigned | dods_max (int i1, int i2) | |||||||||
const char * | dods_progress () | |||||||||
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) | |||||||||
double * | extract_double_array (Array *a) | |||||||||
double | extract_double_value (BaseType *arg) | |||||||||
string | extract_string_argument (BaseType *arg) | |||||||||
string | file_to_string (FILE *fp) | |||||||||
bool | found_override (string name, string &doc) | |||||||||
void | func_version (int argc, BaseType *argv[], DDS &dds, BaseType **btpp) | |||||||||
void | function_geoarray (int argc, BaseType *argv[], DDS &dds, BaseType **btpp) | |||||||||
void | function_geogrid (int argc, BaseType *argv[], DDS &, BaseType **btpp) | |||||||||
void | function_grid (int argc, BaseType *argv[], DDS &, BaseType **btpp) | |||||||||
void | function_linear_scale (int argc, BaseType *argv[], DDS &, BaseType **btpp) | |||||||||
void | function_version (int, BaseType *[], DDS &, BaseType **btpp) | |||||||||
ObjectType | get_description_type (const string &value) | |||||||||
int | get_hash (const string &url) | |||||||||
string | get_next_mime_header (FILE *in) | |||||||||
string | get_temp_file (FILE *&stream) throw (InternalErr) | |||||||||
ObjectType | get_type (const string &value) | |||||||||
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_boundary (const char *line, const string &boundary) | |||||||||
bool | is_hop_by_hop_header (const string &header) | |||||||||
bool | is_keyword (string id, const string &keyword) | |||||||||
bool | is_quoted (const string &s) | |||||||||
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) | |||||||||
void | parse_error (const char *msg, const int line_num, const char *context) | |||||||||
void | parse_mime_header (const string &header, string &name, string &value) | |||||||||
time_t | parse_time (const char *str, bool expand) | |||||||||
string | path_to_filename (string path) | |||||||||
string | prune_spaces (const string &name) | |||||||||
string | read_multipart_boundary (FILE *in, const string &boundary) | |||||||||
void | register_functions (ConstraintEvaluator &ce) | |||||||||
bool | remove_mime_header (FILE *in) | |||||||||
Read and discard the MIME header of the stream in . | ||||||||||
string | remove_quotes (const string &s) | |||||||||
template<class T1 , class T2 , class C > | ||||||||||
bool | rops (T1 a, T2 b, int op) | |||||||||
void | save_str (string &dst, const char *src, const int) | |||||||||
void | save_str (char *dst, const char *src, const int line_num) | |||||||||
Save a string to a temporary variable during the parse. | ||||||||||
void | set_array_using_double (Array *dest, double *src, int src_len) | |||||||||
AttrType | String_to_AttrType (const string &s) | |||||||||
string | systime () | |||||||||
FILE * | text_to_temp (string text) | |||||||||
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) | |||||||||
bool | unit_or_name_match (set< string > units, set< string > names, const string &var_units, const string &var_name) | |||||||||
string | unoctstring (string s) | |||||||||
string | www2id (const string &in, const string &escape, const string &except) | |||||||||
string | xml2id (string in) | |||||||||
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) | |||||||||
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) | |||||||||
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.
| ||||||||||
bool | do_version (const string &script_ver, const string &dataset_ver) | |||||||||
Send a version number. | ||||||||||
void | ErrMsgT (const string &Msgt) | |||||||||
Logs an error message. | ||||||||||
time_t | last_modified_time (const string &name) | |||||||||
string | name_path (const string &path) | |||||||||
Returns the filename portion of a pathname. | ||||||||||
string | rfc822_date (const time_t t) | |||||||||
parse_error | ||||||||||
Generate error messages for the various parsers.
| ||||||||||
void | parse_error (const string &msg, const int line_num, const char *context) | |||||||||
void | parse_error (parser_arg *arg, const char *msg, const int line_num, const char *context) | |||||||||
Security functions | ||||||||||
bool | pathname_ok (const string &path, bool strict) | |||||||||
Does the string name a potentailly valid pathname? Test the given pathname to verfiy that it is a valid name. We define this as: Contains only printable characters; and Is less then 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. | ||||||||||
bool | size_ok (unsigned int sz, unsigned int nelem) | |||||||||
sanitize the size of an array. Test for integer overflow when dynamically allocating an array. | ||||||||||
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 | read_multipart_headers (FILE *in, const string &content_type, const ObjectType object_type, const string &cid) | |||||||||
void | set_mime_binary (FILE *out, ObjectType type=unknown_type, const string &version="", EncodingType enc=x_plain, const time_t last_modified=0) | |||||||||
void | set_mime_binary (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | |||||||||
void | set_mime_data_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc) | |||||||||
void | set_mime_ddx_boundary (ostream &strm, const string &boundary, const string &cid, ObjectType type, EncodingType enc) | |||||||||
void | set_mime_error (FILE *out, int code=404, const string &reason="Dataset not found", const string &version="") | |||||||||
void | set_mime_error (ostream &strm, int code, const string &reason, const string &version) | |||||||||
void | set_mime_html (FILE *out, ObjectType type=unknown_type, const string &version="", EncodingType enc=x_plain, const time_t last_modified=0) | |||||||||
void | set_mime_html (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | |||||||||
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_not_modified (FILE *out) | |||||||||
void | set_mime_not_modified (ostream &strm) | |||||||||
Send a `Not Modified' response. | ||||||||||
void | set_mime_text (FILE *out, ObjectType type=unknown_type, const string &version="", EncodingType enc=x_plain, const time_t last_modified=0) | |||||||||
void | set_mime_text (ostream &strm, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified) | |||||||||
Variables | ||||||||||
int | dods_keep_temps = 0 | |||||||||
const int | DODS_MAX_ARRAY = DODS_INT_MAX | |||||||||
const string | double_quote = "\"" | |||||||||
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 | |||||||||
const int | XDR_DAP_BUFF_SIZE = 4096 |
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 70 of file Sequence.h.
typedef uint8_t libdap::dods_byte |
Definition at line 41 of file dods-datatypes-static.h.
typedef float libdap::dods_float32 |
Definition at line 45 of file dods-datatypes-static.h.
typedef double libdap::dods_float64 |
Definition at line 43 of file dods-datatypes-static.h.
typedef int16_t libdap::dods_int16 |
Definition at line 37 of file dods-datatypes-static.h.
typedef int32_t libdap::dods_int32 |
Definition at line 33 of file dods-datatypes-static.h.
typedef uint16_t libdap::dods_uint16 |
Definition at line 39 of file dods-datatypes-static.h.
typedef uint32_t libdap::dods_uint32 |
Definition at line 35 of file dods-datatypes-static.h.
typedef int libdap::ErrorCode |
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 73 of file Sequence.h.
typedef void libdap::Sigfunc(int) |
Definition at line 37 of file SignalHandler.h.
enum libdap::AttrType |
AttrType identifies the data types which may appear in an attribute table object.
enum AttrType { Attr_unknown, Attr_container, Attr_byte, Attr_int16, Attr_uint16, Attr_int32, Attr_uint32, Attr_float32, Attr_float64, Attr_string, Attr_url, Attr_other_xml };
Attr_unknown | |
Attr_container | |
Attr_byte | |
Attr_int16 | |
Attr_uint16 | |
Attr_int32 | |
Attr_uint32 | |
Attr_float32 | |
Attr_float64 | |
Attr_string | |
Attr_url | |
Attr_other_xml |
Definition at line 77 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.
Definition at line 47 of file HTTPCacheDisconnectedMode.h.
enum libdap::EncodingType |
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 };
Definition at line 48 of file EncodingType.h.
enum libdap::ObjectType |
When a version 2.x or greater DAP data server sends an object, it uses the Content-Description header of the response to indicate the type of object contained in the response. During the parse of the header a member of Connect is set to one of these values so that other mfuncs can tell the type of object without parsing the stream themselves.
enum ObjectType { unknown_type, dods_das, dods_dds, dods_data, dods_error, web_error, dods_ddx, dap4_ddx, dap4_data, dap4_error, dap4_data_ddx };
unknown_type | |
dods_das | |
dods_dds | |
dods_data | |
dods_error | |
web_error | |
dap4_ddx | |
dap4_data | |
dap4_error | |
dap4_data_ddx | |
dods_ddx |
Definition at line 57 of file ObjectType.h.
enum libdap::Part |
Part names the parts of multi-section constructor types. For example, the Grid class has an array and the array maps. Use the nil
value for data types that don't have separate parts.
Definition at line 98 of file BaseType.h.
enum libdap::relop |
dods_nop_op | |
dods_greater_op | |
dods_greater_equal_op | |
dods_less_op | |
dods_less_equal_op | |
dods_equal_op | |
dods_not_equal_op |
Definition at line 56 of file GSEClause.h.
enum libdap::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.
enum Type { dods_null_c, dods_byte_c, dods_int16_c, dods_uint16_c, dods_int32_c, dods_uint32_c, dods_float32_c, dods_float64_c, dods_str_c, dods_url_c, dods_array_c, dods_structure_c, dods_sequence_c, dods_grid_c };
dods_null_c | |
dods_byte_c | |
dods_int16_c | |
dods_uint16_c | |
dods_int32_c | |
dods_uint32_c | |
dods_float32_c | |
dods_float64_c | |
dods_str_c | |
dods_url_c | |
dods_array_c | |
dods_structure_c | |
dods_sequence_c | |
dods_grid_c |
Definition at line 131 of file BaseType.h.
void libdap::append_double_to_string | ( | const double & | num, | |
string & | str | |||
) |
void libdap::append_long_to_string | ( | long | val, | |
int | base, | |||
string & | str_val | |||
) |
Referenced by libdap::InternalErr::InternalErr(), and parse_error().
rvalue_list * libdap::append_rvalue_list | ( | rvalue_list * | rvals, | |
rvalue * | rv | |||
) |
string libdap::AttrType_to_String | ( | const AttrType | at | ) |
Convert an AttrType to it's string representation.
at | The Attribute Type. |
Referenced by libdap::AttrTable::dump(), and libdap::AttrTable::get_type().
BaseType ** libdap::build_btp_args | ( | 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 | |
dataset | Use this when evaluating functions. |
Referenced by libdap::rvalue::bvalue(), and libdap::Clause::value().
string libdap::char2ASCII | ( | string | s, | |
const string | escape = "%[0-7][0-9a-fA-F]" | |||
) |
int libdap::check_byte | ( | const char * | val | ) |
Check to see if val
is a valid byte value. If not, generate an error message using parser_error()
. There are two versions of check_byte()
, one which calls parser_error()
and prints an error message to stderr an one which calls parser_error()
and generates and Error object.
int libdap::check_float32 | ( | const char * | val | ) |
Like check_byte()
but for 64-bit float values.
int libdap::check_float64 | ( | const char * | val | ) |
int libdap::check_int16 | ( | const char * | val | ) |
Like check_byte()
but for 32-bit integers (check_uint()
is for unsigned integers).
int libdap::check_int32 | ( | const char * | val | ) |
int libdap::check_uint16 | ( | const char * | val | ) |
int libdap::check_uint32 | ( | const char * | val | ) |
int libdap::check_url | ( | const char * | val | ) |
Currently this function always returns true.
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:" |
void libdap::close_temp | ( | FILE * | s, | |
const string & | name | |||
) |
Close the temporary file opened for read_url().
Referenced by libdap::HTTPResponse::~HTTPResponse().
FILE* libdap::compressor | ( | FILE * | output, | |
int & | childpid | |||
) |
Referenced by libdap::DODSFilter::send_data().
string libdap::dap_version | ( | ) |
Get the version of the DAP library.
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. |
Referenced by libdap::HTTPCache::get_conditional_request_headers().
bool libdap::deflate_exists | ( | ) |
Referenced by libdap::DODSFilter::send_data().
bool libdap::do_version | ( | const string & | script_ver, | |
const string & | dataset_ver | |||
) |
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. |
Referenced by libdap::DODSFilter::send_version_info().
unsigned libdap::dods_max | ( | int | i1, | |
int | i2 | |||
) | [inline] |
Definition at line 50 of file Operators.h.
Referenced by libdap::SUCmp< T1, UT2 >::eq(), libdap::USCmp< UT1, T2 >::eq(), libdap::SUCmp< T1, UT2 >::ge(), libdap::USCmp< UT1, T2 >::ge(), libdap::SUCmp< T1, UT2 >::gr(), libdap::USCmp< UT1, T2 >::gr(), libdap::SUCmp< T1, UT2 >::le(), libdap::USCmp< UT1, T2 >::le(), libdap::SUCmp< T1, UT2 >::lt(), libdap::USCmp< UT1, T2 >::lt(), libdap::SUCmp< T1, UT2 >::ne(), and libdap::USCmp< UT1, T2 >::ne().
const char* libdap::dods_progress | ( | ) |
bool libdap::double_eq | ( | double | lhs, | |
double | rhs, | |||
double | epsilon = 1.0e-5 | |||
) | [inline] |
Is lhs equal to rhs? Use epsilon to determine equality.
Definition at line 102 of file ce_functions.cc.
string libdap::double_to_string | ( | const double & | num | ) |
Referenced by libdap::GeoConstraint::set_bounding_box().
void libdap::downcase | ( | string & | s | ) |
void libdap::ErrMsgT | ( | const string & | Msgt | ) |
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.
Referenced by libdap::DODSFilter::print_usage().
string libdap::esc2underscore | ( | string | s | ) |
Return a string that has all the %<hex
digit><hex digit> sequences replaced with underscores (`_').
s | The string to transform |
string libdap::escape_double_quotes | ( | string | source | ) |
Rip through a string and replace all the double quotes with \ sequences.
source |
string libdap::escattr | ( | string | s | ) |
Escape non-printable characters and quotes from an HDF attribute.
s | The attribute to modify. |
Referenced by libdap::Str::print_val().
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[] can be used when you are done the data.
double libdap::extract_double_value | ( | BaseType * | arg | ) |
string libdap::extract_string_argument | ( | BaseType * | arg | ) |
string libdap::file_to_string | ( | FILE * | fp | ) |
Read stuff from a file and dump it into a string. This assumes the file holds character data only. Intended for testing...
fp | Read from this file |
bool libdap::found_override | ( | string | name, | |
string & | doc | |||
) |
Look for the override file by taking the dataset name and appending `.ovr' to it. If such a file exists, then read it in and store the contents in doc
. Note that the file contents are not checked to see if they are valid HTML (which they must be).
doc
's contents are undefined. void libdap::func_version | ( | int | argc, | |
BaseType * | argv[], | |||
DDS & | dds, | |||
BaseType ** | btpp | |||
) |
void libdap::function_geoarray | ( | int | argc, | |
BaseType * | argv[], | |||
DDS & | dds, | |||
BaseType ** | btpp | |||
) |
void libdap::function_geogrid | ( | int | argc, | |
BaseType * | argv[], | |||
DDS & | , | |||
BaseType ** | btpp | |||
) |
The geogrid function returns the part of a Grid which includes a geographically specified rectangle. The arguments to the function are the name of a Grid, the left-top and right-bottom points of the rectangle and zero or more relational expressions of the sort that the grid function accepts. The constraints on the arguments are:
argc | The number of values in argv. | |
argv | An array of BaseType pointers which hold the arguments to be passed to geogrid. The arguments may be Strings, Integers, or Reals, subject to the above constraints. | |
dds | The DDS which holds the Grid. This DDS must include attributes. | |
dataset | Name of the dataset. |
void libdap::function_grid | ( | int | argc, | |
BaseType * | argv[], | |||
DDS & | , | |||
BaseType ** | btpp | |||
) |
The grid function uses a set of relational expressions to form a selection within a Grid variable based on the values in the Grid's map vectors. Thus, if a Grid has a 'temperature' map which ranges from 0.0 to 32.0 degrees, it's possible to request the values of the Grid that fall between 10.5 and 12.5 degrees without knowing to which array indexes those values correspond. The function takes one or more arguments:
<map var> <relop> <constant>
<constant> <relop> <map var> <relop> <constant>
Each of the relation expressions is applied to the Grid and the result is returned.
argc | The number of values in argv. | |
argv | An array of BaseType pointers which hold the arguments to be passed to geogrid. The arguments may be Strings, Integers, or Reals, subject to the above constraints. | |
dds | The DDS which holds the Grid. | |
dataset | Name of the dataset. |
void libdap::function_linear_scale | ( | int | argc, | |
BaseType * | argv[], | |||
DDS & | , | |||
BaseType ** | btpp | |||
) |
void libdap::function_version | ( | int | , | |
BaseType * | [], | |||
DDS & | , | |||
BaseType ** | btpp | |||
) |
This server-side function returns version information for the server-side functions.
Definition at line 324 of file ce_functions.cc.
References libdap::Str::set_value().
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 |
int libdap::get_hash | ( | const string & | url | ) |
Compute the hash value for a URL.
url |
Referenced by libdap::HTTPCacheTable::CacheEntry::CacheEntry(), libdap::HTTPCacheTable::get_locked_entry_from_cache_table(), libdap::HTTPCacheTable::get_write_locked_entry_from_cache_table(), and libdap::HTTPCacheTable::remove_entry_from_cache_table().
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. |
string libdap::get_temp_file | ( | FILE *& | stream | ) | throw (InternalErr) |
Open a temporary file and return its name. This method opens a temporary file using get_tempfile_template(). The FILE* stream
is opened for both reads and writes; if it already exists (highly unlikely), it is truncated. If used on Unix, it's the callers responsibility to unlink the named file so that when all descriptors to it are closed, it will be deleted. On Win32 platforms, this method pushes the name of the temporary file onto a vector which is used during object destruction to delete all the temporary files.
A private method.
stream | A value-result parameter; the open file descriptor is returned via this parameter. |
InternalErr | thrown if the FILE* could not be opened. |
Definition at line 695 of file HTTPConnect.cc.
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
string libdap::hexstring | ( | unsigned char | val | ) |
string libdap::id2www | ( | string | in, | |
const string & | allowable | |||
) |
Replace characters that are not allowed in DAP2 identifiers.
-In the DAP itself, id2www() is called in:
-In the client code:
in | The string in which to replace characters. | |
allowable | The set of characters that are allowed in a URI. default: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+_/.\\*" |
Referenced by libdap::DDS::print(), libdap::AttrTable::print(), libdap::DDS::print_constrained(), libdap::Grid::print_decl(), libdap::Constructor::print_decl(), libdap::BaseType::print_decl(), libdap::Array::print_decl(), and libdap::AttrTable::simple_print().
string libdap::id2www_ce | ( | string | in, | |
const string & | allowable | |||
) |
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-+_/.\\" |
Referenced by libdap::Connect::request_das(), libdap::Connect::request_data(), libdap::Connect::request_data_ddx(), libdap::Connect::request_dds(), libdap::Connect::request_ddx(), libdap::Connect::request_protocol(), and libdap::Connect::request_version().
string libdap::id2xml | ( | string | in, | |
const string & | not_allowed | |||
) |
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) |
Referenced by libdap::Grid::print_xml(), libdap::DDS::print_xml(), libdap::Constructor::print_xml(), libdap::BaseType::print_xml(), libdap::AttrTable::print_xml(), and libdap::Array::print_xml_core().
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. |
Referenced by libdap::DDXParser::intern_stream().
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.
bool libdap::is_keyword | ( | string | id, | |
const string & | keyword | |||
) |
bool libdap::is_quoted | ( | const string & | s | ) |
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. |
Referenced by libdap::DODSFilter::get_das_last_modified_time(), libdap::DODSFilter::get_data_last_modified_time(), libdap::DODSFilter::get_dataset_last_modified_time(), and libdap::DODSFilter::get_dds_last_modified_time().
const char * libdap::libdap_name | ( | ) |
const char * libdap::libdap_root | ( | ) |
const char * libdap::libdap_version | ( | ) |
Return the version string for this package.
string libdap::long_to_string | ( | long | val, | |
int | base | |||
) |
rvalue_list * libdap::make_rvalue_list | ( | rvalue * | rv | ) |
string libdap::munge_error_message | ( | string | msg | ) |
string libdap::name_path | ( | const string & | path | ) |
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. |
string libdap::octal_to_hex | ( | const string & | octal_digits | ) |
string libdap::octstring | ( | unsigned char | val | ) |
void libdap::parse_error | ( | const string & | msg, | |
const int | line_num, | |||
const char * | context | |||
) |
void libdap::parse_error | ( | const char * | msg, | |
const int | line_num, | |||
const char * | context | |||
) |
Definition at line 125 of file parser-util.cc.
References append_long_to_string().
void libdap::parse_error | ( | parser_arg * | arg, | |
const char * | msg, | |||
const int | line_num, | |||
const char * | context | |||
) |
void libdap::parse_mime_header | ( | const string & | header, | |
string & | name, | |||
string & | value | |||
) |
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. |
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 132 of file util_mit.cc.
References DBG.
Referenced by libdap::HTTPCacheTable::parse_headers(), and libdap::HTTPCache::set_cache_control().
string libdap::path_to_filename | ( | string | path | ) |
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 | |||
) |
path | The pathname to test | |
strict | Apply more restrictive tests (true by default) |
string libdap::prune_spaces | ( | const string & | name | ) |
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 |
Referenced by libdap::Connect::Connect().
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 |
Error | if no boundary was found. |
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 to that code can sense the end of hte 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. | |
boundary | The expected value of the boundary - 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). |
void libdap::register_functions | ( | ConstraintEvaluator & | ce | ) |
Referenced by libdap::ConstraintEvaluator::ConstraintEvaluator().
bool libdap::remove_mime_header | ( | FILE * | 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.
string libdap::remove_quotes | ( | const string & | s | ) |
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. |
bool libdap::rops | ( | T1 | a, | |
T2 | b, | |||
int | op | |||
) | [inline] |
This template function is used to compare two values of two instances of the DAP2 simple types (Byte, ..., Str). The function does not take the DAP2 objects as arguments; the caller must access the values of those objects and pass them to this function. The reason for this is that all the possible functions that could be generated from this template would have to be explicitly listed as friend functions in each of the DAP2 simple type classes. In the current implementation, only the simple type classes must be friends - to see why, look at Byte::ops and note that it accesses the _buf
member of Int16, ..., Float64 and thus must be a friend of those classes.
NB: This would all be simpler if: 1) g++ supported template friend functions (without explicit listing of all the template's arguments). 2) we did not have unsigned types.
T1 The type of a
.
T2 The type of b
.
C A class which implements the policy used for comparing a
and b
.
a | The first argument. | |
b | The second argument. | |
op | The relational operator. |
Definition at line 251 of file Operators.h.
Referenced by libdap::Byte::ops().
void libdap::save_str | ( | string & | dst, | |
const char * | src, | |||
const | int | |||
) |
void libdap::save_str | ( | char * | dst, | |
const char * | src, | |||
const int | line_num | |||
) |
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.
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 that values, this method sets the read_p
property for dest.
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. |
Error | Thrown if dest is not a numeric-type array (Byte, ..., Float64) or if the number of elements in src does not match the number is dest. |
Referenced by libdap::GridGeoConstraint::apply_constraint_to_data().
void libdap::set_mime_binary | ( | FILE * | out, | |
ObjectType | type = unknown_type , |
|||
const string & | version = "" , |
|||
EncodingType | enc = x_plain , |
|||
const time_t | last_modified = 0 | |||
) |
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. |
Referenced by libdap::DODSFilter::send_data().
void libdap::set_mime_data_boundary | ( | ostream & | strm, | |
const string & | boundary, | |||
const string & | cid, | |||
ObjectType | type, | |||
EncodingType | enc | |||
) |
Referenced by libdap::DODSFilter::dataset_constraint_ddx().
void libdap::set_mime_ddx_boundary | ( | ostream & | strm, | |
const string & | boundary, | |||
const string & | cid, | |||
ObjectType | type, | |||
EncodingType | enc | |||
) |
Referenced by libdap::DODSFilter::dataset_constraint_ddx().
void libdap::set_mime_error | ( | FILE * | out, | |
int | code = 404 , |
|||
const string & | reason = "Dataset not found" , |
|||
const string & | version = "" | |||
) |
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. |
void libdap::set_mime_html | ( | FILE * | out, | |
ObjectType | type = unknown_type , |
|||
const string & | version = "" , |
|||
EncodingType | enc = x_plain , |
|||
const time_t | last_modified = 0 | |||
) |
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. |
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 | |||
) |
Referenced by libdap::DODSFilter::send_data_ddx().
void libdap::set_mime_not_modified | ( | FILE * | out | ) |
void libdap::set_mime_not_modified | ( | ostream & | strm | ) |
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. |
Referenced by libdap::DODSFilter::send_das(), libdap::DODSFilter::send_data(), libdap::DODSFilter::send_data_ddx(), libdap::DODSFilter::send_dds(), and libdap::DODSFilter::send_ddx().
void libdap::set_mime_text | ( | FILE * | out, | |
ObjectType | type = unknown_type , |
|||
const string & | version = "" , |
|||
EncodingType | enc = x_plain , |
|||
const time_t | last_modified = 0 | |||
) |
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. |
Referenced by libdap::DODSFilter::send_das(), libdap::DODSFilter::send_dds(), and libdap::DODSFilter::send_ddx().
bool libdap::size_ok | ( | unsigned int | sz, | |
unsigned int | nelem | |||
) |
nelem | Number of elements. | |
sz | size of each element. |
nelem
elements of sz
size will overflow an array. AttrType libdap::String_to_AttrType | ( | const string & | s | ) |
Referenced by libdap::AttrTable::append_attr().
string libdap::systime | ( | ) |
FILE* libdap::text_to_temp | ( | string | text | ) |
string libdap::unescape_double_quotes | ( | string | source | ) |
Rip through a string and replace all the escaped double quotes with regular double quotes.
source |
string libdap::unescattr | ( | string | s | ) |
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. |
string libdap::unhexstring | ( | string | s | ) |
bool libdap::unique_names | ( | vector< BaseType * > | l, | |
const string & | var_name, | |||
const string & | type_name, | |||
string & | msg | |||
) |
bool libdap::unit_or_name_match | ( | set< string > | units, | |
set< string > | names, | |||
const string & | var_units, | |||
const string & | var_name | |||
) |
Look in the containers which hold the units attributes and variable name prefixes which are considered as identifying a vector as being a latitude or longitude vector.
units | A container with a bunch of units attribute values. | |
names | A container with a bunch of variable name prefixes. | |
var_units | The value of the 'units' attribute for this variable. | |
var_name | The name of the variable. |
Definition at line 87 of file GeoConstraint.cc.
string libdap::unoctstring | ( | string | s | ) |
string libdap::www2id | ( | const string & | in, | |
const string & | escape, | |||
const string & | except | |||
) |
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: "" |
Referenced by libdap::AttrTable::add_container_alias(), libdap::AttrTable::add_value_alias(), libdap::AttrTable::append_attr(), libdap::AttrTable::append_container(), libdap::Array::append_dim(), libdap::AttrTable::del_attr(), libdap::DODSFilter::initialize(), libdap::Array::prepend_dim(), libdap::DODSFilter::set_ce(), libdap::DODSFilter::set_dataset_name(), libdap::BaseType::set_name(), libdap::AttrTable::set_name(), libdap::Vector::var(), libdap::Structure::var(), libdap::Sequence::var(), libdap::Grid::var(), and libdap::DDS::var().
string libdap::xml2id | ( | string | in | ) |
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. |
int libdap::dods_keep_temps = 0 |
Definition at line 76 of file HTTPConnect.cc.
Referenced by main(), and libdap::HTTPResponse::~HTTPResponse().
const int libdap::DODS_MAX_ARRAY = DODS_INT_MAX |
Definition at line 56 of file Array.h.
Referenced by libdap::XDRStreamUnMarshaller::get_vector(), libdap::XDRFileUnMarshaller::get_vector(), and libdap::XDRFileMarshaller::put_vector().
const string libdap::double_quote = "\"" |
Definition at line 979 of file AttrTable.cc.
const size_t libdap::line_length = 1024 |
Definition at line 715 of file mime_util.cc.
const unsigned int libdap::max_str_len = DODS_USHRT_MAX - 1 |
Definition at line 56 of file Str.h.
Referenced by libdap::XDRStreamUnMarshaller::get_str(), libdap::XDRFileUnMarshaller::get_str(), libdap::XDRFileMarshaller::put_str(), and xdr_str().
const unsigned int libdap::max_url_len = 255 |
const string libdap::usage |
"Usage: <handler name> -o <response> -u <url> [options ...] [data set]\n\ \n\ options: -o <response>: DAS, DDS, DataDDS, DDX, BLOB or Version (Required)\n\ -u <url>: The complete URL minus the CE (required for DDX)\n\ -c: Compress the response using the deflate algorithm.\n\ -e <expr>: When returning a DataDDS, use <expr> as the constraint.\n\ -v <version>: Use <version> as the version number\n\ -d <dir>: Look for ancillary file in <dir> (deprecated).\n\ -f <file>: Look for ancillary data in <file> (deprecated).\n\ -r <dir>: Use <dir> as a cache directory\n\ -l <time>: Conditional request; if data source is unchanged since\n\ <time>, return an HTTP 304 response.\n\ -t <seconds>: Timeout the handler after <seconds>.\n\ -h: This message."
Definition at line 92 of file DODSFilter.cc.
Referenced by libdap::DODSFilter::print_usage().
int libdap::www_trace = 0 |
Definition at line 73 of file HTTPConnect.cc.
Referenced by main().
const int libdap::XDR_DAP_BUFF_SIZE = 4096 |
Definition at line 47 of file XDRStreamUnMarshaller.h.
Referenced by libdap::XDRStreamUnMarshaller::get_opaque(), libdap::XDRStreamUnMarshaller::get_str(), libdap::XDRStreamUnMarshaller::get_vector(), libdap::XDRStreamMarshaller::put_opaque(), libdap::XDRStreamMarshaller::XDRStreamMarshaller(), and libdap::XDRStreamUnMarshaller::XDRStreamUnMarshaller().