### Is there an existing issue for this?

- [X] I have searched the existing issues and read the documentation

### Question

Problem when following chalice tutorial with chalice-local and localstack:
https://aws.github.io/chalice/quickstart.html

```
DEBUG=1 localstack start

chalice-local new-project hello
cd hello/
chalice-local deploy

/home/raul/git_repos/provider-manager/venv/lib/python3.9/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
Creating deployment package.
Creating IAM role: hello-dev
Creating lambda function: hello-dev
Creating Rest API
Resources deployed:
  - Lambda ARN: arn:aws:lambda:us-east-1:000000000000:function:hello-dev
  - Rest API URL: https://4yr9k2ce77.execute-api.us-east-1.amazonaws.com/api/


(venv) raul:~/.../provider-manager/hello (master) $ http http://localhost:4566/restapis/4yr9k2ce77/api/_user_request_/
HTTP/1.1 500 
Access-Control-Allow-Headers: authorization,cache-control,content-length,content-md5,content-type,etag,location,x-amz-acl,x-amz-content-sha256,x-amz-date,x-amz-request-id,x-amz-security-token,x-amz-tagging,x-amz-target,x-amz-user-agent,x-amz-version-id,x-amzn-requestid,x-localstack-target,amz-sdk-invocation-id,amz-sdk-request
Access-Control-Allow-Methods: HEAD,GET,PUT,POST,DELETE,OPTIONS,PATCH
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: etag,x-amz-version-id
Connection: close
Content-Length: 462
Content-Type: text/html; charset=utf-8
date: Fri, 06 May 2022 15:47:55 GMT
server: hypercorn-h11

{
    "errorMessage": "'stageVariables'",
    "errorType": "KeyError",
    "stackTrace": [
        "  File \"/var/task/chalice/app.py\", line 1238, in __call__\n    self.current_request = handler.create_request_object(event, context)\n",
        "  File \"/var/task/chalice/app.py\", line 1660, in create_request_object\n    self.current_request = Request(event, context)\n",
        "  File \"/var/task/chalice/app.py\", line 406, in __init__\n    self.stage_vars = event_dict['stageVariables']\n"
    ]
}

```



```
(venv) raul:~/.../provider-manager/hello (master) $ chalice --version
chalice 1.27.0, python 3.9.12, linux 5.15.0-27-generic
(venv) raul:~/.../provider-manager/hello (master) $ localstack --version
0.14.2.8
(venv) raul:~/.../provider-manager/hello (master) $ 
```



### Anything else?

_No response_
region = LambdaRegion.get()
    for i, m in enumerate(region.event_source_mappings):
        if uuid_value == m["UUID"]:
            return region.event_source_mappings.pop(i)
    return {}
@synchronized(lock=EXEC_MUTEX)
def use_docker():
    global DO_USE_DOCKER
    if DO_USE_DOCKER is None:
        DO_USE_DOCKER = False
        if "docker" in get_executor_mode():
            has_docker = DOCKER_CLIENT.has_docker()
            if not has_docker:
                LOG.warning(
                    (
                        "Lambda executor configured as LAMBDA_EXECUTOR=%s but Docker "
                        "is not accessible. Please make sure to mount the Docker socket "
                        "/var/run/docker.sock into the container."
                    ),
                    get_executor_mode(),
                )
            DO_USE_DOCKER = has_docker
    return DO_USE_DOCKER
def fix_proxy_path_params(path_params):
    proxy_path_param_value = path_params.get("proxy+")
    if not proxy_path_param_value:
        return
    del path_params["proxy+"]
    path_params["proxy"] = proxy_path_param_value
def message_attributes_to_lower(message_attrs):