[ https://issues.apache.org/jira/browse/JCLOUDS-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Gaul updated JCLOUDS-1513: --------------------------------- Labels: google-cloud-storage (was: ) > Blob Cache Control not being set in Google Cloud Storage > -------------------------------------------------------- > > Key: JCLOUDS-1513 > URL: https://issues.apache.org/jira/browse/JCLOUDS-1513 > Project: jclouds > Issue Type: Bug > Components: jclouds-blobstore > Affects Versions: 2.1.2 > Environment: google-cloud-storage > Reporter: Wilhansen Li > Priority: Minor > Labels: google-cloud-storage > Attachments: gcloud-cachecontrol-upload.zip > > > The cacheControl attribute in Blob is not being sent to google cloud storage > when uploading the blob (GCS supports the `cacheControl` metadata as stated > here: > [https://cloud.google.com/storage/docs/json_api/v1/objects/insert#request-body).] > The log is as follows: > {code:java} > 19:36:19.634 [main] DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking > Object:multipartUpload > 19:36:19.710 [main] DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking > oauth2:authorize > 19:36:19.711 [main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending > request 1139593014: POST https://accounts.google.com/o/oauth2/token HTTP/1.1 > 19:36:19.711 [main] DEBUG jclouds.wire - >> > "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=*********" > 19:36:19.712 [main] DEBUG jclouds.headers - >> POST > https://accounts.google.com/o/oauth2/token HTTP/1.1 > 19:36:19.712 [main] DEBUG jclouds.headers - >> Accept: application/json > 19:36:19.712 [main] DEBUG jclouds.headers - >> Content-Type: > application/x-www-form-urlencoded > 19:36:19.712 [main] DEBUG jclouds.headers - >> Content-Length: 747 > 19:36:20.563 [main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - > Receiving response 1139593014: HTTP/1.1 200 OK > 19:36:20.563 [main] DEBUG jclouds.headers - << HTTP/1.1 200 OK > 19:36:20.563 [main] DEBUG jclouds.headers - << Transfer-Encoding: chunked > 19:36:20.563 [main] DEBUG jclouds.headers - << Accept-Ranges: none > 19:36:20.564 [main] DEBUG jclouds.headers - << X-Frame-Options: SAMEORIGIN > 19:36:20.564 [main] DEBUG jclouds.headers - << Alt-Svc: quic=":443"; > ma=2592000; v="46,43,39" > 19:36:20.564 [main] DEBUG jclouds.headers - << Server: ESF > 19:36:20.564 [main] DEBUG jclouds.headers - << X-Content-Type-Options: nosniff > 19:36:20.564 [main] DEBUG jclouds.headers - << Vary: Origin,Accept-Encoding > 19:36:20.564 [main] DEBUG jclouds.headers - << Vary: Referer > 19:36:20.564 [main] DEBUG jclouds.headers - << Vary: X-Origin > 19:36:20.564 [main] DEBUG jclouds.headers - << X-XSS-Protection: 0 > 19:36:20.564 [main] DEBUG jclouds.headers - << Date: Wed, 11 Sep 2019 > 11:36:20 GMT > 19:36:20.564 [main] DEBUG jclouds.headers - << Cache-Control: private > 19:36:20.564 [main] DEBUG jclouds.headers - << Content-Type: > application/json; charset=utf-8 > 19:36:20.567 [main] DEBUG jclouds.wire - << "{[\n]" > 19:36:20.567 [main] DEBUG jclouds.wire - << " "access_token": "******" > 19:36:20.567 [main] DEBUG jclouds.wire - << " "expires_in": 3600,[\n]" > 19:36:20.567 [main] DEBUG jclouds.wire - << " "token_type": "Bearer"[\n]" > 19:36:20.567 [main] DEBUG jclouds.wire - << "}" > 19:36:20.571 [main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending > request -894182501: POST > https://www.googleapis.com/upload/storage/v1/b/***************/o?uploadType=multipart > HTTP/1.1 > 19:36:20.572 [main] DEBUG jclouds.wire - >> "--multipart_boundary[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "Content-Disposition: form-data; > name="Metadata"[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "Content-Type: > application/json[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> > "{"name":"room.jpg","size":13607,"contentType":"application/unknown","storageClass":"STANDARD","metadata":{}}[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "--multipart_boundary[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "Content-Disposition: form-data; > name="room.jpg"[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "Content-Type: > application/unknown[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> "[\r][\n]" > 19:36:20.572 [main] DEBUG jclouds.wire - >> > "[0xff][0xd8][0xff][0xe0][0x0][0x10]JFIF[0x0][0x1][0x1][0x0][0x0]H[0x0]H[......19:36:20.578 > [main] DEBUG jclouds.wire - >> "--multipart_boundary--[\r][\n]" > 19:36:20.579 [main] DEBUG jclouds.headers - >> POST > https://www.googleapis.com/upload/storage/v1/b/***************/o?uploadType=multipart > HTTP/1.1 > 19:36:20.579 [main] DEBUG jclouds.headers - >> Accept: application/json > 19:36:20.579 [main] DEBUG jclouds.headers - >> Authorization: Bearer > ***************************** > 19:36:20.579 [main] DEBUG jclouds.headers - >> Content-Type: > multipart/form-data; boundary=multipart_boundary > 19:36:20.579 [main] DEBUG jclouds.headers - >> Content-Length: 13956 > 19:36:21.353 [main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - > Receiving response 781231910: HTTP/1.1 200 OK > 19:36:21.354 [main] DEBUG jclouds.headers - << HTTP/1.1 200 OK > 19:36:21.354 [main] DEBUG jclouds.headers - << Alt-Svc: quic=":443"; > ma=2592000; v="46,43,39" > 19:36:21.354 [main] DEBUG jclouds.headers - << Server: UploadServer > 19:36:21.354 [main] DEBUG jclouds.headers - << ETag: CM6L8fDWyOQCEAE= > 19:36:21.354 [main] DEBUG jclouds.headers - << X-GUploader-UploadID: > AEnB2UqnPaZ60MZFrE-X1greCBYZn5MPpKLFIZlQEwUCaEXvcl1kSxbj9j7IMAqxkkMLzI6n_DZMQGlizqfpMTBWLBJ0omt0_w > 19:36:21.354 [main] DEBUG jclouds.headers - << Vary: X-Origin > 19:36:21.354 [main] DEBUG jclouds.headers - << Vary: Origin > 19:36:21.354 [main] DEBUG jclouds.headers - << Pragma: no-cache > 19:36:21.354 [main] DEBUG jclouds.headers - << Date: Wed, 11 Sep 2019 > 11:36:21 GMT > 19:36:21.354 [main] DEBUG jclouds.headers - << Cache-Control: no-cache, > no-store, max-age=0, must-revalidate > 19:36:21.354 [main] DEBUG jclouds.headers - << Content-Type: > application/json; charset=UTF-8 > 19:36:21.354 [main] DEBUG jclouds.headers - << Content-Length: 784 > 19:36:21.354 [main] DEBUG jclouds.headers - << Expires: Mon Jan 01 08:00:00 > PHT 1990 > 19:36:21.354 [main] DEBUG jclouds.wire - << "{[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "kind": "storage#object",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "id": > "****************/room.jpg/1568201781298638",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "selfLink": > "https://www.googleapis.com/storage/v1/b/***************/o/room.jpg",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "name": "room.jpg",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "bucket": > "***************",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "generation": > "1568201781298638",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "metageneration": "1",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "contentType": > "application/unknown",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "timeCreated": > "2019-09-11T11:36:21.298Z",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "updated": > "2019-09-11T11:36:21.298Z",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "storageClass": "STANDARD",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "timeStorageClassUpdated": > "2019-09-11T11:36:21.298Z",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "size": "13607",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "md5Hash": > "xSF9hqcotKIm+vvOufxoQg==",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "mediaLink": > "https://www.googleapis.com/download/storage/v1/b/***************/o/room.jpg?generation=1568201781298638&alt=media",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "crc32c": "0h4FCA==",[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << " "etag": "CM6L8fDWyOQCEAE="[\n]" > 19:36:21.355 [main] DEBUG jclouds.wire - << "}[\n]" > {code} > Attached is a sample project which demonstrates this. -- This message was sent by Atlassian Jira (v8.20.10#820010)