26 #ifndef _response_builder_h
27 #define _response_builder_h
40 #ifndef constraint_evaluator_h
44 #ifndef _object_type_h
48 #ifndef _encodingtype_h
76 #if 0 // Keyword support moved to Keywords class
77 set<string> d_keywords;
78 set<string> d_known_keywords;
93 virtual void add_keyword(
const string &kw);
94 virtual bool is_keyword(
const string &kw)
const;
95 virtual list<string> get_keywords()
const;
97 virtual bool is_known_keyword(
const string &w)
const;
100 virtual string get_ce()
const;
101 virtual void set_ce(
string _ce);
115 virtual bool is_valid(
const string &cache_file_name);
117 virtual void send_das(ostream &out,
DAS &das,
bool with_mime_headers =
true);
119 bool constrained =
false,
bool with_mime_headers =
true);
122 bool constrained =
false,
bool with_mime_headers =
true);
125 bool ce_eval =
true)
const;
127 const string &boundary,
const string &start,
128 bool ce_eval =
true)
const;
133 bool with_mime_headers =
true);
136 const string &start,
const string &boundary,
137 bool with_mime_headers =
true);
150 const time_t last_modified = 0,
151 const string &protocol =
"")
const;
155 const time_t last_modified = 0,
156 const string &protocol =
"")
const;
160 const time_t last_modified = 0,
161 const string &protocol =
"")
const;
166 const time_t last_modified = 0,
167 const string &protocol =
"")
const;
178 const string &reason =
"Dataset not found",
179 const string &protocol =
"")
const;
184 #endif // _response_builder_h
void set_mime_html(ostream &out, ObjectType type=unknown_type, EncodingType enc=x_plain, const time_t last_modified=0, const string &protocol="") const
int d_timeout
The BTP functions, extracted from the CE.
Build responses for Hyrax server modules/handlers.
virtual void set_btp_func_ce(string _ce)
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 set_dataset_name(const string _dataset)
Implementation of a caching mechanism for compressed data. This cache uses simple advisory locking fo...
virtual void set_ce(string _ce)
string d_default_protocol
Response timeout after N seconds.
virtual void send_data(ostream &data_stream, DDS &dds, ConstraintEvaluator &eval, bool with_mime_headers=true)
Transmit data.
virtual bool is_valid(const string &cache_file_name)
ObjectType
The type of object in the stream coming from the data server.
virtual void send_das(ostream &out, DAS &das, bool with_mime_headers=true)
Transmit a DAS.
virtual void send_ddx(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool with_mime_headers=true)
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 establish_timeout(ostream &stream) const
string d_ce
Name of the dataset/database.
string d_btp_func_ce
Constraint expression.
virtual ~ResponseBuilder()
void set_mime_data_boundary(ostream &out, const string &boundary, const string &cid, ObjectType type=unknown_type, EncodingType enc=x_plain) const
void set_mime_ddx_boundary(ostream &out, const string &boundary, const string &start, ObjectType type=unknown_type, EncodingType enc=x_plain) const
virtual DDS * read_cached_dataset(DDS &dds, ConstraintEvaluator &eval, string &cache_token)
DAPCache3 * d_cache
Version string for the library's default protocol version.
virtual string get_dataset_name() const
Get the dataset name.
virtual string get_btp_func_ce() const
virtual void split_ce(ConstraintEvaluator &eval, const string &expr="")
friend class ResponseBuilderTest
virtual DDS * get_cached_data_ddx(const string &cache_file_name, BaseTypeFactory *factory)
Evaluate a constraint expression.
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
void set_timeout(int timeout=0)
bool is_keyword(string id, const string &keyword)
virtual void dataset_constraint_ddx(ostream &out, DDS &dds, ConstraintEvaluator &eval, const string &boundary, const string &start, bool ce_eval=true) const
Hold attribute data for a DAP2 dataset.
EncodingType
The type of encoding used on the current stream.
virtual void read_data_from_cache(FILE *data, DDS *fdds)
virtual void cache_data_ddx(const string &cache_file_name, DDS &dds)
Cache data.
virtual void dataset_constraint(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool ce_eval=true) 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
void set_mime_error(ostream &out, int code=404, const string &reason="Dataset not found", const string &protocol="") const
virtual string get_ce() const
Get the constraint expression.
virtual void send_dds(ostream &out, DDS &dds, ConstraintEvaluator &eval, bool constrained=false, bool with_mime_headers=true)
Transmit a DDS.