Skip to content

Commit df8aded

Browse files
authored
5.0: Update django.core.handlers (#2066)
* 5.0: Update `django.core.handlers` * 5.0: Update unused argument type
1 parent 1dccd24 commit df8aded

File tree

5 files changed

+20
-21
lines changed

5 files changed

+20
-21
lines changed

django-stubs/core/handlers/asgi.pyi

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from collections.abc import Awaitable, Callable, Iterator, Mapping, Sequence
2+
from logging import Logger
23
from typing import IO, Any, TypeVar
34

45
from django.core.handlers import base
@@ -13,6 +14,10 @@ _ReceiveCallback: TypeAlias = Callable[[], Awaitable[Mapping[str, Any]]]
1314

1415
_SendCallback: TypeAlias = Callable[[Mapping[str, Any]], Awaitable[None]]
1516

17+
logger: Logger
18+
19+
def get_script_prefix(scope: Mapping[str, Any]) -> str: ...
20+
1621
class ASGIRequest(HttpRequest):
1722
body_receive_timeout: int
1823
scope: Mapping[str, Any]
@@ -42,6 +47,11 @@ class ASGIHandler(base.BaseHandler):
4247
receive: _ReceiveCallback,
4348
send: _SendCallback,
4449
) -> None: ...
50+
async def handle(
51+
self, scope: dict[str, Any], receive: _ReceiveCallback, send: _SendCallback
52+
) -> HttpResponseBase | None: ...
53+
async def listen_for_disconnect(self, receive: _ReceiveCallback) -> None: ...
54+
async def run_get_response(self, request: HttpRequest) -> HttpResponseBase: ...
4555
async def read_body(self, receive: _ReceiveCallback) -> IO[bytes]: ...
4656
def create_request(
4757
self, scope: Mapping[str, Any], body_file: IO[bytes]
@@ -52,4 +62,3 @@ class ASGIHandler(base.BaseHandler):
5262
async def send_response(self, response: HttpResponseBase, send: _SendCallback) -> None: ...
5363
@classmethod
5464
def chunk_bytes(cls, data: Sequence[_T]) -> Iterator[tuple[Sequence[_T], bool]]: ...
55-
def get_script_prefix(self, scope: Mapping[str, Any]) -> str: ...

django-stubs/core/handlers/base.pyi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
from collections.abc import Awaitable, Callable
2+
from logging import Logger
23
from typing import Any
34

5+
import _typeshed
46
from django.http.request import HttpRequest
57
from django.http.response import HttpResponse, HttpResponseBase
68
from django.urls.resolvers import ResolverMatch
79

10+
logger: Logger
11+
812
class BaseHandler:
913
def load_middleware(self, is_async: bool = ...) -> None: ...
1014
def adapt_method_mode(
@@ -21,3 +25,5 @@ class BaseHandler:
2125
def check_response(self, response: HttpResponseBase, callback: Any, name: str | None = ...) -> None: ...
2226
def make_view_atomic(self, view: Callable[..., HttpResponseBase]) -> Callable[..., HttpResponseBase]: ...
2327
def process_exception_by_middleware(self, exception: Exception, request: HttpRequest) -> HttpResponse: ...
28+
29+
def reset_urlconf(sender: _typeshed.Unused, **kwargs: Any) -> None: ...

django-stubs/core/handlers/wsgi.pyi

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import sys
2-
from io import BytesIO
2+
from io import BytesIO, IOBase
33
from typing import Any
44

5-
from django.contrib.sessions.backends.base import SessionBase
65
from django.core.handlers import base
76
from django.http import HttpRequest
87
from django.http.response import HttpResponseBase
@@ -12,19 +11,14 @@ if sys.version_info >= (3, 11):
1211
else:
1312
from _typeshed.wsgi import StartResponse, WSGIEnvironment
1413

15-
class LimitedStream:
16-
stream: BytesIO
17-
remaining: int
18-
buffer: bytes
19-
buf_size: int
20-
def __init__(self, stream: BytesIO, limit: int, buf_size: int = ...) -> None: ...
14+
class LimitedStream(IOBase):
15+
limit: int
16+
def __init__(self, stream: BytesIO, limit: int) -> None: ...
2117
def read(self, size: int | None = ...) -> bytes: ...
2218
def readline(self, size: int | None = ...) -> bytes: ...
2319

2420
class WSGIRequest(HttpRequest):
2521
environ: WSGIEnvironment
26-
session: SessionBase
27-
encoding: Any
2822
def __init__(self, environ: WSGIEnvironment) -> None: ...
2923

3024
class WSGIHandler(base.BaseHandler):

scripts/stubtest/allowlist_todo.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -658,13 +658,7 @@ django.core.files.utils.FileProxyMixin.tell
658658
django.core.files.utils.FileProxyMixin.truncate
659659
django.core.files.utils.FileProxyMixin.write
660660
django.core.files.utils.FileProxyMixin.writelines
661-
django.core.handlers.asgi.ASGIHandler.handle
662661
django.core.handlers.asgi.ASGIRequest.FILES
663-
django.core.handlers.asgi.logger
664-
django.core.handlers.base.logger
665-
django.core.handlers.base.reset_urlconf
666-
django.core.handlers.wsgi.LimitedStream
667-
django.core.handlers.wsgi.LimitedStream.__init__
668662
django.core.handlers.wsgi.WSGIRequest.COOKIES
669663
django.core.handlers.wsgi.WSGIRequest.FILES
670664
django.core.handlers.wsgi.WSGIRequest.GET

scripts/stubtest/allowlist_todo_django50.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ django.contrib.sites.migrations.0001_initial
5757
django.contrib.sites.migrations.0002_alter_domain_unique
5858
django.contrib.staticfiles.checks.E005
5959
django.contrib.staticfiles.checks.check_storages
60-
django.core.handlers.asgi.ASGIHandler.get_script_prefix
61-
django.core.handlers.asgi.ASGIHandler.listen_for_disconnect
62-
django.core.handlers.asgi.ASGIHandler.run_get_response
63-
django.core.handlers.asgi.get_script_prefix
6460
django.core.serializers.base.PickleSerializer
6561
django.db.backends.base.features.BaseDatabaseFeatures.delete_can_self_reference_subquery
6662
django.db.backends.base.features.BaseDatabaseFeatures.insert_test_table_with_defaults

0 commit comments

Comments
 (0)