diff --git a/lib/pubsub/topic.js b/lib/pubsub/topic.js index 53ced5ac507..1e7d1d8997c 100644 --- a/lib/pubsub/topic.js +++ b/lib/pubsub/topic.js @@ -131,8 +131,11 @@ Topic.prototype.publishRaw = function(message, callback) { if (!util.is(message.data, 'string') && !util.is(message.data, 'buffer')) { message.data = new Buffer(JSON.stringify(message.data)).toString('base64'); } - message.topic = this.name; - this.makeReq_('POST', 'topics/publish', null, message, callback); + var body = { + message: message, + topic: this.name + }; + this.makeReq_('POST', 'topics/publish', null, body, callback); }; /** diff --git a/test/pubsub/topic.js b/test/pubsub/topic.js index 800076b0a52..52514733626 100644 --- a/test/pubsub/topic.js +++ b/test/pubsub/topic.js @@ -150,7 +150,7 @@ describe('Topic', function() { it('should stringify non-strings & non-buffers', function(done) { topic.makeReq_ = function(method, path, qs, body) { - assert.deepEqual(body.data, messageObjDecoded); + assert.deepEqual(body.message.data, messageObjDecoded); done(); }; topic.publishRaw({ data: messageObj }, assert.ifError); @@ -160,7 +160,7 @@ describe('Topic', function() { topic.makeReq_ = function(method, path, qs, body) { assert.equal(method, 'POST'); assert.equal(path, 'topics/publish'); - assert.deepEqual(body.message, messageRaw.message); + assert.deepEqual(body.message.data, messageRaw.data); done(); }; topic.publishRaw(messageRaw, assert.ifError);