asgi-tools 1.3.2__cp310-cp310-macosx_11_0_arm64.whl → 1.3.3__cp310-cp310-macosx_11_0_arm64.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=11kMdE9gzbsaQG30fRcsAYxBLEVRsqJo098Y5iL60Xo,136
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
@@ -11,14 +6,14 @@ asgi_tools/constants.py,sha256=B7fJabLdpSE4COX0vAudyC32xV0dSpLgg0kob-FlCkE,128
11
6
  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
- asgi_tools/multipart.cpython-310-darwin.so,sha256=6ZfZBjQ1n6_MGt32P_mgaxfZVAYQ0SfvMPLD2PsJvGw,162336
9
+ asgi_tools/multipart.cpython-310-darwin.so,sha256=ym7Ytz6AErchqi30MCLzyPWbtKGt9ypkENK5FL-DSVM,162336
15
10
  asgi_tools/types.py,sha256=QWmrnhqc_jEUaXUcMm5iMpxpd6vrTcCnlq4O9moKANg,926
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
15
  asgi_tools/app.py,sha256=OEkoRszSRJ9bwWQ3SKWm3Pv-R0B8uKcP9ciYsDMyCGg,10790
21
- asgi_tools/forms.cpython-310-darwin.so,sha256=fd9LlxS3I-uaLpOJ7Z1-tIkNNRBIRtbcrSuKA9AOWuc,187416
16
+ asgi_tools/forms.cpython-310-darwin.so,sha256=rfpzYV8Odxg8iWE6BRQjWO5G6mP0_p03Eldn8D-dwZ0,187416
22
17
  asgi_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
18
  asgi_tools/errors.py,sha256=TTAtJL5w2EVm9dVNK2pqNBRWM1lGJXg7HnJTibjgkes,550
24
19
  asgi_tools/multipart.pxd,sha256=bPnRLYuBw51OX7v-SZTOgOpb4PxM1MtR5dGWVoymX3A,725
@@ -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=11kMdE9gzbsaQG30fRcsAYxBLEVRsqJo098Y5iL60Xo,136
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