diff --git a/moto/s3/responses.py b/moto/s3/responses.py index 4d0ae20a4..a0750e5ac 100644 --- a/moto/s3/responses.py +++ b/moto/s3/responses.py @@ -245,6 +245,8 @@ class ResponseObject(_TemplateEnvironmentMixin): return 400, headers, "" if begin < 0 or end > length or begin > min(end, length): return 416, headers, "" + headers['content-range'] = "bytes {0}-{1}/{2}".format( + begin, end, length) return 206, headers, response_content[begin:end] def key_response(self, request, full_url, headers): diff --git a/tests/test_s3/test_s3.py b/tests/test_s3/test_s3.py index 5e7d0e096..3b30ef2e7 100644 --- a/tests/test_s3/test_s3.py +++ b/tests/test_s3/test_s3.py @@ -704,3 +704,4 @@ def test_ranged_get(): key.get_contents_as_string(headers={'Range': 'bytes=45-55'}).should.equal(b'0' * 5 + b'1' * 5) key.get_contents_as_string(headers={'Range': 'bytes=45-'}).should.equal(b'0' * 5 + b'1' * 50) key.get_contents_as_string(headers={'Range': 'bytes=-55'}).should.equal(b'0' * 5 + b'1' * 50) + key.size.should.equal(100)