33 #include "../usage/BESUsageTransmit.h" 35 #include "../usage/BESUsage.h" 36 #include "../usage/usage.h" 37 #include "BESDapTransmit.h" 38 #include "BESContainer.h" 39 #include "BESDataNames.h" 40 #include "mime_util.h" 41 #include "InternalErr.h" 42 #include "BESDapError.h" 43 #include "BESInternalFatalError.h" 47 using namespace dap_usage;
54 BESUsage &usage = dynamic_cast < BESUsage & >(*obj);
55 DAS *das = usage.get_das()->get_das();
56 DDS *dds = usage.get_dds()->get_dds();
63 BESDEBUG(
"usage",
"writing usage/info" << endl ) ;
65 write_usage_response(dhi.get_output_stream(), *dds, *das, dataset_name,
"",
false);
67 BESDEBUG(
"usage",
"done transmitting usage/info" << endl ) ;
69 catch( InternalErr &e )
71 string err =
"Failed to write usage: " + e.get_error_message() ;
72 throw BESDapError(err,
true, e.get_error_code(), __FILE__, __LINE__ );
76 string err =
"Failed to write usage: " + e.get_error_message() ;
77 throw BESDapError(err,
false, e.get_error_code(), __FILE__, __LINE__ ) ;
84 string err =
"Failed to write usage: Unknown exception caught";
94 set_mime_html( dhi.get_output_stream(), unknown_type, x_plain ) ;
95 BESUsageTransmit::send_basic_usage( obj, dhi ) ;
exception thrown if an internal error is found and is fatal to the BES
virtual string access()=0
returns the true name of this container
Abstract exception class for the BES with basic string message.
error object created from libdap error objects and can handle those errors
Structure storing information used by the BES to handle the request.
container for a DAS and DDS needed to write out the usage information for a dataset.
void first_container()
set the container pointer to the first container in the containers list
Abstract base class representing a specific set of information in response to a request to the BES.
BESContainer * container
pointer to current container in this interface