Loading ccsrc/Ports/LibHttp/HttpPort.cc +1 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ namespace LibHttp__TestSystem { void HttpPort::user_map(const char * system_port) { loggers::get_instance().log(">>> HttpPort::user_map: '%s'", system_port); _cfg_params.log(); // Build layer stack params::iterator it = _cfg_params.find(std::string("params")); if (it != _cfg_params.end()) { Loading ccsrc/Protocols/Http/http_codec_cise.cc +22 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,28 @@ bool http_codec_cise::decode_body_xml(const OCTETSTRING &p_data, LibHttp__XmlMes return true; } bool http_codec_cise::encode_body_json(const LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type) { loggers::get_instance().log_msg(">>> http_codec_cise::encode_body_json: ", p_json_body); std::map<std::string, std::unique_ptr<codec_gen<Record_Type, Record_Type> > >::const_iterator it; bool processed = false; loggers::get_instance().log("http_codec_cise::encode_body_json: Content-Type:'%s'", p_content_type.c_str()); if (p_content_type.find("json") != std::string::npos) { it = _codecs.find("json"); // TODO Use params if (it != _codecs.cend()) { loggers::get_instance().log("http_codec_cise::encode_body_json: Call 'json_codec'"); _codecs["json"]->encode((Record_Type&)p_json_body, p_encoding_buffer); // TODO Use params processed = true; } } // TODO Add new HTTP message codec here if (!processed) { loggers::get_instance().warning("http_codec_cise::encode_body_json: Unsupported HTTP codec, use raw field as default"); p_encoding_buffer = OCTETSTRING(0, nullptr); } return true; } bool http_codec_cise::decode_body_json(const OCTETSTRING &p_data, LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, const std::string& p_content_type, params* p_params) { loggers::get_instance().log(">>> http_codec_cise::decode_body_json: content: %s", p_content_type.c_str()); loggers::get_instance().log_msg(">>> http_codec_cise::decode_body_json: data: ", p_data); Loading ccsrc/Protocols/Http/http_codec_cise.hh +1 −0 Original line number Diff line number Diff line Loading @@ -14,5 +14,6 @@ protected: //! \protectedsection bool encode_body_xml(const LibHttp__XmlMessageBodyTypes::XmlBody &p_xml_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type); bool decode_body_xml(const OCTETSTRING &p_data, LibHttp__XmlMessageBodyTypes::XmlBody &p_body, const std::string& p_content_type, params* p_params); virtual bool encode_body_json(const LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type); bool decode_body_json(const OCTETSTRING &p_data, LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, const std::string& p_content_type, params* p_params); }; No newline at end of file ccsrc/Protocols/Json/json_codec.cc +6 −12 Original line number Diff line number Diff line Loading @@ -8,21 +8,16 @@ #include "LibHttp_JsonMessageBodyTypes.hh" /*int json_codec::encode (const LibHttp__JsonMessageBodyTypes::JsonBody& msg, OCTETSTRING& data) { int json_codec::encode (const LibHttp__JsonMessageBodyTypes::JsonBody& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> json_codec::encode: ", (const Base_Type&)msg); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_dequeueRegistrationRequest)) { const LibNg112__DequeueRegistration::DequeueRegistrationRequest& dequeue_registration_request = msg.dequeueRegistrationRequest(); dequeue_registration_request.encode(LibNg112__DequeueRegistration::DequeueRegistrationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } else if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_dequeueRegistrationResponse)) { const LibNg112__DequeueRegistration::DequeueRegistrationResponse& dequeue_registration_response = msg.dequeueRegistrationResponse(); dequeue_registration_response.encode(LibNg112__DequeueRegistration::DequeueRegistrationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_ut__trigger)) { const LibCise__TypesAndValues::UtDescription& ut_trigger = msg.ut__trigger(); ut_trigger.encode(LibCise__TypesAndValues::UtDescription_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } else { loggers::get_instance().error("json_codec::encode: Not supported"); Loading @@ -31,9 +26,8 @@ loggers::get_instance().log("<<< json_codec::encode"); return 0; } */ int json_codec::decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody& msg, params* p_params) { int json_codec::decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody& msg, params* p_params) { loggers::get_instance().log_msg(">>> json_codec::decode: p_data=", p_data); // Sanity checks Loading ccsrc/Protocols/Json/json_codec.hh +2 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit json_codec() : codec_gen<LibHttp__JsonMessageBodyTypes::JsonBody, LibHttp__JsonMessageBodyTypes::JsonBody>() { }; virtual ~json_codec() { }; virtual int encode (const LibHttp__JsonMessageBodyTypes::JsonBody&, OCTETSTRING& data) { return -1; }; virtual int decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody&, params* p_params = NULL); virtual int encode (const LibHttp__JsonMessageBodyTypes::JsonBody&, OCTETSTRING& data);// { return -1; }; virtual int decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody&, params* p_params = NULL);// { return -1; }; }; // End of class json_codec Loading
ccsrc/Ports/LibHttp/HttpPort.cc +1 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ namespace LibHttp__TestSystem { void HttpPort::user_map(const char * system_port) { loggers::get_instance().log(">>> HttpPort::user_map: '%s'", system_port); _cfg_params.log(); // Build layer stack params::iterator it = _cfg_params.find(std::string("params")); if (it != _cfg_params.end()) { Loading
ccsrc/Protocols/Http/http_codec_cise.cc +22 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,28 @@ bool http_codec_cise::decode_body_xml(const OCTETSTRING &p_data, LibHttp__XmlMes return true; } bool http_codec_cise::encode_body_json(const LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type) { loggers::get_instance().log_msg(">>> http_codec_cise::encode_body_json: ", p_json_body); std::map<std::string, std::unique_ptr<codec_gen<Record_Type, Record_Type> > >::const_iterator it; bool processed = false; loggers::get_instance().log("http_codec_cise::encode_body_json: Content-Type:'%s'", p_content_type.c_str()); if (p_content_type.find("json") != std::string::npos) { it = _codecs.find("json"); // TODO Use params if (it != _codecs.cend()) { loggers::get_instance().log("http_codec_cise::encode_body_json: Call 'json_codec'"); _codecs["json"]->encode((Record_Type&)p_json_body, p_encoding_buffer); // TODO Use params processed = true; } } // TODO Add new HTTP message codec here if (!processed) { loggers::get_instance().warning("http_codec_cise::encode_body_json: Unsupported HTTP codec, use raw field as default"); p_encoding_buffer = OCTETSTRING(0, nullptr); } return true; } bool http_codec_cise::decode_body_json(const OCTETSTRING &p_data, LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, const std::string& p_content_type, params* p_params) { loggers::get_instance().log(">>> http_codec_cise::decode_body_json: content: %s", p_content_type.c_str()); loggers::get_instance().log_msg(">>> http_codec_cise::decode_body_json: data: ", p_data); Loading
ccsrc/Protocols/Http/http_codec_cise.hh +1 −0 Original line number Diff line number Diff line Loading @@ -14,5 +14,6 @@ protected: //! \protectedsection bool encode_body_xml(const LibHttp__XmlMessageBodyTypes::XmlBody &p_xml_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type); bool decode_body_xml(const OCTETSTRING &p_data, LibHttp__XmlMessageBodyTypes::XmlBody &p_body, const std::string& p_content_type, params* p_params); virtual bool encode_body_json(const LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, OCTETSTRING &p_encoding_buffer, const std::string& p_content_type); bool decode_body_json(const OCTETSTRING &p_data, LibHttp__JsonMessageBodyTypes::JsonBody &p_json_body, const std::string& p_content_type, params* p_params); }; No newline at end of file
ccsrc/Protocols/Json/json_codec.cc +6 −12 Original line number Diff line number Diff line Loading @@ -8,21 +8,16 @@ #include "LibHttp_JsonMessageBodyTypes.hh" /*int json_codec::encode (const LibHttp__JsonMessageBodyTypes::JsonBody& msg, OCTETSTRING& data) { int json_codec::encode (const LibHttp__JsonMessageBodyTypes::JsonBody& msg, OCTETSTRING& data) { loggers::get_instance().log_msg(">>> json_codec::encode: ", (const Base_Type&)msg); TTCN_EncDec::clear_error(); TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_DEFAULT); TTCN_Buffer encoding_buffer; if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_dequeueRegistrationRequest)) { const LibNg112__DequeueRegistration::DequeueRegistrationRequest& dequeue_registration_request = msg.dequeueRegistrationRequest(); dequeue_registration_request.encode(LibNg112__DequeueRegistration::DequeueRegistrationRequest_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } else if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_dequeueRegistrationResponse)) { const LibNg112__DequeueRegistration::DequeueRegistrationResponse& dequeue_registration_response = msg.dequeueRegistrationResponse(); dequeue_registration_response.encode(LibNg112__DequeueRegistration::DequeueRegistrationResponse_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); if (msg.ischosen(LibHttp__JsonMessageBodyTypes::JsonBody::ALT_ut__trigger)) { const LibCise__TypesAndValues::UtDescription& ut_trigger = msg.ut__trigger(); ut_trigger.encode(LibCise__TypesAndValues::UtDescription_descr_, encoding_buffer, TTCN_EncDec::CT_JSON); data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); } else { loggers::get_instance().error("json_codec::encode: Not supported"); Loading @@ -31,9 +26,8 @@ loggers::get_instance().log("<<< json_codec::encode"); return 0; } */ int json_codec::decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody& msg, params* p_params) { int json_codec::decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody& msg, params* p_params) { loggers::get_instance().log_msg(">>> json_codec::decode: p_data=", p_data); // Sanity checks Loading
ccsrc/Protocols/Json/json_codec.hh +2 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ public: explicit json_codec() : codec_gen<LibHttp__JsonMessageBodyTypes::JsonBody, LibHttp__JsonMessageBodyTypes::JsonBody>() { }; virtual ~json_codec() { }; virtual int encode (const LibHttp__JsonMessageBodyTypes::JsonBody&, OCTETSTRING& data) { return -1; }; virtual int decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody&, params* p_params = NULL); virtual int encode (const LibHttp__JsonMessageBodyTypes::JsonBody&, OCTETSTRING& data);// { return -1; }; virtual int decode (const OCTETSTRING& p_data, LibHttp__JsonMessageBodyTypes::JsonBody&, params* p_params = NULL);// { return -1; }; }; // End of class json_codec