285285 "bucketBoundHostname" : " mydomain.tld" ,
286286 "expectedCanonicalRequest" : " GET\n /test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:mydomain.tld\n\n host\n UNSIGNED-PAYLOAD" ,
287287 "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n d6c309924b51a5abbe4d6356f7bf29c2120c6b14649b1e97b3bc9309adca7d4b"
288+ },
289+ {
290+ "description" : " Simple GET with hostname" ,
291+ "bucket" : " test-bucket" ,
292+ "object" : " test-object" ,
293+ "method" : " GET" ,
294+ "expiration" : 10 ,
295+ "timestamp" : " 2019-02-01T09:00:00Z" ,
296+ "expectedUrl" : " https://storage.googleapis.com/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=95e6a13d43a1d1962e667f17397f2b80ac9bdd1669210d5e08e0135df9dff4e56113485dbe429ca2266487b9d1796ebdee2d7cf682a6ef3bb9fbb4c351686fba90d7b621cf1c4eb1fdf126460dd25fa0837dfdde0a9fd98662ce60844c458448fb2b352c203d9969cb74efa4bdb742287744a4f2308afa4af0e0773f55e32e92973619249214b97283b2daa14195244444e33f938138d1e5f561088ce8011f4986dda33a556412594db7c12fc40e1ff3f1bedeb7a42f5bcda0b9567f17f65855f65071fabb88ea12371877f3f77f10e1466fff6ff6973b74a933322ff0949ce357e20abe96c3dd5cfab42c9c83e740a4d32b9e11e146f0eb3404d2e975896f74" ,
297+ "scheme" : " https" ,
298+ "hostname" : " storage.googleapis.com" ,
299+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
300+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
301+ },
302+ {
303+ "description" : " Simple GET with non-default hostname" ,
304+ "bucket" : " test-bucket" ,
305+ "object" : " test-object" ,
306+ "method" : " GET" ,
307+ "expiration" : 10 ,
308+ "timestamp" : " 2019-02-01T09:00:00Z" ,
309+ "expectedUrl" : " http://localhost:8080/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=66c8c0371ca7d933a0d50f110abdf4fc7e3e379329134f272ebe4aa8100ccd5f21cd56ca5ccffae5ed36c8d6840e7cac80c2e7d786cd85b10d0faea34cddf09d2e7eb7f5c7c53934e4bf8f5cd654bc3c1b5ee9e3f8ca2189cd225b445bb866563fc4bd0d0b4d116111655611d12ec18f2d854fd7142d9afcc977dbd8f6d0524e4170506abf2b119bbe00d17697321d225162fabddb4ddae77781b4f3277a6b6fccfeb47d70b88537e5efb416001274aaeb1535b5aae757c997edc66d03898a5d08f767313d018d10992981d00e2a18ed9a6839b8a1ac7b3be1cab2e9511ba91e14a786443b59e9f21e1ae74a2c60106180646a764531fbe1fcd9c1e40550e56e" ,
310+ "scheme" : " http" ,
311+ "hostname" : " localhost:8080" ,
312+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
313+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
314+ },
315+ {
316+ "description" : " Simple GET with endpoint on client" ,
317+ "bucket" : " test-bucket" ,
318+ "object" : " test-object" ,
319+ "method" : " GET" ,
320+ "expiration" : 10 ,
321+ "timestamp" : " 2019-02-01T09:00:00Z" ,
322+ "expectedUrl" : " https://storage.googleapis.com:443/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=95e6a13d43a1d1962e667f17397f2b80ac9bdd1669210d5e08e0135df9dff4e56113485dbe429ca2266487b9d1796ebdee2d7cf682a6ef3bb9fbb4c351686fba90d7b621cf1c4eb1fdf126460dd25fa0837dfdde0a9fd98662ce60844c458448fb2b352c203d9969cb74efa4bdb742287744a4f2308afa4af0e0773f55e32e92973619249214b97283b2daa14195244444e33f938138d1e5f561088ce8011f4986dda33a556412594db7c12fc40e1ff3f1bedeb7a42f5bcda0b9567f17f65855f65071fabb88ea12371877f3f77f10e1466fff6ff6973b74a933322ff0949ce357e20abe96c3dd5cfab42c9c83e740a4d32b9e11e146f0eb3404d2e975896f74" ,
323+ "scheme" : " https" ,
324+ "clientEndpoint" : " storage.googleapis.com:443" ,
325+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
326+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
327+ },
328+ {
329+ "description" : " Endpoint on client with scheme" ,
330+ "bucket" : " test-bucket" ,
331+ "object" : " test-object" ,
332+ "method" : " GET" ,
333+ "expiration" : 10 ,
334+ "timestamp" : " 2019-02-01T09:00:00Z" ,
335+ "expectedUrl" : " http://localhost:8080/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=66c8c0371ca7d933a0d50f110abdf4fc7e3e379329134f272ebe4aa8100ccd5f21cd56ca5ccffae5ed36c8d6840e7cac80c2e7d786cd85b10d0faea34cddf09d2e7eb7f5c7c53934e4bf8f5cd654bc3c1b5ee9e3f8ca2189cd225b445bb866563fc4bd0d0b4d116111655611d12ec18f2d854fd7142d9afcc977dbd8f6d0524e4170506abf2b119bbe00d17697321d225162fabddb4ddae77781b4f3277a6b6fccfeb47d70b88537e5efb416001274aaeb1535b5aae757c997edc66d03898a5d08f767313d018d10992981d00e2a18ed9a6839b8a1ac7b3be1cab2e9511ba91e14a786443b59e9f21e1ae74a2c60106180646a764531fbe1fcd9c1e40550e56e" ,
336+ "scheme" : " http" ,
337+ "clientEndpoint" : " http://localhost:8080" ,
338+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
339+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
340+ },
341+ {
342+ "description" : " Emulator host" ,
343+ "bucket" : " test-bucket" ,
344+ "object" : " test-object" ,
345+ "method" : " GET" ,
346+ "expiration" : 10 ,
347+ "timestamp" : " 2019-02-01T09:00:00Z" ,
348+ "expectedUrl" : " https://xyz.googleapis.com/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=53b20003ff2c552b3194a6bccc25024663662392554b3334e989e2704f3a0308455eaacf45c335a78c0186a5cf8eef78bf5781a7267465d28a35c9e1291f87ff340e9ee40b3b9bdce70561bf000887ce38ccd7d2445a8749453960a8f11d37576dfd5942f92d6f4527bbeffb90526b5de9653b6ca16136e9f19bcb65d984ddaf22c4ade45d6a168bb4752a43de33ab121206f50d994612824407711bff720cb1b207b61b613c44c85d3ce16dc4fc6eba24e494e176b0780d0ab85a800b13fcbf31434ddf51992efae1efde330ebda0617d1c20078ef22a4f10a7bcbed961237442d9a8db78d7aeb777a4994b50efdd41e07c4966e912a30f92a7426f207e9545" ,
349+ "emulatorHostname" : " https://xyz.googleapis.com" ,
350+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
351+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
352+ },
353+ {
354+ "description" : " Endpoint on client takes precedence over emulator" ,
355+ "bucket" : " test-bucket" ,
356+ "object" : " test-object" ,
357+ "method" : " GET" ,
358+ "expiration" : 10 ,
359+ "timestamp" : " 2019-02-01T09:00:00Z" ,
360+ "expectedUrl" : " http://localhost:8080/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=66c8c0371ca7d933a0d50f110abdf4fc7e3e379329134f272ebe4aa8100ccd5f21cd56ca5ccffae5ed36c8d6840e7cac80c2e7d786cd85b10d0faea34cddf09d2e7eb7f5c7c53934e4bf8f5cd654bc3c1b5ee9e3f8ca2189cd225b445bb866563fc4bd0d0b4d116111655611d12ec18f2d854fd7142d9afcc977dbd8f6d0524e4170506abf2b119bbe00d17697321d225162fabddb4ddae77781b4f3277a6b6fccfeb47d70b88537e5efb416001274aaeb1535b5aae757c997edc66d03898a5d08f767313d018d10992981d00e2a18ed9a6839b8a1ac7b3be1cab2e9511ba91e14a786443b59e9f21e1ae74a2c60106180646a764531fbe1fcd9c1e40550e56e" ,
361+ "scheme" : " http" ,
362+ "clientEndpoint" : " http://localhost:8080" ,
363+ "emulatorHostname" : " https://xyz.googleapis.com" ,
364+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
365+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
366+ },
367+ {
368+ "description" : " Hostname takes precendence over endpoint and emulator" ,
369+ "bucket" : " test-bucket" ,
370+ "object" : " test-object" ,
371+ "method" : " GET" ,
372+ "expiration" : 10 ,
373+ "timestamp" : " 2019-02-01T09:00:00Z" ,
374+ "expectedUrl" : " https://xyz.googleapis.com/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=53b20003ff2c552b3194a6bccc25024663662392554b3334e989e2704f3a0308455eaacf45c335a78c0186a5cf8eef78bf5781a7267465d28a35c9e1291f87ff340e9ee40b3b9bdce70561bf000887ce38ccd7d2445a8749453960a8f11d37576dfd5942f92d6f4527bbeffb90526b5de9653b6ca16136e9f19bcb65d984ddaf22c4ade45d6a168bb4752a43de33ab121206f50d994612824407711bff720cb1b207b61b613c44c85d3ce16dc4fc6eba24e494e176b0780d0ab85a800b13fcbf31434ddf51992efae1efde330ebda0617d1c20078ef22a4f10a7bcbed961237442d9a8db78d7aeb777a4994b50efdd41e07c4966e912a30f92a7426f207e9545" ,
375+ "emulatorHostname" : " http://localhost:9000" ,
376+ "clientEndpoint" : " http://localhost:8080" ,
377+ "hostname" : " https://xyz.googleapis.com" ,
378+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
379+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
380+ },
381+ {
382+ "description" : " Universe domain" ,
383+ "bucket" : " test-bucket" ,
384+ "object" : " test-object" ,
385+ "method" : " GET" ,
386+ "expiration" : 10 ,
387+ "timestamp" : " 2019-02-01T09:00:00Z" ,
388+ "expectedUrl" : " https://storage.domain.com/test-bucket/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=8cd0d479a88fb7d791a2dcc8fc5b5f020ca817eeef5b5a5cb3260eb63cf47ecd271faa238d0fa31efca35bc2a9244bd122178c520749f922c0235726a5a6be099bf4f33a0d54187eee2e0208964c2a13104b03e235cdeb4f07b3eb566b8a33259cf7540a3fe823be601ace2a54a79acd6834cb646380c4cfc7ef0fd95d3ebbc1f97d840f6fe1dceed4269ecb4e91ff7e6633f38adab82049a965968367b9e7c362cec868d804bd42abbb6d2e837ce5d45ee9e1d92c7acc09623acaae3df6128ca15f9f80bb6543944e8c997f691c35113b9e9f44e86fd343524343b08dd8f887685588acc103e0b432f24912e7e1c63e086aeed1890e41b75beb64164fe6bfcf" ,
389+ "universeDomain" : " domain.com" ,
390+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
391+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
392+ },
393+ {
394+ "description" : " Universe domain with virtual hosted style" ,
395+ "bucket" : " test-bucket" ,
396+ "object" : " test-object" ,
397+ "urlStyle" : " VIRTUAL_HOSTED_STYLE" ,
398+ "method" : " GET" ,
399+ "expiration" : 10 ,
400+ "timestamp" : " 2019-02-01T09:00:00Z" ,
401+ "expectedUrl" : " https://test-bucket.storage.domain.com/test-object?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host&X-Goog-Signature=25820e3a60856596cba594511d7d4039239b2728a9738f15d3a7acce8d70aa5435d0c91f99a9318f932afc73355ac562e014cb654e16ed5524b403536f1cba74489701fdc0c088b8826fccf20a648d3b2b704bd6661e01786d4132174c21441d0752be07e8af93e84e24b87799ee91fabef24a0a58d0889263280c3d37423fab677bd4d98469ab01aa36efaad62ff81ca27bf7fc92f14e20faa71e34de9ffbc5eb4ecf1b0361de42270665bb78367bd0a8cc6a604a8e347f0c864754bf14514aac3106fe73572a6c068ce2c380cc2a943b35502093d162ba9ae8de9abbbc9541ef765d5679857a89d36cc01be30cf1e04c4a477bbcd59a02955dcc1a903d8baa" ,
402+ "universeDomain" : " domain.com" ,
403+ "expectedCanonicalRequest" : " GET\n /test-bucket/test-object\n X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=test-iam-credentials%40dummy-project-id.iam.gserviceaccount.com%2F20190201%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20190201T090000Z&X-Goog-Expires=10&X-Goog-SignedHeaders=host\n host:storage.googleapis.com\n\n host\n UNSIGNED-PAYLOAD" ,
404+ "expectedStringToSign" : " GOOG4-RSA-SHA256\n 20190201T090000Z\n 20190201/auto/storage/goog4_request\n 00e2fb794ea93d7adb703edaebdd509821fcc7d4f1a79ac5c8d2b394df109320"
288405 }
289406 ],
290407 "postPolicyV4Tests" : [
578695 }
579696 }
580697 ]
581- }
698+ }
0 commit comments