Open greenx opened 1 year ago
Seems like AWS doesn't care. But adding it, since it should be there. See #1803
Hi,
It didn't help. I rebuild WARP with monio-go/v7.0.51 But "PUT" sends data in chunks and does not set the header "Transfer-Encoding:".
@greenx Are you sure this isn't just because it isn't printed? Did you confirm this on the sever side?
I see that on the server these files are saved with a chunk header.
There is a "content-length" in the headers, but the message body is transmitted in chunks, without the "transfer-encoding" header.
@greenx this is actually normal for this operation. The main reason is that content-length is automatically added via Go's net/http. Which looks at our input buffer to see what is the size and then automatically sets it.
That seems to invalidate the value set at req.TransferEncoding - it requires a bit of a refactor and touching some old code.
I would carefully do it if we must fix this. Since this works with MinIO and AWS our current priorities are really kind of met - it would seem like no other S3 vendor has complained either.
Unless I am mistaken at this point your server @greenx should honor what AWS S3 honors, i.e allow chunked transfer via Content-Length being set.
Just treat it as chunked via x-amz-signature-algorithm - that calls it as Streaming!
Hmmm, Judging by this, https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html AWS just scored on the RFC. But, it says "either, or" so you can both comply with the RFC and remain S3 compatible. :-)
Could look like some Go magic. I will look a bit deeper into it.
Observed against storage.googleapis.com
v7.0.57 works fine, but v7.0.70 on getting file returns something like
10000;chunk-signature=fce2a10afb7ceaecfcb0010dbc5eb2dd02d4221228c3a555faf686d49f1274d8\r\n...original_data
Observed against storage.googleapis.com v7.0.57 works fine, but v7.0.70 on getting file returns something like
10000;chunk-signature=fce2a10afb7ceaecfcb0010dbc5eb2dd02d4221228c3a555faf686d49f1274d8\r\n...original_data
Google doesn't support proper AWS S3 semantics. Please use this SDK against S3 compatible implementations.
Hi,
I testing our new s3 compatible storadge. The PUT test passes, but the GET does not. I checked what Wasp was sending. It sends data in chunks, but does not set the appropriate header, so the data size does not match the expected one.