> On Sep 6, 2016, at 11:40 AM, 'John Clements' via Racket Users > <[email protected]> wrote: > > >> On Sep 6, 2016, at 11:19 AM, 'John Clements' via Racket Users >> <[email protected]> wrote: >> >> I’m in the process of updating some old code that used the PLaneT version of >> aws to communicate with google cloud storage (yes, google cloud storage >> apparently uses the s3 protocol). Using the current aws package with Google >> Cloud Storage yields responses looking like this: >> >> root@cp-test-class:/tmp# racket ./aws-script.rkt >> aws: HTTP/1.1 400 Bad Request >> X-GUploader-UploadID: >> AEnB2UrulPLTOAcTyMyO_szDGocgmqOf4nmP3cmZwPQ--j3HGPyaLenL2eVxcM60nlkHy5n37KzEDzhSD3XXK3azWmcSy7v-rw >> Content-Type: application/xml; charset=UTF-8 >> Content-Length: 211 >> Date: Tue, 06 Sep 2016 18:05:48 GMT >> Expires: Tue, 06 Sep 2016 18:05:48 GMT >> Cache-Control: private, max-age=0 >> Server: UploadServer >> >> <?xml version='1.0' >> encoding='UTF-8'?><Error><Code>MissingSecurityHeader</Code><Message>Your >> request was missing a required header.</Message><Details>x-amz-date required >> for AWS S3 V4 signature</Details></Error> >> HTTP 400 "Bad Request". AWS Code="MissingSecurityHeader" Message="Your >> request was missing a required header." >> context...: >> check-response >> /usr/racket/collects/racket/contract/private/arrow-higher-order.rkt:344:33 >> /root/.racket/6.6/pkgs/aws/aws/s3.rkt:272:42 >> /usr/racket/collects/racket/contract/private/arrow-higher-order.rkt:340:33 >> /usr/racket/collects/racket/contract/private/arrow-higher-order.rkt:340:33 >> request/redirect/uri >> ...higher-order.rkt:340:33 >> /root/.racket/6.6/pkgs/aws/aws/s3.rkt:259:2: loop >> ls >> /usr/racket/collects/racket/contract/private/arrow-higher-order.rkt:344:33 >> /tmp/aws-script.rkt: [running body] >> >> … and I’m trying to figure out whether >> a) google cloud storage changed (e.g., it now uses V4 signatures rather than >> V2 signatures or something), or >> b) your aws code changed (e.g., it now uses V4 signatuers rather than V2 >> signatures … or something). >> >> Can you shed any light on this? I’m about to start digging into the meaning >> of the x-amz-date header. >> >> Alternatively, I’d also love to hear about people currently using the aws >> package to interact with google cloud storage! > > Sad face: I’ve done the obvious test—try running against the PLaneT > version—and the error is gone. This leads me to believe that upgrades to the > aws package have made it incompatible with google cloud storage. > > Obvious fixes that I don’t like: > > 1) stop using google cloud storage, starting using Amazon S3. > 2) use the old PLaneT version instead of the shiny new pkg version. > > Any other suggestions?
Bleh… git bisected, and it does appear that the problem is the change to V4 signatures, first seen in 9e1019a86426d5563417accc1ae9c7810110774d. Sigh. John -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

