asgi-tools 1.3.2__cp313-cp313-macosx_10_13_universal2.whl → 1.3.3__cp313-cp313-macosx_10_13_universal2.whl

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.
Binary file
asgi_tools/middleware.py CHANGED
@@ -403,7 +403,7 @@ class StaticFilesMiddleware(BaseMiddleware):
403
403
  filename = path[len(url_prefix) :].strip("/")
404
404
  for folder in self.folders:
405
405
  filepath = folder.joinpath(filename).resolve()
406
- if folder != filepath.parent:
406
+ if not filepath.is_file() or not filepath.is_relative_to(folder):
407
407
  continue
408
408
  with suppress(ASGIError):
409
409
  response = ResponseFile(filepath, headers_only=scope["method"] == "HEAD")
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asgi-tools
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: ASGI Toolkit to build web applications
5
5
  Author-email: Kirill Klenov <horneds@gmail.com>
6
6
  License: MIT License
@@ -33,7 +33,7 @@ Requires-Dist: async-timeout; python_version < "3.11"
33
33
  Provides-Extra: tests
34
34
  Requires-Dist: aiofile; extra == "tests"
35
35
  Requires-Dist: pytest; extra == "tests"
36
- Requires-Dist: pytest-aio[curio,trio]>=1.3.2; extra == "tests"
36
+ Requires-Dist: pytest-aio[curio,trio]>=1.3.3; extra == "tests"
37
37
  Requires-Dist: pytest-benchmark; extra == "tests"
38
38
  Requires-Dist: PyYAML; extra == "tests"
39
39
  Requires-Dist: ruff; extra == "tests"
@@ -1,8 +1,3 @@
1
- asgi_tools-1.3.2.dist-info/RECORD,,
2
- asgi_tools-1.3.2.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
3
- asgi_tools-1.3.2.dist-info/top_level.txt,sha256=-6i6ebKuJ0cSaXJ3KWPmJLKUbmBE2UsuA2b7BcZMJSk,11
4
- asgi_tools-1.3.2.dist-info/METADATA,sha256=7NwnIzvg_zHcmhcrf5h1fMwPtQrlZMZg2lAdX82JBEM,7139
5
- asgi_tools-1.3.2.dist-info/licenses/LICENSE,sha256=ytogAgYcPT6gWj8aRc-cZwhSq9Y3wOzG-4KteKCyQOw,1070
6
1
  asgi_tools/multipart.py,sha256=8RkJm9JIjyjR7z2OIhYg8fgLKq21HBWCMEOwbhx-3GA,21707
7
2
  asgi_tools/multipart.pyx,sha256=pq-DzmAaRhS0yMJIFPNI-GP7OjJUt4k3Y8vMbXJOpKk,21929
8
3
  asgi_tools/forms.c,sha256=v7t7ia5JTU68Eg1weG353v2IKfjQf_jTKUBSDmg8pgQ,826881
@@ -12,12 +7,12 @@ asgi_tools/request.py,sha256=s-CqT9JI-aPZz46YtKyvSDR7CfLxEhPrIuH9OG6npzk,10802
12
7
  asgi_tools/__init__.py,sha256=tBnlggb3FJPK8tDrnpC580OfbQ0QpuKFRdyfxmIeu8w,1428
13
8
  asgi_tools/response.py,sha256=-oePnVs5_lAjZWBgcVbdnhuStHMJoqnaqYS1Dqw3rFU,18494
14
9
  asgi_tools/types.py,sha256=QWmrnhqc_jEUaXUcMm5iMpxpd6vrTcCnlq4O9moKANg,926
15
- asgi_tools/forms.cpython-313-darwin.so,sha256=OzpHkMFdN-efTCQeC_Ioov155exgXfPwG3gbJC3dtq0,368704
10
+ asgi_tools/forms.cpython-313-darwin.so,sha256=slYP7Grj1yMshPrhXEObqwYZMJH5Y1LT7aNONXlQS4I,368704
16
11
  asgi_tools/forms.py,sha256=ers1A52YEAO1TBYWJP73K6q6jArNU7QbV0LjTlpKdeM,5059
17
12
  asgi_tools/view.py,sha256=DO0Lr8euP98kMicDwmZLcbMpJ-Hzbhl3vYFYqAXpisw,1925
18
13
  asgi_tools/utils.py,sha256=6qNwZbUsKatg75Gi1ltRsAeJhBaf1gwJkuR0LemitRw,2813
19
14
  asgi_tools/logs.py,sha256=FaXJF5UYClU-JdqLL7VANxQ8O-eYAEemt0Zc_GaEC60,148
20
- asgi_tools/multipart.cpython-313-darwin.so,sha256=RZClDIqsM5kwXP9iIiIJnZMfiBIcJIQ4GR_LXSip01U,310256
15
+ asgi_tools/multipart.cpython-313-darwin.so,sha256=6CW7eqtoydC-jgN6NdkFN1dEnkWGZ3wtCAqFZGOhNBk,310256
21
16
  asgi_tools/app.py,sha256=OEkoRszSRJ9bwWQ3SKWm3Pv-R0B8uKcP9ciYsDMyCGg,10790
22
17
  asgi_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
18
  asgi_tools/errors.py,sha256=TTAtJL5w2EVm9dVNK2pqNBRWM1lGJXg7HnJTibjgkes,550
@@ -26,4 +21,9 @@ asgi_tools/forms.pyx,sha256=ol1iEXDwS--9vNIoxFFvcTRvzUF14gQC3SDWW9K5-k8,5340
26
21
  asgi_tools/router.py,sha256=1MCF5QLfYPWZH10AuXMRN0rTMTyQWciDSh3owgsFhk4,440
27
22
  asgi_tools/_compat.py,sha256=3BTsysYhxa0itJzCWnzpnE-HuYGs7vXzZRgQRei0IW4,7483
28
23
  asgi_tools/tests.py,sha256=elUGlBE8qklBzKAov1x1i0eVHfkFLzj5Oifd6_JjHv4,12944
29
- asgi_tools/middleware.py,sha256=hkAdedGiWNTZJ2_AULzI9trn_qHMoN3QxHOQ7tvegF0,15158
24
+ asgi_tools/middleware.py,sha256=51dneaxFDl1tjrkhITZgqf-F6uuLAfsIntbGhk04tuc,15194
25
+ asgi_tools-1.3.3.dist-info/RECORD,,
26
+ asgi_tools-1.3.3.dist-info/WHEEL,sha256=YOKbiIEZep2WTRrpKV0dvEfsSeIOVH2NqduVxoKQt6I,142
27
+ asgi_tools-1.3.3.dist-info/top_level.txt,sha256=-6i6ebKuJ0cSaXJ3KWPmJLKUbmBE2UsuA2b7BcZMJSk,11
28
+ asgi_tools-1.3.3.dist-info/METADATA,sha256=G1TcMWGOIY4uOYtSxmh-d51t9ueXzess14ekaf-fmUw,7139
29
+ asgi_tools-1.3.3.dist-info/licenses/LICENSE,sha256=ytogAgYcPT6gWj8aRc-cZwhSq9Y3wOzG-4KteKCyQOw,1070