Author: gsim
Date: Fri Aug 23 16:06:41 2013
New Revision: 1516917
URL: http://svn.apache.org/r1516917
Log:
QPID-5090: Infer text/plain as content type over 0-10 for utf8 content
Modified:
qpid/trunk/qpid/cpp/examples/messaging/spout.cpp
qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp
Modified: qpid/trunk/qpid/cpp/examples/messaging/spout.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/messaging/spout.cpp?rev=1516917&r1=1516916&r2=1516917&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/messaging/spout.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/messaging/spout.cpp Fri Aug 23 16:06:41 2013
@@ -142,13 +142,14 @@ int main(int argc, char** argv)
Message message;
options.setProperties(message);
+ Variant& obj = message.getContentObject();
if (options.entries.size()) {
Variant::Map content;
options.setEntries(content);
- message.getContentObject() = content;
+ obj = content;
} else if (options.content.size()) {
- message.setContent(options.content);
- message.setContentType("text/plain");
+ obj = options.content;
+ obj.setEncoding("utf8");
}
std::time_t start = std::time(0);
for (int count = 0;
Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp?rev=1516917&r1=1516916&r2=1516917&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp Fri Aug 23
16:06:41 2013
@@ -21,6 +21,7 @@
#include "qpid/client/amqp0_10/OutgoingMessage.h"
#include "qpid/client/amqp0_10/AddressResolution.h"
#include "qpid/amqp_0_10/Codecs.h"
+#include "qpid/types/encodings.h"
#include "qpid/types/Variant.h"
#include "qpid/messaging/Address.h"
#include "qpid/messaging/Message.h"
@@ -45,6 +46,7 @@ const std::string SUBJECT("qpid.subject"
const std::string X_APP_ID("x-amqp-0-10.app-id");
const std::string X_ROUTING_KEY("x-amqp-0-10.routing-key");
const std::string X_CONTENT_ENCODING("x-amqp-0-10.content-encoding");
+const std::string TEXT_PLAIN("text/plain");
}
void OutgoingMessage::convert(const qpid::messaging::Message& from)
@@ -60,6 +62,10 @@ void OutgoingMessage::convert(const qpid
qpid::amqp_0_10::ListCodec::encode(from.getContentObject().asList(),
content);
message.getMessageProperties().setContentType(qpid::amqp_0_10::ListCodec::contentType);
message.setData(content);
+ } else if (from.getContentObject().getType() == qpid::types::VAR_STRING &&
+ (from.getContentObject().getEncoding() ==
qpid::types::encodings::UTF8 || from.getContentObject().getEncoding() ==
qpid::types::encodings::ASCII)) {
+ message.getMessageProperties().setContentType(TEXT_PLAIN);
+ message.setData(from.getContent());
} else {
message.setData(from.getContent());
message.getMessageProperties().setContentType(from.getContentType());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]