|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
BESTransmitter class named "json" that transmits an OPeNDAP data object as a JSON file. More...
#include <FoInstanceJsonTransmitter.h>


Public Member Functions | |
| virtual bool | add_method (string method_name, p_transmitter trans_method) |
| virtual void | dump (ostream &strm) const |
| dumps information about this object More... | |
| virtual p_transmitter | find_method (string method_name) |
| FoInstanceJsonTransmitter () | |
| Construct the FoJsonTransmitter. More... | |
| virtual bool | remove_method (string method_name) |
| virtual void | send_html (BESInfo &info, BESDataHandlerInterface &dhi) |
| virtual void | send_response (const string &method, BESResponseObject *obj, BESDataHandlerInterface &dhi) |
| virtual void | send_text (BESInfo &info, BESDataHandlerInterface &dhi) |
| virtual | ~FoInstanceJsonTransmitter () |
Static Public Member Functions | |
| static void | send_data (BESResponseObject *obj, BESDataHandlerInterface &dhi) |
| The static method registered to transmit OPeNDAP data objects as a JSON file. More... | |
| static void | send_metadata (BESResponseObject *obj, BESDataHandlerInterface &dhi) |
| The static method registered to transmit OPeNDAP data objects as a JSON file. More... | |
BESTransmitter class named "json" that transmits an OPeNDAP data object as a JSON file.
The FoJsonTransmitter transforms an OPeNDAP DataDDS object into a JSON file and streams the new (temporary) JSON file back to the client.
Definition at line 50 of file FoInstanceJsonTransmitter.h.
| FoInstanceJsonTransmitter::FoInstanceJsonTransmitter | ( | ) |
Construct the FoJsonTransmitter.
The transmitter is created to add the ability to return OPeNDAP data objects (DataDDS) as instance object representation JSON documents.
The OPeNDAP data object is written to a JSON file locally in a temporary directory specified by the BES configuration parameter FoJson.Tempdir. If this variable is not found or is not set then it defaults to the macro definition FO_JSON_TEMP_DIR.
Definition at line 80 of file FoInstanceJsonTransmitter.cc.
References BESTransmitter::add_method(), DATA_SERVICE, DDX_SERVICE, FO_JSON_TEMP_DIR, BESKeys::get_value(), send_data(), send_metadata(), and TheBESKeys::TheKeys().

|
inlinevirtual |
Definition at line 58 of file FoInstanceJsonTransmitter.h.
|
virtualinherited |
Definition at line 36 of file BESTransmitter.cc.
Referenced by BESAsciiTransmit::BESAsciiTransmit(), BESDapTransmit::BESDapTransmit(), FoDapJsonTransmitter::FoDapJsonTransmitter(), FoInstanceJsonTransmitter(), FONcTransmitter::FONcTransmitter(), GeoTiffTransmitter::GeoTiffTransmitter(), BESXDModule::initialize(), BESWWWModule::initialize(), BESUsageModule::initialize(), JPEG2000Transmitter::JPEG2000Transmitter(), and W10nJsonTransmitter::W10nJsonTransmitter().
|
virtualinherited |
dumps information about this object
Displays the pointer value of this instance
| strm | C++ i/o stream to dump the information to |
Reimplemented from BESTransmitter.
Reimplemented in BESBasicHttpTransmitter.
Definition at line 72 of file BESBasicTransmitter.cc.
References BESTransmitter::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().
Referenced by BESBasicHttpTransmitter::dump().

|
virtualinherited |
Definition at line 58 of file BESTransmitter.cc.
Referenced by BESTransmitter::send_response().
|
virtualinherited |
Definition at line 47 of file BESTransmitter.cc.
Referenced by BESXDModule::terminate(), BESUsageModule::terminate(), BESWWWModule::terminate(), and BESDapTransmit::~BESDapTransmit().
|
static |
The static method registered to transmit OPeNDAP data objects as a JSON file.
This function takes the OPeNDAP DataDDS object, reads in the data (can be used with any data handler), transforms the data into a JSON file, and streams back that JSON file back to the requester using the stream specified in the BESDataHandlerInterface.
| obj | The BESResponseObject containing the OPeNDAP DataDDS object |
| dhi | BESDataHandlerInterface containing information about the request and response |
| BESInternalError | if the response is not an OPeNDAP DataDDS or if there are any problems reading the data, writing to a JSON file, or streaming the JSON file |
Definition at line 211 of file FoInstanceJsonTransmitter.cc.
References BESDEBUG, BESDataHandlerInterface::data, BESDataDDSResponse::get_ce(), BESDataDDSResponse::get_dds(), BESDataHandlerInterface::get_output_stream(), POST_CONSTRAINT, and BESDataDDSResponse::set_dds().
Referenced by FoInstanceJsonTransmitter().

|
virtualinherited |
Implements BESTransmitter.
Reimplemented in BESBasicHttpTransmitter.
Definition at line 53 of file BESBasicTransmitter.cc.
References BESContextManager::get_context(), BESDataHandlerInterface::get_output_stream(), BESInfo::is_buffered(), BESInfo::print(), BESUtil::set_mime_html(), and BESContextManager::TheManager().
Referenced by BESBasicHttpTransmitter::send_html().

|
static |
The static method registered to transmit OPeNDAP data objects as a JSON file.
This function takes the OPeNDAP DDS object, reads in the metadata (can be used with any data handler), transforms the metadata into a JSON file, and streams back that JSON file back to the requester using the stream specified in the BESDataHandlerInterface.
| obj | The BESResponseObject containing the OPeNDAP DataDDS object |
| dhi | BESDataHandlerInterface containing information about the request and response |
| BESInternalError | if the response is not an OPeNDAP DataDDS or if there are any problems reading the data, writing to a JSON file, or streaming the JSON file |
Definition at line 120 of file FoInstanceJsonTransmitter.cc.
References BESDEBUG, BESDataHandlerInterface::data, BESDDSResponse::get_ce(), BESDDSResponse::get_dds(), BESDataHandlerInterface::get_output_stream(), POST_CONSTRAINT, and BESDDSResponse::set_dds().
Referenced by FoInstanceJsonTransmitter().

|
virtualinherited |
Definition at line 69 of file BESTransmitter.cc.
References BESTransmitter::find_method().
Referenced by BESDap4ResponseHandler::transmit(), BESXDResponseHandler::transmit(), BESWWWResponseHandler::transmit(), BESUsageResponseHandler::transmit(), BESDDSResponseHandler::transmit(), BESDMRResponseHandler::transmit(), BESDASResponseHandler::transmit(), BESDataResponseHandler::transmit(), BESDataDDXResponseHandler::transmit(), and BESDDXResponseHandler::transmit().

|
virtualinherited |
Implements BESTransmitter.
Reimplemented in BESBasicHttpTransmitter.
Definition at line 40 of file BESBasicTransmitter.cc.
References BESContextManager::get_context(), BESDataHandlerInterface::get_output_stream(), BESInfo::is_buffered(), BESInfo::print(), BESUtil::set_mime_text(), and BESContextManager::TheManager().
Referenced by BESBasicHttpTransmitter::send_text().
