client/js/s3/multipart.complete.ajax.requester.js
function(id, uploadId, etagEntries) {
            var promise = new qq.Promise(),
                body = getCompleteRequestBody(etagEntries);

            getHeaders(id, uploadId, body).then(function(headers, endOfUrl) {
                options.log("Submitting S3 complete multipart upload request for " + id);

                pendingCompleteRequests[id] = promise;
                delete headers["Content-Type"];

                requester.initTransport(id)
                    .withPath(endOfUrl)
                    .withHeaders(headers)
                    .withPayload(body)
                    .send();
            }, promise.failure);

            return promise;
        }
function(id, uploadId, etagEntries) {
            var promise = new qq.Promise(),
                body = getCompleteRequestBody(etagEntries);

            getHeaders(id, uploadId, body).then(function(headers, endOfUrl) {
                options.log("Submitting S3 complete multipart upload request for " + id);

                pendingCompleteRequests[id] = promise;
                delete headers["Content-Type"];

                requester.initTransport(id)
                    .withPath(endOfUrl)
                    .withHeaders(headers)
                    .withPayload(body)
                    .send();
            }, promise.failure);

            return promise;
        }
function ( id , uploadId , etagEntries ) { var promise = new qq . Promise ( ) , body = getCompleteRequestBody ( etagEntries ) ; getHeaders ( id , uploadId , body ) . then ( function ( headers , endOfUrl ) { options . log ( "Submitting S3 complete multipart upload request for " + id ) ; pendingCompleteRequests [ id ] = promise ; delete headers [ "Content-Type" ] ; requester . initTransport ( id ) . withPath ( endOfUrl ) . withHeaders ( headers ) . withPayload ( body ) . send ( ) ; } , promise . failure ) ; return promise ; }
Sends the "Complete" request and fulfills the returned promise when the success of this request is known.

@param id ID associated with the file.
@param uploadId AWS uploadId for this file
@param etagEntries Array of objects containing `etag` values and their associated `part` numbers.
@returns {qq.Promise}
Sends the Complete request and fulfills the returned promise when the success of this request is known .