in lib/nano.js [904:945]
function insertMultipart (doc, attachments, qs, callback) {
if (typeof qs === 'string') {
qs = { docName: qs }
}
qs = qs || {}
const docName = qs.docName
delete qs.docName
if (missing(doc, attachments, docName)) {
return callbackOrRejectError(callback)
}
doc = Object.assign({ _attachments: {} }, doc)
const multipart = []
attachments.forEach(function (att) {
doc._attachments[att.name] = {
follows: true,
length: Buffer.isBuffer(att.data) ? att.data.length : Buffer.byteLength(att.data),
/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */
content_type: att.content_type
}
multipart.push(att)
})
multipart.unshift({
content_type: 'application/json',
data: JSON.stringify(doc),
name: 'document'
})
return relax({
db: dbName,
method: 'PUT',
contentType: 'multipart/related',
doc: docName,
qs,
multipart
}, callback)
}