37#include <libdap/DAS.h>
39#include "BESDASResponseHandler.h"
40#include "BESDASResponse.h"
41#include "BESRequestHandlerList.h"
42#include "BESDapNames.h"
43#include "BESTransmitter.h"
45#include "GlobalMetadataStore.h"
51BESDASResponseHandler::BESDASResponseHandler(
const string &name )
56BESDASResponseHandler::~BESDASResponseHandler( )
81 dhi.action_name = DAS_RESPONSE_STR;
94 d_response_object = 0;
101 BESRequestHandlerList::TheList()->execute_each(dhi);
105 if (!d_annotation_service_url.empty()) {
110 AttrTable *dods_extra = resp_das->get_das()->get_table(DODS_EXTRA_ATTR_TABLE);
112 dods_extra->append_attr(DODS_EXTRA_ANNOTATION_ATTR,
"String", d_annotation_service_url);
114 unique_ptr<AttrTable> new_dods_extra(
new AttrTable);
115 new_dods_extra->append_attr(DODS_EXTRA_ANNOTATION_ATTR,
"String", d_annotation_service_url);
116 resp_das->get_das()->add_table(DODS_EXTRA_ATTR_TABLE, new_dods_extra.release());
147 if( d_response_object )
149 transmitter->send_response( DAS_SERVICE, d_response_object, dhi ) ;
162 strm << BESIndent::LMarg <<
"BESDASResponseHandler::dump - ("
163 << (
void *)
this <<
")" << endl ;
164 BESIndent::Indent() ;
166 BESIndent::UnIndent() ;
170BESDASResponseHandler::DASResponseBuilder(
const string &name )
std::string get_relative_name() const
Get the relative name of the object in this container.
response handler that builds an OPeNDAP DAS response object
virtual void dump(std::ostream &strm) const
dumps information about this object
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object
virtual void execute(BESDataHandlerInterface &dhi)
executes the command <get type="das" definition=...>
Represents an OPeNDAP DAS DAP2 data object within the BES.
Structure storing information used by the BES to handle the request.
void first_container()
set the container pointer to the first container in the containers list
BESContainer * container
pointer to current container in this interface
handler object that knows how to create a specific response object
void dump(std::ostream &strm) const override
dumps information about this object