David Larlet avatar David Larlet committed 0a76f62

S3: refs #9, allows 206 status code for put/read partial responses (chunks), thanks @bruno

Comments (0)

Files changed (1)

         content_type = mimetypes.guess_type(name)[0] or "application/x-octet-stream"
         self.headers.update({'x-amz-acl': self.acl, 'Content-Type': content_type})
         response = self.connection.put(self.bucket, name, content, self.headers)
-        if response.http_response.status != 200:
+        if response.http_response.status not in (200, 206):
             raise IOError("S3StorageError: %s" % response.message)
 
     def _open(self, name, mode='rb'):
         else:
             headers = {'Range': 'bytes=%s-%s' % (start_range, end_range)}
         response = self.connection.get(self.bucket, name, headers)
-        if response.http_response.status != 200:
+        if response.http_response.status not in (200, 206):
             raise IOError("S3StorageError: %s" % response.message)
         headers = response.http_response.msg
         return response.object.data, headers.get('etag', None), headers.get('content-range', None)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.