Skip to content

Commit 586381b

Browse files
authored
Improve django.middleware stubs (#2202)
1 parent 69c0a6c commit 586381b

File tree

3 files changed

+8
-12
lines changed

3 files changed

+8
-12
lines changed

django-stubs/middleware/cache.pyi

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
from collections.abc import Callable
21
from typing import Any
32

43
from django.core.cache import BaseCache
54
from django.http.request import HttpRequest
65
from django.http.response import HttpResponse, HttpResponseBase
7-
from django.utils.deprecation import MiddlewareMixin
6+
from django.utils.deprecation import MiddlewareMixin, _AsyncGetResponseCallable, _GetResponseCallable
87

98
class UpdateCacheMiddleware(MiddlewareMixin):
109
cache_timeout: float
1110
key_prefix: str
1211
cache_alias: str
13-
cache: BaseCache
12+
@property
13+
def cache(self) -> BaseCache: ...
1414
def process_response(self, request: HttpRequest, response: HttpResponseBase | str) -> HttpResponseBase | str: ...
1515

1616
class FetchFromCacheMiddleware(MiddlewareMixin):
1717
key_prefix: str
1818
cache_alias: str
19-
cache: BaseCache
19+
@property
20+
def cache(self) -> BaseCache: ...
2021
def process_request(self, request: HttpRequest) -> HttpResponse | None: ...
2122

2223
class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
2324
key_prefix: str
2425
cache_alias: str
2526
cache_timeout: float
26-
cache: BaseCache
2727
def __init__(
2828
self,
29-
get_response: Callable = ...,
29+
get_response: _GetResponseCallable | _AsyncGetResponseCallable,
3030
cache_timeout: float | None = ...,
3131
page_timeout: float | None = ...,
3232
**kwargs: Any,

django-stubs/middleware/gzip.pyi

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any
1+
from typing import Any, ClassVar
22

33
from django.http.request import HttpRequest
44
from django.http.response import HttpResponseBase
@@ -7,4 +7,5 @@ from django.utils.deprecation import MiddlewareMixin
77
re_accepts_gzip: Any
88

99
class GZipMiddleware(MiddlewareMixin):
10+
max_random_bytes: ClassVar[int]
1011
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...

scripts/stubtest/allowlist_todo.txt

-5
Original file line numberDiff line numberDiff line change
@@ -1351,11 +1351,6 @@ django.http.request.HttpRequest.readlines
13511351
django.http.request.UploadHandlerList
13521352
django.http.request.parse_accept_header
13531353
django.http.response.StreamingHttpResponse.content
1354-
django.middleware.cache.CacheMiddleware.__init__
1355-
django.middleware.cache.CacheMiddleware.cache
1356-
django.middleware.cache.FetchFromCacheMiddleware.cache
1357-
django.middleware.cache.UpdateCacheMiddleware.cache
1358-
django.middleware.gzip.GZipMiddleware.max_random_bytes
13591354
django.template.EngineHandler.__init__
13601355
django.template.Library.filter_function
13611356
django.template.Library.simple_tag

0 commit comments

Comments
 (0)