sendAttachment()

in src/client/client.js [164:189]


  sendAttachment(connectionToken, attachment, metadata) {
    let self = this;
    const startUploadRequestParams = {
      ContentType: attachment.type,
      AttachmentName: attachment.name,
      AttachmentSizeInBytes: attachment.size,
      ConnectionToken: connectionToken
    };
    const startUploadRequest = self.chatClient.startAttachmentUpload(startUploadRequestParams);
    return self._sendRequest(startUploadRequest)
        .then(startUploadResponse => {
          return self._uploadToS3(attachment, startUploadResponse.data.UploadMetadata)
              .then(() => {
                self.logger.info("successfully uploaded attachment");
                const completeUploadRequestParams = {
                  AttachmentIds: [ startUploadResponse.data.AttachmentId ],
                  ConnectionToken: connectionToken
                };
                const completeUploadRequest = self.chatClient.completeAttachmentUpload(completeUploadRequestParams);
                return self._sendRequest(completeUploadRequest);
              });
        }).catch((err) => {
          self.logger.error("error when sending attachment");
          return Promise.reject(err);
        });
  }