Hello,
lately I've been playing around with Blobstore and I believe that it misses
few critical features:
1. MD5/SHA1 integrity checksums. This is a *MUST*. All competing services
(S3, Nirvanix, etc) provide ways to:
- get checksum of already uploaded file (this should be another BlobInfo
property),
- upload file along with its checksum. When calculated checksum of uploaded
file differs from the provided one, file is discarded and error response is
sent to client.
2. Ranged requests. With large files this is another *MUST HAVE* feature and
hopefully requires no explanation.
3. When "success_path" generates error response after upload (either 4xx or
5xx) with custom error page, it results in "500 Internal Server Error"
response with Google's default error page, because Blobstore requires 3xx
response. In my opionion this is bad, because one cannot return custom error
page. Maybe only 2xx responses should be handled as incorrect?
4. "500 Internal Server Error" response is returned when wrong / old /
not-existing BlobKey is passed via blobstore.BLOB_KEY_HEADER, in my opinion
this should result in "404 Not Found" response.
Also, few times I received "500 Internal Server Error" response when
uploading file(s) to path previously generated using
blobstore.create_upload_path(). Those errors didn't result in *any* entry in
application logs and I wasn't able to find proper way to reproduce this, but
my guess is that this results from either:
- too old upload token (>24h),
- upload token generated for older deployment.
Best regards,
Piotr Sikora < [email protected] >
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.