Commit graph

55 commits

Author SHA1 Message Date
Giovanni Barillari
ef347eb9e5
Fix PyPy builds (#597) 2025-06-08 15:31:50 +02:00
Giovanni Barillari
6959ee0d11
Add support for static files serving (#566) 2025-05-07 20:26:20 +02:00
Giovanni Barillari
e804c9edf7
Add client disconnection handling in ASGI and RSGI (#524)
* Handle client disconnection in ASGI

* Add `RSGIHTTPProtocol.client_disconnect`
2025-03-18 19:58:07 +01:00
Giovanni Barillari
74020ed9d2
Skip embed test on CI 2025-03-18 19:44:14 +01:00
Giovanni Barillari
9c1fac179c
Skip embed test on free-threaded 2025-03-02 23:16:20 +01:00
Giovanni Barillari
18afd6ec86
Add server.embed module 2025-03-02 23:07:01 +01:00
Giovanni Barillari
e9518354bb
Bump version to 2.0 (#507)
* Add back custom allocators

* Rename runtime params

* Stop producing PGO builds
2025-02-25 20:27:28 +01:00
Giovanni Barillari
cde2400fa3
PyO3 freelist is unsound with GIL disabled 2025-02-10 22:46:08 +01:00
Giovanni Barillari
f3f556e4cf
Avoid rust task-impl on Python >= 3.12 2025-02-09 00:30:35 +01:00
Giovanni Barillari
ec4b8e0ae1
Add free-threaded Python support (#494) 2025-02-02 21:23:54 +01:00
Giovanni Barillari
38fbe8c498
Make asyncio default task impl (#500) 2025-01-30 00:39:25 +01:00
Ritesh Sinha
4a461dc999
Fix handling invalid utf8 characters in http paths (#492)
* Possible fix for handling invalid http paths

* Try to use utf8_lossy_decoding and add dev dependencies

* Attempt to fix the tests

* Review tests

* Apply utf8 lossy patch for path also to RSGI

---------

Co-authored-by: Giovanni Barillari <giovanni.barillari@sentry.io>
2025-01-30 00:26:40 +01:00
Giovanni Barillari
9aff0caaed
Fix asyncio timeouts support in rust task impl (#476) 2024-12-28 17:38:19 +01:00
Giovanni Barillari
5cd82992e1
Bump dependencies (#453) 2024-12-01 19:48:34 +01:00
Giovanni Barillari
0741845ea1
Use custom asyncio Task impl, drop --loop-opt (#452) 2024-12-01 17:55:13 +01:00
Giovanni Barillari
033d9e5ffc
Add support for encrypted SSL keys (#386) 2024-08-31 19:07:48 +02:00
Giovanni Barillari
1c118e15f4
Chain request headers in WSGI protocol (#296) 2024-05-21 20:03:54 +02:00
Giovanni Barillari
ee4fdcc20d
Review tests server ctxmanager 2024-04-01 23:46:32 +02:00
Giovanni Barillari
327573f95e
Add RSGIHeaders.get_all (#247) 2024-03-18 23:36:21 +01:00
Giovanni Barillari
bf79551e1c
Add support for websockets subprotocols (#246) 2024-03-18 23:19:59 +01:00
Giovanni Barillari
3e85e93472
Add HTTP/2 authority access on protocols scopes (#189) 2024-01-25 17:18:11 +01:00
Giovanni Barillari
8e4f699d07 Enhance cmd spawn reliability in tests 2024-01-19 15:46:57 +01:00
Giovanni Barillari
da6be3024d
Add support for ASGI pathsend (#171) 2024-01-10 16:13:19 +01:00
Giovanni Barillari
7006280e96
Add support for ASGI lifespan state (#168) 2024-01-10 15:02:38 +01:00
Giovanni Barillari
fa9d32ffc4 Review PGO builds in workflows 2023-11-15 13:49:24 +01:00
Giovanni Barillari
36c1ee6542 Add PGO wheels build 2023-11-10 17:28:16 +01:00
Giovanni Barillari
c95fd0cba7
Align codestyle (#124)
* Add lint and format tools and config

* Format Python code

* Format Rust code

* Add lint CI workflow
2023-09-25 18:00:09 +02:00
Matthias Kestenholz
e66cf4ec9f
Fix a few deprecation warnings in the test suite (#117)
* Avoid the asyncio mode deprecation warning

* Use content= instead of data= with httpx.post, the former is deprecated
2023-09-03 14:02:25 +02:00
Giovanni Barillari
13ea09e92c
Add request body iterators in ASGI and RSGI protocols (#115)
* Add request body iteration in ASGI protocol

* Update ASGI body tests

* Add request body iteration in RSGI protocol

* Minor ASGI IO refactor

* Update tests
2023-08-28 14:54:48 +02:00
Giovanni Barillari
548b8fc35a
add RSGI response stream (#90)
* add RSGI response stream (#26)

* add RSGI stream test (#26)

* update RSGI spec
2023-06-15 19:20:41 +02:00
Giovanni Barillari
233721f9a5
add WSGI response body iteration (#81) 2023-06-15 16:50:55 +02:00
Giovanni Barillari
76c8d92847 Skip websockets messages tests on windows 2023-06-15 16:43:17 +02:00
Giovanni Barillari
2b985a7d29 Review websockets protocols close flow 2023-02-15 14:46:37 +01:00
Giovanni Barillari
e9dc835bab Fix wsgi.input out of spec (close #24) 2023-01-12 21:13:31 +01:00
Giovanni Barillari
00890e5e60 Fix WSGI protocol environ build 2023-01-05 19:00:27 +01:00
Mārtiņš Šulcs
bbb3f3214e
Fix content type and length in WSGI environ (#22)
* Add content_length to WSGI environ

* Review WSGI content-type implementation

Co-authored-by: Giovanni Barillari <g@baro.dev>
2023-01-05 18:10:11 +01:00
Giovanni Barillari
0055a80f73 Avoid usage of empty_future when possible 2022-12-24 16:58:12 +01:00
Giovanni Barillari
653f93a5e7 Add WSGI protocol support 2022-12-21 17:50:43 +01:00
Giovanni Barillari
bc54463884 Fix ASGI websocket.send event parsing (#19) 2022-12-05 11:27:42 +01:00
Giovanni Barillari
e1d53cf4a7 Fix ASGI headers type (#16) 2022-12-01 15:51:13 +01:00
Giovanni Barillari
db9d50e852 Avoid concurrency locks in websocket protocols 2022-11-09 00:49:27 +01:00
Giovanni Barillari
6e0de0a611 Simplify protocols interfaces 2022-10-31 17:43:40 +01:00
Giovanni Barillari
c4e6bfd477 Improve errors handling 2022-10-24 18:44:50 +02:00
Giovanni Barillari
ce82813f0c Update tests 2022-10-18 16:37:15 +02:00
Giovanni Barillari
7cf43e009c Use List[Tuple[str, str]] for RSGI headers output 2022-10-18 16:36:07 +02:00
Giovanni Barillari
d94e86dd60
enhance HTTPS implementation (#12) 2022-10-01 16:53:28 +02:00
Giovanni Barillari
ed313001b5 add HTTPS tests (#9) 2022-09-26 23:42:17 +02:00
Giovanni Barillari
ef7d1aed67 review ws rsgi test 2022-07-27 00:10:57 +02:00
Giovanni Barillari
a2632da592 review websocket scopes, add relevant tests 2022-07-26 23:22:43 +02:00
Giovanni Barillari
2bdd18e517 refactor package structure and typing 2022-07-21 18:24:13 +02:00