bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
DapRequestHandler Class Reference
Inheritance diagram for DapRequestHandler:
Inheritance graph
Collaboration diagram for DapRequestHandler:
Collaboration graph

Public Types

typedef std::map< std::string, p_request_handler_method >::const_iterator Handler_citer
 
typedef std::map< std::string, p_request_handler_method >::iterator Handler_iter
 

Public Member Functions

virtual void add_attributes (BESDataHandlerInterface &)
 
virtual bool add_handler (const std::string &name, p_request_handler_method method)
 Backward compatibility with the older version of this class.
 
virtual bool add_method (const std::string &name, p_request_handler_method method)
 add a handler method to the request handler that knows how to fill in a specific response object
 
 DapRequestHandler (const std::string &name)
 
virtual void dump (std::ostream &strm) const
 dumps information about this object
 
virtual p_request_handler_method find_method (const std::string &name)
 find the method that can handle the specified response object type
 
virtual time_t get_lmt (const std::string &name)
 Get the Last modified time for.
 
virtual std::string get_method_names ()
 return a comma separated list of response object types handled by this request handler
 
virtual const std::string & get_name () const
 
virtual bool remove_method (const std::string &name)
 remove the specified handler method from this request handler
 

Static Public Member Functions

static bool dap_build_dap4data (BESDataHandlerInterface &dhi)
 
static bool dap_build_das (BESDataHandlerInterface &dhi)
 
static bool dap_build_data (BESDataHandlerInterface &dhi)
 
static bool dap_build_dds (BESDataHandlerInterface &dhi)
 
static bool dap_build_dmr (BESDataHandlerInterface &dhi)
 
static bool dap_build_help (BESDataHandlerInterface &dhi)
 
static bool dap_build_vers (BESDataHandlerInterface &dhi)
 

Detailed Description

Definition at line 35 of file DapRequestHandler.h.

Member Typedef Documentation

◆ Handler_citer

typedef std::map<std::string,p_request_handler_method>::const_iterator BESRequestHandler::Handler_citer
inherited

Definition at line 89 of file BESRequestHandler.h.

◆ Handler_iter

typedef std::map<std::string,p_request_handler_method>::iterator BESRequestHandler::Handler_iter
inherited

Definition at line 90 of file BESRequestHandler.h.

Constructor & Destructor Documentation

◆ DapRequestHandler()

DapRequestHandler::DapRequestHandler ( const std::string & name)

Definition at line 100 of file DapRequestHandler.cc.

◆ ~DapRequestHandler()

virtual DapRequestHandler::~DapRequestHandler ( void )
inlinevirtual

Definition at line 49 of file DapRequestHandler.h.

Member Function Documentation

◆ add_attributes()

void BESRequestHandler::add_attributes ( BESDataHandlerInterface & )
virtualinherited

Definition at line 150 of file BESRequestHandler.cc.

◆ add_handler()

virtual bool BESRequestHandler::add_handler ( const std::string & name,
p_request_handler_method method )
inlinevirtualinherited

Backward compatibility with the older version of this class.

Deprecated

Definition at line 101 of file BESRequestHandler.h.

◆ add_method()

bool BESRequestHandler::add_method ( const std::string & name,
p_request_handler_method handler_method )
virtualinherited

add a handler method to the request handler that knows how to fill in a specific response object

Add a handler method for a specific response object to the request handler. The handler method takes a reference to a BESDataHandlerInterface and returns bool, true if the response object is filled in successfully by the method, false otherwise.

Parameters
handler_namename of the response object this method can fill in
handler_methoda function pointer to the method that can fill in the specified response object
Returns
true if the handler is added, false if it already exists
See also
BESResponseObject
BESResponseNames

Definition at line 58 of file BESRequestHandler.cc.

◆ dap_build_dap4data()

bool DapRequestHandler::dap_build_dap4data ( BESDataHandlerInterface & dhi)
static

Definition at line 309 of file DapRequestHandler.cc.

◆ dap_build_das()

bool DapRequestHandler::dap_build_das ( BESDataHandlerInterface & dhi)
static

This method will look at the extension on the input file and assume that if it's .das, that file should be read and used to build the DAS object. If it's .data or .dods, then the ancillary das file will be used.

Parameters
dhi
Returns

Definition at line 359 of file DapRequestHandler.cc.

◆ dap_build_data()

bool DapRequestHandler::dap_build_data ( BESDataHandlerInterface & dhi)
static

Definition at line 433 of file DapRequestHandler.cc.

◆ dap_build_dds()

bool DapRequestHandler::dap_build_dds ( BESDataHandlerInterface & dhi)
static

Definition at line 399 of file DapRequestHandler.cc.

◆ dap_build_dmr()

bool DapRequestHandler::dap_build_dmr ( BESDataHandlerInterface & dhi)
static

Given a request for the DMR response, look at the data source and parse it's DMR/XML information. If the data source is a .dmr or .xml file, assume that's all the data source contains and that the plain DMR parser can be used. If the data source is a .dap file, assume it is a DAP4 data response that has been dumped to a file, sans MIME headers. Use the code in libdap::Connect to read the DMR.

Parameters
dhi
Returns

Definition at line 271 of file DapRequestHandler.cc.

◆ dap_build_help()

bool DapRequestHandler::dap_build_help ( BESDataHandlerInterface & dhi)
static

Definition at line 516 of file DapRequestHandler.cc.

◆ dap_build_vers()

bool DapRequestHandler::dap_build_vers ( BESDataHandlerInterface & dhi)
static

Definition at line 507 of file DapRequestHandler.cc.

◆ dump()

void DapRequestHandler::dump ( std::ostream & strm) const
virtual

dumps information about this object

Displays the pointer value of this instance, the name of the request handler, and the names of all registered handler functions

Parameters
strmC++ i/o stream to dump the information to

Reimplemented from BESRequestHandler.

Definition at line 538 of file DapRequestHandler.cc.

◆ find_method()

p_request_handler_method BESRequestHandler::find_method ( const std::string & name)
virtualinherited

find the method that can handle the specified response object type

Find the method that can handle the specified response object type. The response object type is the same as the handler name.

Parameters
handler_namename of the method that can fill in the response object type
Returns
the method that can fill in the specified response object type
See also
BESResponseObject
BESResponseNames

Definition at line 95 of file BESRequestHandler.cc.

◆ get_lmt()

time_t BESRequestHandler::get_lmt ( const std::string & name)
virtualinherited

Get the Last modified time for.

  • name

Handlers that need a more sophisticated method should subclass.

Parameters
name
Returns
The LMT

Definition at line 133 of file BESRequestHandler.cc.

◆ get_method_names()

string BESRequestHandler::get_method_names ( )
virtualinherited

return a comma separated list of response object types handled by this request handler

Returns
the comma separated list of response object types
See also
BESResponseObject
BESResponseNames

Definition at line 112 of file BESRequestHandler.cc.

◆ get_name()

virtual const std::string & BESRequestHandler::get_name ( ) const
inlinevirtualinherited

Definition at line 92 of file BESRequestHandler.h.

◆ remove_method()

bool BESRequestHandler::remove_method ( const std::string & name)
virtualinherited

remove the specified handler method from this request handler

Parameters
handler_namename of the method to be removed, same as the name of the response object
Returns
true if successfully removed, false if not found
See also
BESResponseNames

Definition at line 74 of file BESRequestHandler.cc.


The documentation for this class was generated from the following files: