26#ifndef _d4response_builder_h
27#define _d4response_builder_h
42#ifndef constraint_evaluator_h
43#include "ConstraintEvaluator.h"
47#include "ObjectType.h"
50#ifndef _encodingtype_h
51#include "EncodingType.h"
71 friend class ResponseBuilderTest;
96 virtual string ce()
const {
return d_ce; }
100 virtual string get_btp_func_ce()
const {
return d_btp_func_ce; }
101 virtual void set_btp_func_ce(
string _ce) {
d_btp_func_ce = _ce; }
113 virtual void establish_timeout(
ostream &stream)
const;
117 virtual bool is_valid(
const string &cache_file_name);
119 virtual void send_das(
ostream &out,
DAS &das,
bool with_mime_headers =
true)
const;
121 bool constrained =
false,
bool with_mime_headers =
true);
124 bool constrained =
false,
bool with_mime_headers =
true);
130 bool with_mime_headers =
true);
133 const string &boundary,
const string &start,
134 bool ce_eval =
true);
137 const string &start,
const string &boundary,
138 bool with_mime_headers =
true);
159 void set_mime_ddx_boundary(
ostream &out,
const string &boundary,
160 const string &start)
const;
162 void set_mime_data_boundary(
ostream &out,
const string &boundary,
163 const string &cid,
const string &endian,
unsigned long long len)
const;
171 const time_t last_modified = 0,
172 const string &protocol =
"")
const;
176 const time_t last_modified = 0,
177 const string &protocol =
"")
const;
181 const time_t last_modified = 0,
182 const string &protocol =
"")
const;
184 void set_mime_multipart(
ostream &out,
const string &boundary,
186 const time_t last_modified = 0,
const string &protocol =
"",
187 const string &url =
"")
const;
190 const string &reason =
"Dataset not found",
191 const string &protocol =
"")
const;
Evaluate a constraint expression.
virtual void cache_data_ddx(const string &cache_file_name, DDS &dds)
Cache data.
virtual void set_ce(const string &ce)
void set_timeout(int t=0)
string d_btp_func_ce
Constraint expression.
int d_timeout
The BTP functions, extracted from the CE.
string d_default_protocol
Response timeout after N seconds.
virtual string ce() const
virtual bool is_valid(const string &cache_file_name)
virtual void remove_timeout() const
virtual string dataset_name() const
virtual DDS * read_cached_dataset(DDS &dds, ConstraintEvaluator &eval, string &cache_token)
virtual void split_ce(ConstraintEvaluator &eval, const string &expr="")
string d_ce
Name of the dataset/database.
virtual DDS * get_cached_data_ddx(const string &cache_file_name, BaseTypeFactory *factory)
virtual void set_dataset_name(const string &ds)
DAPCache3 * d_cache
Version string for the library's default protocol version.
virtual void read_data_from_cache(FILE *data, DDS *fdds)
Implementation of a caching mechanism for compressed data. This cache uses simple advisory locking fo...
Hold attribute data for a DAP2 dataset.
top level DAP object to house generic methods
void set_mime_error(FILE *out, int code, const string &reason, const string &version)
void set_mime_html(FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
string www2id(const string &in, const string &escape, const string &except)
void set_mime_binary(FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)
EncodingType
The type of encoding used on the current stream.
ObjectType
The type of object in the stream coming from the data server.
void set_mime_text(FILE *out, ObjectType type, const string &ver, EncodingType enc, const time_t last_modified)