|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
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 More... | |
| string | get_dap_client_protocol () const |
| Return the dap version string sent by the client (e.g., the OLFS) More... | |
| bool | get_explicit_containers () const |
| Should containers be explicitly represented in the DD* responses? More... | |
| string | get_request_xml_base () const |
| Return the xml:base URL for this request. More... | |
| virtual void | set_constraint (BESDataHandlerInterface &dhi) |
| set the constraint depending on the context More... | |
| virtual void | set_container (const string &cn)=0 |
| virtual void | set_dap4_constraint (BESDataHandlerInterface &dhi) |
| set the constraint depending on the context More... | |
| virtual void | set_dap4_function (BESDataHandlerInterface &dhi) |
| set the constraint depending on the context More... | |
| virtual | ~BESDapResponse () |
Protected Member Functions | |
| bool | is_dap2 () |
| See get_explicit_containers() More... | |
| void | read_contexts () |
| Extract the dap protocol from the setConext information. More... | |
Represents an OPeNDAP DAP response object within the BES.
Definition at line 47 of file BESDapResponse.h.
|
inline |
Definition at line 62 of file BESDapResponse.h.
|
inlinevirtual |
Definition at line 68 of file BESDapResponse.h.
|
pure virtual |
Implemented in BESDataDDSResponse, BESDDSResponse, BESDASResponse, and BESDMRResponse.
|
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 BESDataDDSResponse, BESDDSResponse, BESDASResponse, and BESDMRResponse.
Definition at line 185 of file BESDapResponse.cc.
References BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

|
inline |
Return the dap version string sent by the client (e.g., the OLFS)
Definition at line 73 of file BESDapResponse.h.
Referenced by BESDDSResponseHandler::execute(), BESDataResponseHandler::execute(), BESDataDDXResponseHandler::execute(), BESDDXResponseHandler::execute(), and agg_util::DDSLoader::loadInto().
|
inline |
Should containers be explicitly represented in the DD* responses?
Definition at line 79 of file BESDapResponse.h.
Referenced by DapRequestHandler::dap_build_dap4data(), DapRequestHandler::dap_build_data(), DapRequestHandler::dap_build_dds(), DapRequestHandler::dap_build_dmr(), BESDMRResponse::set_container(), BESDASResponse::set_container(), BESDDSResponse::set_container(), and BESDataDDSResponse::set_container().
|
inline |
Return the xml:base URL for this request.
Definition at line 85 of file BESDapResponse.h.
Referenced by BESDataDDXResponseHandler::execute(), BESDDXResponseHandler::execute(), and agg_util::DDSLoader::loadInto().
|
protected |
Definition at line 99 of file BESDapResponse.cc.
References BESContextManager::get_context(), and BESContextManager::TheManager().
Referenced by set_constraint().

|
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().

|
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.
Referenced by CSVRequestHandler::csv_build_data(), CSVRequestHandler::csv_build_dds(), DapRequestHandler::dap_build_data(), DapRequestHandler::dap_build_dds(), FFRequestHandler::ff_build_data(), FFRequestHandler::ff_build_dds(), FitsRequestHandler::fits_build_data(), FitsRequestHandler::fits_build_dds(), GDALRequestHandler::gdal_build_data(), GDALRequestHandler::gdal_build_dds(), HDF4RequestHandler::hdf4_build_data(), HDF4RequestHandler::hdf4_build_data_with_IDs(), HDF4RequestHandler::hdf4_build_dds(), HDF5RequestHandler::hdf5_build_data(), HDF5RequestHandler::hdf5_build_data_with_IDs(), HDF5RequestHandler::hdf5_build_dds(), NCRequestHandler::nc_build_data(), and NCRequestHandler::nc_build_dds().

|
pure virtual |
Implemented in BESDataDDSResponse, BESDDSResponse, BESDASResponse, and BESDMRResponse.
|
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 150 of file BESDapResponse.cc.
References BESDataHandlerInterface::container, DAP4_CONSTRAINT, BESDataHandlerInterface::data, and BESContainer::get_dap4_constraint().
Referenced by CSVRequestHandler::csv_build_dmr(), DapRequestHandler::dap_build_dap4data(), DapRequestHandler::dap_build_dmr(), FFRequestHandler::ff_build_dmr(), FitsRequestHandler::fits_build_dmr(), GDALRequestHandler::gdal_build_dmr(), NCRequestHandler::nc_build_dmr(), and ncml_module::NCMLRequestHandler::ncml_build_dmr().

|
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 169 of file BESDapResponse.cc.
References BESDataHandlerInterface::container, DAP4_FUNCTION, BESDataHandlerInterface::data, and BESContainer::get_dap4_function().
Referenced by CSVRequestHandler::csv_build_dmr(), DapRequestHandler::dap_build_dap4data(), DapRequestHandler::dap_build_dmr(), FFRequestHandler::ff_build_dmr(), FitsRequestHandler::fits_build_dmr(), GDALRequestHandler::gdal_build_dmr(), NCRequestHandler::nc_build_dmr(), and ncml_module::NCMLRequestHandler::ncml_build_dmr().
