35#include <libdap/DDS.h>
37#include "GlobalMetadataStore.h"
38#include "BESWWWResponseHandler.h"
39#include "BESRequestHandlerList.h"
40#include "BESDapNames.h"
41#include "BESWWWNames.h"
43#include "BESDDSResponse.h"
44#include "BESTransmitter.h"
46#include "BESWWWTransmit.h"
51BESWWWResponseHandler::BESWWWResponseHandler(
const string &name )
56BESWWWResponseHandler::~BESWWWResponseHandler()
79 dhi.action_name = WWW_RESPONSE_STR;
81 dhi.action_name = DDX_RESPONSE_STR;
93#if FORCE_DAP_VERSION_TO_3_2
94 dds->set_dap_version(
"3.2");
103 d_response_object =
new BESWWW(bdds);
104 dhi.
action = WWW_RESPONSE;
109 DDS *dds =
new DDS(NULL,
"virtual");
112 d_response_name = DDS_RESPONSE;
113 dhi.
action = DDS_RESPONSE;
115#if FORCE_DAP_VERSION_TO_3_2
116 dds->set_dap_version(
"3.2");
125 d_response_object = bdds;
127 BESRequestHandlerList::TheList()->execute_each(dhi);
135 d_response_object =
new BESWWW(bdds);
136 dhi.
action = WWW_RESPONSE;
144 DDS *dds =
new DDS(NULL,
"virtual");
146 d_response_object = bdds;
147 d_response_name = DDS_RESPONSE;
148 dhi.
action = DDS_RESPONSE;
149 BESRequestHandlerList::TheList()->execute_each(dhi);
154 d_response_object = bdas;
155 d_response_name = DAS_RESPONSE;
156 dhi.
action = DAS_RESPONSE;
157 BESRequestHandlerList::TheList()->execute_each(dhi);
160 d_response_object = www;
161 dhi.
action = WWW_RESPONSE;
181 if (d_response_object) {
182 transmitter->send_response(WWW_TRANSMITTER, d_response_object, dhi);
187WWWResponseBuilder(
const string &handler_name )
std::string get_relative_name() const
Get the relative name of the object in this container.
Represents an OPeNDAP DAS DAP2 data object within the BES.
Holds a DDS object within the BES.
std::string get_dap_client_protocol() const
Return the dap version string sent by the client (e.g., the OLFS)
std::string get_request_xml_base() const
Return the xml:base URL for this request.
Structure storing information used by the BES to handle the request.
std::string action
the response object requested, e.g. das, dds
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
response handler that builds an OPeNDAP WWW response object
virtual void execute(BESDataHandlerInterface &dhi)
executes the command 'get html_form for <def_name>;' by executing the request for each container in t...
virtual void transmit(BESTransmitter *transmitter, BESDataHandlerInterface &dhi)
transmit the response object built by the execute command using the specified transmitter object
container for a DAS and DDS needed to write out the usage information for a dataset.