uvicorn 0.30.3__tar.gz → 0.30.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. {uvicorn-0.30.3 → uvicorn-0.30.4}/PKG-INFO +2 -2
  2. {uvicorn-0.30.3 → uvicorn-0.30.4}/pyproject.toml +4 -1
  3. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/__init__.py +1 -1
  4. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/http/h11_impl.py +2 -0
  5. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/multiprocess.py +1 -1
  6. {uvicorn-0.30.3 → uvicorn-0.30.4}/.gitignore +0 -0
  7. {uvicorn-0.30.3 → uvicorn-0.30.4}/LICENSE.md +0 -0
  8. {uvicorn-0.30.3 → uvicorn-0.30.4}/README.md +0 -0
  9. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/__main__.py +0 -0
  10. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/_subprocess.py +0 -0
  11. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/_types.py +0 -0
  12. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/config.py +0 -0
  13. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/importer.py +0 -0
  14. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/lifespan/__init__.py +0 -0
  15. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/lifespan/off.py +0 -0
  16. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/lifespan/on.py +0 -0
  17. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/logging.py +0 -0
  18. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/loops/__init__.py +0 -0
  19. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/loops/asyncio.py +0 -0
  20. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/loops/auto.py +0 -0
  21. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/loops/uvloop.py +0 -0
  22. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/main.py +0 -0
  23. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/middleware/__init__.py +0 -0
  24. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/middleware/asgi2.py +0 -0
  25. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/middleware/message_logger.py +0 -0
  26. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/middleware/proxy_headers.py +0 -0
  27. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/middleware/wsgi.py +0 -0
  28. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/__init__.py +0 -0
  29. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/http/__init__.py +0 -0
  30. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/http/auto.py +0 -0
  31. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/http/flow_control.py +0 -0
  32. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/http/httptools_impl.py +0 -0
  33. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/utils.py +0 -0
  34. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/websockets/__init__.py +0 -0
  35. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/websockets/auto.py +0 -0
  36. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/websockets/websockets_impl.py +0 -0
  37. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/protocols/websockets/wsproto_impl.py +0 -0
  38. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/py.typed +0 -0
  39. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/server.py +0 -0
  40. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/__init__.py +0 -0
  41. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/basereload.py +0 -0
  42. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/statreload.py +0 -0
  43. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/watchfilesreload.py +0 -0
  44. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/supervisors/watchgodreload.py +0 -0
  45. {uvicorn-0.30.3 → uvicorn-0.30.4}/uvicorn/workers.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: uvicorn
3
- Version: 0.30.3
3
+ Version: 0.30.4
4
4
  Summary: The lightning-fast ASGI server.
5
5
  Project-URL: Changelog, https://github.com/encode/uvicorn/blob/master/CHANGELOG.md
6
6
  Project-URL: Funding, https://github.com/sponsors/encode
7
7
  Project-URL: Homepage, https://www.uvicorn.org/
8
8
  Project-URL: Source, https://github.com/encode/uvicorn
9
- Author-email: Tom Christie <tom@tomchristie.com>
9
+ Author-email: Tom Christie <tom@tomchristie.com>, Marcelo Trylesinski <marcelotryle@gmail.com>
10
10
  License-Expression: BSD-3-Clause
11
11
  License-File: LICENSE.md
12
12
  Classifier: Development Status :: 4 - Beta
@@ -9,7 +9,10 @@ description = "The lightning-fast ASGI server."
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
11
11
  requires-python = ">=3.8"
12
- authors = [{ name = "Tom Christie", email = "tom@tomchristie.com" }]
12
+ authors = [
13
+ { name = "Tom Christie", email = "tom@tomchristie.com" },
14
+ { name = "Marcelo Trylesinski", email = "marcelotryle@gmail.com" }
15
+ ]
13
16
  classifiers = [
14
17
  "Development Status :: 4 - Beta",
15
18
  "Environment :: Web Environment",
@@ -1,5 +1,5 @@
1
1
  from uvicorn.config import Config
2
2
  from uvicorn.main import Server, main, run
3
3
 
4
- __version__ = "0.30.3"
4
+ __version__ = "0.30.4"
5
5
  __all__ = ["main", "run", "Config", "Server"]
@@ -259,6 +259,8 @@ class H11Protocol(asyncio.Protocol):
259
259
  self.transport.resume_reading()
260
260
  self.conn.start_next_cycle()
261
261
  continue
262
+ if self.conn.their_state == h11.MUST_CLOSE:
263
+ break
262
264
  self.cycle.more_body = False
263
265
  self.cycle.message_event.set()
264
266
 
@@ -64,7 +64,7 @@ class Process:
64
64
 
65
65
  def is_alive(self, timeout: float = 5) -> bool:
66
66
  if not self.process.is_alive():
67
- return False
67
+ return False # pragma: full coverage
68
68
 
69
69
  return self.ping(timeout)
70
70
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes