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>
```
""" Return object key and redirect URL if they can be found.
        Data is given as multipart form submission bytes, and redirect is found
        in the success_action_redirect field according to Amazon S3
        documentation for Post uploads:
        http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html
    """
    _, params = cgi.parse_header(headers.get('Content-Type', ''))
    key, redirect_url = None, None
    if 'boundary' not in params:
        return key, redirect_url
    boundary = params['boundary'].encode('ascii')
    data_bytes = to_bytes(data)
    for (disposition, part) in _iter_multipart_parts(data_bytes, boundary):
        if disposition.get('name') == 'key':
            _, value = part.split(b'\r\n\r\n', 1)
            key = value.rstrip(b'\r\n--').decode('utf8')
    if key:
        for (disposition, part) in _iter_multipart_parts(data_bytes, boundary):
            if disposition.get('name') == 'success_action_redirect':
                _, value = part.split(b'\r\n\r\n', 1)
                redirect_url = value.rstrip(b'\r\n--').decode('utf8')
    return key, redirect_url