Represents an OPeNDAP DAP response object within the BES. More...
#include <BESDapResponse.h>
Public Member Functions | |
BESDapResponse () | |
virtual void | clear_container ()=0 |
virtual void | dump (ostream &strm) const |
dumps information about this object | |
string | get_dap_client_protocol () const |
Return the dap version string sent by the client (e.g., the OLFS). | |
bool | get_explicit_containers () const |
Should containers be explicitly represented in the DD* responses? | |
string | get_request_xml_base () const |
Return the xml:base URL for this request. | |
virtual void | set_constraint (BESDataHandlerInterface &dhi) |
set the constraint depending on the context | |
virtual void | set_container (const string &cn)=0 |
virtual | ~BESDapResponse () |
Protected Member Functions | |
bool | is_dap2 () |
See get_explicit_containers(). | |
void | read_contexts () |
Extract the dap protocol from the setConext information. |
Represents an OPeNDAP DAP response object within the BES.
Definition at line 45 of file BESDapResponse.h.
BESDapResponse::BESDapResponse | ( | ) | [inline] |
Definition at line 59 of file BESDapResponse.h.
References read_contexts().
virtual BESDapResponse::~BESDapResponse | ( | ) | [inline, virtual] |
Definition at line 66 of file BESDapResponse.h.
virtual void BESDapResponse::clear_container | ( | ) | [pure virtual] |
Implemented in BESDASResponse, BESDataDDSResponse, and BESDDSResponse.
void BESDapResponse::dump | ( | ostream & | strm | ) | const [virtual] |
dumps information about this object
Displays the pointer value of this instance along with the das object created
strm | C++ i/o stream to dump the information to |
Implements BESResponseObject.
Reimplemented in BESDASResponse, BESDataDDSResponse, and BESDDSResponse.
Definition at line 147 of file BESDapResponse.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
string BESDapResponse::get_dap_client_protocol | ( | ) | const [inline] |
Return the dap version string sent by the client (e.g., the OLFS).
Definition at line 71 of file BESDapResponse.h.
Referenced by BESDDXResponseHandler::execute().
bool BESDapResponse::get_explicit_containers | ( | ) | const [inline] |
Should containers be explicitly represented in the DD* responses?
Definition at line 74 of file BESDapResponse.h.
Referenced by BESDDSResponse::set_container(), BESDataDDSResponse::set_container(), and BESDASResponse::set_container().
string BESDapResponse::get_request_xml_base | ( | ) | const [inline] |
Return the xml:base URL for this request.
Definition at line 77 of file BESDapResponse.h.
Referenced by BESDDXResponseHandler::execute().
bool BESDapResponse::is_dap2 | ( | ) | [protected] |
See get_explicit_containers().
Definition at line 99 of file BESDapResponse.cc.
References BESContextManager::get_context(), and BESContextManager::TheManager().
Referenced by set_constraint().
void BESDapResponse::read_contexts | ( | ) | [protected] |
Extract the dap protocol from the setConext information.
This method checks three contexts: dap_explicit_containers, dap_format and xdap_accept.
If given, the boolean value of dap_explicit_containers is used. If that's not given then look for dap_format and if that's not given default to true. The OLFS should always send this to make Hyrax work the way DAP clients expect.
xdap_accept is the value of the DAP that clients can grok. It defaults to "2.0"
Definition at line 56 of file BESDapResponse.cc.
References BES_SYNTAX_USER_ERROR, BESContextManager::get_context(), and BESContextManager::TheManager().
Referenced by BESDapResponse().
void BESDapResponse::set_constraint | ( | BESDataHandlerInterface & | dhi | ) | [virtual] |
set the constraint depending on the context
If the context is dap2 then the constraint will be the constraint of the current container. If not dap2 and we have multiple containers then the constraint of the current container must be added to the current post constraint
dhi | The BESDataHandlerInterface of the request. THis holds the current container and the current post constraint |
Definition at line 124 of file BESDapResponse.cc.
References BESDataHandlerInterface::container, BESDataHandlerInterface::data, BESContainer::get_constraint(), is_dap2(), BESConstraintFuncs::post_append(), and POST_CONSTRAINT.
virtual void BESDapResponse::set_container | ( | const string & | cn | ) | [pure virtual] |
Implemented in BESDASResponse, BESDataDDSResponse, and BESDDSResponse.