diff --git a/moto/s3/responses.py b/moto/s3/responses.py index 143ad021478f..a5f4698128f3 100644 --- a/moto/s3/responses.py +++ b/moto/s3/responses.py @@ -137,8 +137,14 @@ def _bucket_response_get(self, bucket_name, querystring, headers): ) def _bucket_response_put(self, request, region_name, bucket_name, querystring, headers): + if hasattr(request, 'body'): + # Boto + body = request.body + else: + # Flask server + body = request.data if 'versioning' in querystring: - ver = re.search('([A-Za-z]+)', request.body.decode('utf-8')) + ver = re.search('([A-Za-z]+)', body.decode('utf-8')) if ver: self.backend.set_bucket_versioning(bucket_name, ver.group(1)) template = self.response_template(S3_BUCKET_VERSIONING)