Skip to content

Commit

Permalink
Better streams
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanseys committed Nov 26, 2014
1 parent 9e78d2b commit eb7674a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 29 deletions.
32 changes: 9 additions & 23 deletions lib/apirequest.js
Expand Up @@ -16,7 +16,6 @@

'use strict';

var Multipart = require('multipart-stream');
var utils = require('./utils.js');
var DefaultTransporter = require('./transporters.js');
var stream = require('stream');
Expand Down Expand Up @@ -145,30 +144,17 @@ function createAPIRequest(parameters, callback) {
if (parameters.mediaUrl && media.body) {
options.url = parameters.mediaUrl;
if (resource) {
// Create a boundary identifier and multipart read stream
body = new Multipart();

// Use multipart upload
params.uploadType = 'multipart';

options.headers = {
'Content-Type': 'multipart/related; boundary="' + body.boundary + '"'
};

// Add parts to multipart request
body.addPart({
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(resource)
});

body.addPart({
headers: {
'Content-Type': media.mimeType || resource && resource.mimeType || defaultMime
options.multipart = [
{
'Content-Type': 'application/json',
body: JSON.stringify(resource)
},
body: media.body // can be a readable stream or raw string!
});
{
'Content-Type': media.mimeType || resource && resource.mimeType || defaultMime,
body: media.body // can be a readable stream or raw string!
}
];
} else {
params.uploadType = 'media';
options.headers = {
Expand Down
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -35,7 +35,6 @@
"dependencies": {
"async": "~0.9.0",
"gapitoken": "~0.1.2",
"multipart-stream": "~1.0.0",
"request": "~2.48.0",
"string-template": "~0.2.0"
},
Expand Down
10 changes: 5 additions & 5 deletions test/test.media.js
Expand Up @@ -92,8 +92,8 @@ describe('Media', function() {
req.uri.href,
'https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart'
);
assert.equal(req.headers['Content-Type'].indexOf('multipart/related;'), 0);
var boundary = req.src.boundary;
assert.equal(req.headers['content-type'].indexOf('multipart/related;'), 0);
var boundary = req.boundary;
expectedResp = expectedResp
.replace(/\n/g, '\r\n')
.replace(/\$boundary/g, boundary)
Expand Down Expand Up @@ -136,8 +136,8 @@ describe('Media', function() {
req.uri.href,
'https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart'
);
assert.equal(req.headers['Content-Type'].indexOf('multipart/related;'), 0);
var boundary = req.src.boundary;
assert.equal(req.headers['content-type'].indexOf('multipart/related;'), 0);
var boundary = req.boundary;
expectedResp = expectedResp
.replace(/\n/g, '\r\n')
.replace(/\$boundary/g, boundary)
Expand Down Expand Up @@ -213,7 +213,7 @@ describe('Media', function() {
resource: resource,
media: media
}, function(err, resp) {
var boundary = req.src.boundary;
var boundary = req.boundary;
expectedBody = expectedBody
.replace(/\n/g, '\r\n')
.replace(/\$boundary/g, boundary)
Expand Down

0 comments on commit eb7674a

Please sign in to comment.