Last active
December 20, 2018 17:22
-
-
Save recursivecodes/3dbd2af2330f16d658f9d7b3bffe11c8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //route handler (Bootstrap.groovy): | |
| post "/oci/upload-commit", { req, res -> | |
| /* | |
| expects a JSON object in the request body that looks like this: | |
| { | |
| uploadId: "", | |
| objectName: "", | |
| uploads: [ | |
| { | |
| partNum: 1, | |
| ETag: "", | |
| } | |
| ] | |
| } | |
| */ | |
| Map body = new JsonSlurper().parseText(req.body()) | |
| def details = [] | |
| body.uploads.each { Map file -> | |
| details << CommitMultipartUploadPartDetails.builder() | |
| .partNum(file.partNum) | |
| .etag(file.ETag) | |
| .build() | |
| } | |
| return JsonOutput.toJson( objectService.commitMultipartUpload(body.objectName, body.uploadId, details) ) | |
| } | |
| //service method (ObjectService.groovy): | |
| def commitMultipartUpload(String objectName, String uploadId, List<CommitMultipartUploadPartDetails> partDetails) { | |
| CommitMultipartUploadDetails commitMultipartUploadDetails = CommitMultipartUploadDetails.builder().partsToCommit(partDetails).build() | |
| CommitMultipartUploadRequest commitMultipartUploadRequest = CommitMultipartUploadRequest.builder() | |
| .namespaceName(namespaceName) | |
| .bucketName(bucketName) | |
| .objectName(objectName) | |
| .uploadId(uploadId) | |
| .commitMultipartUploadDetails(commitMultipartUploadDetails) | |
| .build() | |
| return objectClient.commitMultipartUpload(commitMultipartUploadRequest) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment