* cancel upstream on client disconnect * add comments * add test * set timeout in constraints.py * Guard against missing 'type' key * update dependency to fix uvicorn bugs