26#ifndef _d4response_builder_h
27#define _d4response_builder_h
42#ifndef constraint_evaluator_h
50#ifndef _encodingtype_h
96 virtual string ce()
const {
return d_ce; }
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);
160 const string &start)
const;
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;
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.
void set_mime_ddx_boundary(ostream &out, const string &boundary, const string &start) const
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)
virtual ~D4ResponseBuilder()
string d_btp_func_ce
Constraint expression.
int d_timeout
The BTP functions, extracted from the CE.
virtual string get_btp_func_ce() const
friend class ResponseBuilderTest
string d_default_protocol
Response timeout after N seconds.
virtual string ce() const
void set_mime_binary(ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const string &protocol="") const
virtual bool is_valid(const string &cache_file_name)
virtual void dataset_constraint_ddx(ostream &out, DDS &dds, ConstraintEvaluator &eval, const string &boundary, const string &start, bool ce_eval=true)
virtual void remove_timeout() const
void set_mime_data_boundary(ostream &out, const string &boundary, const string &cid, const string &endian, unsigned long long len) const
virtual void send_data(ostream &data_stream, DDS &dds, ConstraintEvaluator &eval, bool with_mime_headers=true)
Transmit data.
virtual void set_btp_func_ce(string _ce)
void set_mime_error(ostream &out, int code=404, const string &reason="Dataset not found", const string &protocol="") const
virtual string dataset_name() const
virtual void establish_timeout(ostream &stream) const
virtual DDS * read_cached_dataset(DDS &dds, ConstraintEvaluator &eval, string &cache_token)
void set_mime_html(ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const string &protocol="") const
virtual void split_ce(ConstraintEvaluator &eval, const string &expr="")
string d_ce
Name of the dataset/database.
void set_mime_text(ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const string &protocol="") const
virtual void send_data_ddx(ostream &data_stream, DDS &dds, ConstraintEvaluator &eval, const string &start, const string &boundary, bool with_mime_headers=true)
Transmit data.
virtual void send_ddx(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool with_mime_headers=true)
virtual DDS * get_cached_data_ddx(const string &cache_file_name, BaseTypeFactory *factory)
virtual void dataset_constraint(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool ce_eval=true)
virtual void set_dataset_name(const string &ds)
virtual void send_dds(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool constrained=false, bool with_mime_headers=true)
Transmit a DDS.
DAPCache3 * d_cache
Version string for the library's default protocol version.
void set_mime_multipart(ostream &out, const string &boundary, const string &start, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const string &protocol="", const string &url="") const
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
string www2id(const string &in, const string &escape, const string &except)
EncodingType
The type of encoding used on the current stream.
ObjectType
The type of object in the stream coming from the data server.