The form POST operation to S3 accepts a `success_action_status` field which can be set to 200/201/204, see [here](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html). Localstack currently handles the `success_action_redirect` field [here](https://github.com/localstack/localstack/blob/master/localstack/services/s3/s3_listener.py#L518) and so we should look into handling the `success_action_status` field too.

The 201 from AWS responds with an XML document with some fields about the object that has just been created in AWS, see below.

```
<PostResponse>
    <Location>https://s3.amazonaws.com/link-to-the-file</Location>
    <Bucket>s3-bucket</Bucket>
    <Key>development/8614bd40-691b-4668-9241-3b342c6cf429/image.jpg</Key>
    <ETag>"32-bit-tag"</ETag>
</PostResponse>
```
bucket_name = normalize_bucket_name(bucket_name)
    cors = BUCKET_CORS.get(bucket_name)
    if not cors:
        return
    origin = request_headers.get('Origin', '')
    rules = cors['CORSConfiguration']['CORSRule']
    if not isinstance(rules, list):
        rules = [rules]
    for rule in rules:
        
        allowed_methods = rule.get('AllowedMethod', [])
        if request_method in allowed_methods:
            allowed_origins = rule.get('AllowedOrigin', [])
            for allowed in allowed_origins:
                if origin in allowed or re.match(allowed.replace('*', '.*'), origin):
                    response.headers['Access-Control-Allow-Origin'] = origin
                    if 'ExposeHeader' in rule:
                        expose_headers = rule['ExposeHeader']
                        response.headers['Access-Control-Expose-Headers'] = \
                            ','.join(expose_headers) if isinstance(expose_headers, list) else expose_headers
                    break
def append_last_modified_headers(response, content=None):