From 5c9c088a2a13e888cdb93eb92d7af72058003397 Mon Sep 17 00:00:00 2001 From: euri10 <euri10@users.noreply.github.com> Date: Fri, 1 Feb 2019 11:14:23 +0100 Subject: [PATCH] Upgrade Starlette version (#17) Upgrade Starlette version --- Pipfile | 3 +- Pipfile.lock | 69 +++++++++++++++++++++++++--------------------- fastapi/routing.py | 6 ++-- pyproject.toml | 2 +- 4 files changed, 43 insertions(+), 37 deletions(-) diff --git a/Pipfile b/Pipfile index bab8f6a52..5857a08eb 100644 --- a/Pipfile +++ b/Pipfile @@ -20,9 +20,10 @@ autoflake = "*" email-validator = "*" ujson = "*" flake8 = "*" +python-multipart = "*" [packages] -starlette = "==0.9.10" +starlette = "==0.10.1" pydantic = "==0.18.2" [requires] diff --git a/Pipfile.lock b/Pipfile.lock index c5346ada3..26bf2ffe6 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "5a4b88e0267ea4a4eb29f28c32be89f6eecc822758dc9f6d5eab7bcfb2904597" + "sha256": "20483e725e92e679c4c21ea3ff0043d759c74102b181f16b67908f979f854d5c" }, "pipfile-spec": 6, "requires": { @@ -34,10 +34,10 @@ }, "starlette": { "hashes": [ - "sha256:d0f4b621d3aaf035e8cc3f97925a43dc175ccc00b2d6eb694a3a76368c32489e" + "sha256:7cc05c33d00db3b2ddfd7516a737544ed0a34c9dd0ced94076f29b581ce4f532" ], "index": "pypi", - "version": "==0.9.10" + "version": "==0.10.1" } }, "develop": { @@ -156,10 +156,10 @@ }, "decorator": { "hashes": [ - "sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82", - "sha256:c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c" + "sha256:33cd704aea07b4c28b3eb2c97d288a06918275dac0ecebdaf1bc8a48d98adb9e", + "sha256:cabb249f4710888a2fc0e13e9a16c343d932033718ff62e1e9bc93a9d3a9122b" ], - "version": "==4.3.0" + "version": "==4.3.2" }, "defusedxml": { "hashes": [ @@ -199,11 +199,11 @@ }, "flake8": { "hashes": [ - "sha256:6a35f5b8761f45c5513e3405f110a86bea57982c3b75b766ce7b65217abe1670", - "sha256:c01f8a3963b3571a8e6bd7a4063359aff90749e160778e03817cd9b71c9e07d2" + "sha256:09b9bb539920776da542e67a570a5df96ff933c9a08b62cfae920bcc789e4383", + "sha256:e0f8cd519cfc0072c0ee31add5def09d2b3ef6040b34dc426445c3af9b02163c" ], "index": "pypi", - "version": "==3.6.0" + "version": "==3.7.4" }, "flit": { "hashes": [ @@ -274,10 +274,10 @@ }, "jsonschema": { "hashes": [ - "sha256:3eae63135c4a2cd15ecfd1424494494be77bd8a27014c44c8c2343e61d908770", - "sha256:8ba4f6c03b9db02e51f4a21579b7b0364b7c174361998888fb5d18fab4ed73f1" + "sha256:683fe7ed58763ea0be572de5aad47cd3cc1297640916f9a8ccd222b287da7d2f", + "sha256:b42d7a292addb57370e6260bcbadb77e00a899fe6ec998c453f45893c41c658b" ], - "version": "==3.0.0b1" + "version": "==3.0.0b3" }, "jupyter": { "hashes": [ @@ -387,11 +387,11 @@ }, "mkdocs-material": { "hashes": [ - "sha256:524debb6ee8ee89cee08886f2a67c3c3875c0ee9579c598d7448cbd2607cd3b7", - "sha256:62ae84082fa9f077c86b7db63e7bedf392005041b451defc850f8d0887a11e91" + "sha256:4b4af83c704d2bab41be3a5228e800a5e1157003368fbf548d95073ce19e0f61", + "sha256:86c0042c803586985bf79c99962ebd4644c3f0ff095d5df541f09fa48f5b62cc" ], "index": "pypi", - "version": "==3.2.0" + "version": "==3.3.0" }, "more-itertools": { "hashes": [ @@ -445,10 +445,10 @@ }, "parso": { "hashes": [ - "sha256:35704a43a3c113cce4de228ddb39aab374b8004f4f2407d070b6a2ca784ce8a2", - "sha256:895c63e93b94ac1e1690f5fdd40b65f07c8171e3e53cbd7793b5b96c0e0a7f24" + "sha256:4b8f9ed80c3a4a3191aa3261505d868aa552dd25649cb13a7d73b6b7315edf2d", + "sha256:5a120be2e8863993b597f1c0437efca799e90e0793c98ae5d4e34ebd00140e31" ], - "version": "==0.3.1" + "version": "==0.3.2" }, "pexpect": { "hashes": [ @@ -480,11 +480,11 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:c1d6aff5252ab2ef391c2fe498ed8c088066f66bc64a8d5c095bbf795d9fec34", - "sha256:d4c47f79b635a0e70b84fdb97ebd9a274203706b1ee5ed44c10da62755cf3ec9", - "sha256:fd17048d8335c1e6d5ee403c3569953ba3eb8555d710bfc548faf0712666ea39" + "sha256:88002cc618cacfda8760c4539e76c3b3f148ecdb7035a3d422c7ecdc90c2a3ba", + "sha256:c6655a12e9b08edb8cf5aeab4815fd1e1bdea4ad73d3bbf269cf2e0c4eb75d5e", + "sha256:df5835fb8f417aa55e5cafadbaeb0cf630a1e824aad16989f9f0493e679ec010" ], - "version": "==2.0.7" + "version": "==2.0.8" }, "ptyprocess": { "hashes": [ @@ -503,17 +503,17 @@ }, "pycodestyle": { "hashes": [ - "sha256:cbc619d09254895b0d12c2c691e237b2e91e9b2ecf5e84c26b35400f93dcfb83", - "sha256:cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a" + "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", + "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c" ], - "version": "==2.4.0" + "version": "==2.5.0" }, "pyflakes": { "hashes": [ - "sha256:9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b356eff19126a49", - "sha256:f661252913bc1dbe7fcfcbf0af0db3f42ab65aabd1a6ca68fe5d466bace94dae" + "sha256:5e8c00e30c464c99e0b501dc160b13a14af7f27d4dffb529c556e30a159e231d", + "sha256:f277f9ca3e55de669fba45b7393a1449009cff5a37d1af10ebb76c52765269cd" ], - "version": "==2.0.0" + "version": "==2.1.0" }, "pygments": { "hashes": [ @@ -537,11 +537,11 @@ }, "pytest": { "hashes": [ - "sha256:41568ea7ecb4a68d7f63837cf65b92ce8d0105e43196ff2b26622995bb3dc4b2", - "sha256:c3c573a29d7c9547fb90217ece8a8843aa0c1328a797e200290dc3d0b4b823be" + "sha256:65aeaa77ae87c7fc95de56285282546cfa9c886dc8e5dc78313db1c25e21bc07", + "sha256:6ac6d467d9f053e95aaacd79f831dbecfe730f419c6c7022cb316b365cd9199d" ], "index": "pypi", - "version": "==4.1.1" + "version": "==4.2.0" }, "pytest-cov": { "hashes": [ @@ -558,6 +558,13 @@ ], "version": "==2.7.5" }, + "python-multipart": { + "hashes": [ + "sha256:f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43" + ], + "index": "pypi", + "version": "==0.0.5" + }, "pytoml": { "hashes": [ "sha256:ca2d0cb127c938b8b76a9a0d0f855cf930c1d50cc3a0af6d3595b566519a1013" diff --git a/fastapi/routing.py b/fastapi/routing.py index 0c9334ba5..2c8d262e0 100644 --- a/fastapi/routing.py +++ b/fastapi/routing.py @@ -18,7 +18,7 @@ from starlette.exceptions import HTTPException from starlette.formparsers import UploadFile from starlette.requests import Request from starlette.responses import JSONResponse, Response -from starlette.routing import get_name, request_response +from starlette.routing import compile_path, get_name, request_response from starlette.status import HTTP_422_UNPROCESSABLE_ENTITY @@ -149,9 +149,7 @@ class APIRoute(routing.Route): self.include_in_schema = include_in_schema self.content_type = content_type - self.path_regex, self.path_format, self.param_convertors = self.compile_path( - path - ) + self.path_regex, self.path_format, self.param_convertors = compile_path(path) assert inspect.isfunction(endpoint) or inspect.ismethod( endpoint ), f"An endpoint must be a function or method" diff --git a/pyproject.toml b/pyproject.toml index 5c16e6fa4..e788fbf53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ classifiers = [ "Topic :: Internet :: WWW/HTTP :: HTTP Servers", ] requires = [ - "starlette >=0.9.7,<0.9.11", + "starlette >=0.9.11,<=0.10.1", "pydantic >=0.17,<=0.18.2" ] description-file = "README.md"