Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d4189100a | ||
|
|
27fc03f100 | ||
|
|
f70c524fb0 | ||
|
|
79897e7980 | ||
|
|
7edc7c3a38 |
@@ -1,5 +1,10 @@
|
||||
# Microdot change log
|
||||
|
||||
**Release 2.3.5** - 2025-10-18
|
||||
|
||||
- Always encode ASGI response bodies to bytes ([commit](https://github.com/miguelgrinberg/microdot/commit/f70c524fb0bdc8c5fef2223c82f5e339445bc5fa))
|
||||
- Remove unused instance variable in `Microdot` class ([commit](https://github.com/miguelgrinberg/microdot/commit/27fc03f10047e4483f8d19559025d728b14a27c8))
|
||||
|
||||
**Release 2.3.4** - 2025-10-16
|
||||
|
||||
- Prevent reading past EOF in multipart parser [#309](https://github.com/miguelgrinberg/microdot/issues/309) ([commit](https://github.com/miguelgrinberg/microdot/commit/6045390cef8735cbbc9f5f7eee7a3912f00e284d))
|
||||
|
||||
@@ -39,15 +39,15 @@ h11==0.16.0
|
||||
# hypercorn
|
||||
# uvicorn
|
||||
# wsproto
|
||||
h2==4.1.0
|
||||
h2==4.3.0
|
||||
# via hypercorn
|
||||
hpack==4.0.0
|
||||
hpack==4.1.0
|
||||
# via h2
|
||||
humanize==4.9.0
|
||||
# via -r requirements.in
|
||||
hypercorn==0.15.0
|
||||
# via quart
|
||||
hyperframe==6.0.1
|
||||
hyperframe==6.1.0
|
||||
# via h2
|
||||
idna==3.7
|
||||
# via
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "microdot"
|
||||
version = "2.3.4"
|
||||
version = "2.3.5"
|
||||
authors = [
|
||||
{ name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" },
|
||||
]
|
||||
|
||||
@@ -130,6 +130,8 @@ class Microdot(BaseMicrodot):
|
||||
try:
|
||||
while not cancelled: # pragma: no branch
|
||||
res_body = await body_iter.__anext__()
|
||||
if isinstance(res_body, str):
|
||||
res_body = res_body.encode()
|
||||
await send({'type': 'http.response.body',
|
||||
'body': res_body,
|
||||
'more_body': True})
|
||||
|
||||
@@ -944,7 +944,6 @@ class Microdot:
|
||||
self.after_request_handlers = []
|
||||
self.after_error_request_handlers = []
|
||||
self.error_handlers = {}
|
||||
self.shutdown_requested = False
|
||||
self.options_handler = self.default_options_handler
|
||||
self.debug = False
|
||||
self.server = None
|
||||
|
||||
@@ -35,7 +35,7 @@ class TestASGI(unittest.TestCase):
|
||||
class R:
|
||||
def __init__(self):
|
||||
self.i = 0
|
||||
self.body = [b're', b'sp', b'on', b'se', b'']
|
||||
self.body = [b're', b'sp', b'on', 'se', b'']
|
||||
|
||||
async def read(self, n):
|
||||
data = self.body[self.i]
|
||||
|
||||
Reference in New Issue
Block a user