Skip to content

Commit dbf5be3

Browse files
GabDugintgr
andauthored
Fix MiddlewareMixin.__call__() return type (#1595)
* fix: #1594 MiddlewareMixin.__call__ -- Return type incompatible with supertype Co-authored-by: Marti Raudsepp <marti@juffo.org>
1 parent 011b641 commit dbf5be3

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

django-stubs/utils/deprecation.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,5 @@ class MiddlewareMixin:
4242

4343
get_response: _GetResponseCallable | _AsyncGetResponseCallable
4444
def __init__(self, get_response: _GetResponseCallable | _AsyncGetResponseCallable) -> None: ...
45-
def __call__(self, request: HttpRequest) -> HttpResponseBase: ...
45+
def __call__(self, request: HttpRequest) -> HttpResponseBase | Awaitable[HttpResponseBase]: ...
4646
async def __acall__(self, request: HttpRequest) -> HttpResponseBase: ...
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
- case: basic_middleware_mixin_test
2+
main: |
3+
from typing import Union
4+
5+
from django.utils.deprecation import MiddlewareMixin
6+
from django.http import HttpRequest, HttpResponseBase
7+
from collections.abc import Awaitable
8+
9+
class MyMiddleware(MiddlewareMixin):
10+
def __call__(
11+
self, request: HttpRequest
12+
) -> Union[HttpResponseBase, Awaitable[HttpResponseBase]]:
13+
return self.get_response(request)

0 commit comments

Comments
 (0)