25 #ifndef _response_builder_h 26 #define _response_builder_h 30 #define DAP_PROTOCOL_VERSION "3.2" 32 #undef DAP2_STORED_RESULTS 39 class ConstraintEvaluator;
53 friend class ResponseBuilderTest;
56 std::string d_dataset;
82 #ifdef DAP2_STORED_RESULTS 83 bool store_dap2_result(ostream &out, libdap::DDS &dds, libdap::ConstraintEvaluator &eval);
86 void send_dap4_data_using_ce(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headersr);
102 virtual std::string
get_ce()
const;
103 virtual void set_ce(std::string _ce);
111 virtual std::string get_store_result()
const;
112 virtual void set_store_result(std::string _sr);
114 virtual std::string get_async_accepted()
const;
115 virtual void set_async_accepted(std::string _aa);
117 virtual std::string get_btp_func_ce()
const 121 virtual void set_btp_func_ce(std::string _ce)
146 virtual void split_ce(libdap::ConstraintEvaluator &eval,
const std::string &expr =
"");
148 virtual void send_das(std::ostream &out, libdap::DAS &das,
bool with_mime_headers =
true)
const;
149 virtual void send_das(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
bool constrained =
150 false,
bool with_mime_headers =
true);
152 virtual void send_dds(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
bool constrained =
153 false,
bool with_mime_headers =
true);
156 bool ce_eval =
true);
157 virtual void send_dap2_data(std::ostream &data_stream, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
158 bool with_mime_headers =
true);
168 virtual void send_ddx(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval,
169 bool with_mime_headers =
true);
171 #ifdef DAP2_STORED_RESULTS 172 virtual void serialize_dap2_data_ddx(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator & eval,
173 const std::string &boundary,
const std::string &start,
bool ce_eval =
true);
175 virtual void send_dmr(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
177 virtual void send_dap4_data(std::ostream &out, libdap::DMR & dmr,
bool with_mime_headers =
true);
179 virtual void serialize_dap4_data(std::ostream &out, libdap::DMR &dmr,
bool with_mime_headers =
true);
184 #endif // _response_builder_h virtual libdap::DDS * intern_dap2_data(BESResponseObject *obj, BESDataHandlerInterface &dhi)
void register_timeout() const
std::string d_dap4function
DAP4 Constraint expression.
virtual void send_dds(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval, bool constrained=false, bool with_mime_headers=true)
Transmit a DDS.
std::string d_async_accepted
Should a timeout be cancelled once transmission starts?
std::string d_default_protocol
Response timeout after N seconds.
virtual void serialize_dap2_data_dds(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval, bool ce_eval=true)
virtual std::string get_dataset_name() const
Get the dataset name.
virtual void remove_timeout() const
Transmit data.
int d_timeout
The BTP functions, extracted from the CE.
std::string d_dap4ce
DAP2 Constraint expression.
virtual void split_ce(libdap::ConstraintEvaluator &eval, const std::string &expr="")
virtual void establish_timeout(std::ostream &stream) const
std::string d_btp_func_ce
DAP4 Server Side Function expression.
void set_timeout(int timeout=0)
virtual void set_dataset_name(const std::string _dataset)
Set the dataset pathname.
virtual void set_dap4function(std::string _func)
bool d_cancel_timeout_on_send
Version string for the library's default protocol version.
Structure storing information used by the BES to handle the request.
virtual std::string get_ce() const
Get the constraint expression.
virtual void send_dap2_data(std::ostream &data_stream, libdap::DDS **dds, libdap::ConstraintEvaluator &eval, bool with_mime_headers=true)
virtual std::string get_dap4function() const
Get the DAP4 server side function expression.
virtual void set_ce(std::string _ce)
void conditional_timeout_cancel()
std::string d_dap2ce
Name of the dataset/database.
Cache the results from server functions.
Abstract base class representing a specific set of information in response to a request to the BES.
virtual void send_ddx(std::ostream &out, libdap::DDS **dds, libdap::ConstraintEvaluator &eval, bool with_mime_headers=true)
virtual bool store_dap4_result(ostream &out, libdap::DMR &dmr)
virtual std::string get_dap4ce() const
Get the DAP4 constraint expression.
virtual void set_dap4ce(std::string _ce)
virtual void serialize_dap4_data(std::ostream &out, libdap::DMR &dmr, bool with_mime_headers=true)
virtual libdap::DDS * process_dap2_dds(BESResponseObject *obj, BESDataHandlerInterface &dhi)
Process a DDS (i.e., apply a constraint) for a non-DAP transmitter.
std::string d_store_result