cleanup middlewares

This commit is contained in:
Maxim Kurnikov
2018-12-21 23:07:58 +03:00
parent 6ba7444bc6
commit 783e427d64
19 changed files with 28 additions and 55 deletions

View File

@@ -1,8 +1,8 @@
# Stubs for django.conf.urls (Python 3.5) # Stubs for django.conf.urls (Python 3.5)
from types import ModuleType
from typing import Any, Callable, Dict, List, Optional, overload, Tuple, Union from typing import Any, Callable, Dict, List, Optional, overload, Tuple, Union
from django.http.response import HttpResponse from django.http.response import HttpResponse
from django.urls import URLResolver, URLPattern from django.urls import URLResolver, URLPattern
handler400 = ... # type: str handler400 = ... # type: str
@@ -10,16 +10,14 @@ handler403 = ... # type: str
handler404 = ... # type: str handler404 = ... # type: str
handler500 = ... # type: str handler500 = ... # type: str
URLConf = Union[str, ModuleType] IncludedURLConf = Tuple[List[URLResolver], Optional[str], Optional[str]]
def include(arg: Any, namespace: str = ..., app_name: str = ...) -> Tuple[URLConf, Optional[str], Optional[str]]: ... def include(arg: Any, namespace: str = ..., app_name: str = ...) -> IncludedURLConf: ...
@overload
def url(regex: str, view: Callable[..., HttpResponse], kwargs: Dict[str, Any] = ..., name: str = ...) -> URLPattern: ...
@overload
def url(regex: str, view: IncludedURLConf, kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ...
@overload @overload
def url( def url(
regex: str, view: Callable[..., HttpResponse], kwargs: Dict[str, Any] = ..., name: str = ... regex: str, view: List[Union[URLResolver, str]], kwargs: Dict[str, Any] = ..., name: str = ...
) -> URLPattern: ... # type: ignore # issue 253 of typing
@overload
def url(
regex: str, view: Tuple[URLConf, Optional[str], Optional[str]], kwargs: Dict[str, Any] = ..., name: str = ...
) -> URLResolver: ... ) -> URLResolver: ...
@overload
def url(regex: str, view: List[Union[URLConf, str]], kwargs: Dict[str, Any] = ..., name: str = ...) -> URLResolver: ...

View File

@@ -5,7 +5,6 @@ from django.http.response import HttpResponse
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class XViewMiddleware(MiddlewareMixin): class XViewMiddleware(MiddlewareMixin):
get_response: None
def process_view( def process_view(
self, request: WSGIRequest, view_func: Callable, view_args: Tuple, view_kwargs: Dict[Any, Any] self, request: WSGIRequest, view_func: Callable, view_args: Tuple, view_kwargs: Dict[Any, Any]
) -> Optional[HttpResponse]: ... ) -> Optional[HttpResponse]: ...

View File

@@ -1,4 +1,4 @@
from typing import Any, Optional, Union from typing import Union
from django.contrib.auth.models import AnonymousUser, User from django.contrib.auth.models import AnonymousUser, User
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
@@ -8,16 +8,13 @@ from django.utils.deprecation import MiddlewareMixin
def get_user(request: WSGIRequest) -> Union[AnonymousUser, User]: ... def get_user(request: WSGIRequest) -> Union[AnonymousUser, User]: ...
class AuthenticationMiddleware(MiddlewareMixin): class AuthenticationMiddleware(MiddlewareMixin):
get_response: Callable
def process_request(self, request: HttpRequest) -> None: ... def process_request(self, request: HttpRequest) -> None: ...
class RemoteUserMiddleware(MiddlewareMixin): class RemoteUserMiddleware(MiddlewareMixin):
get_response: Callable
header: str = ... header: str = ...
force_logout_if_no_header: bool = ... force_logout_if_no_header: bool = ...
def process_request(self, request: WSGIRequest) -> None: ... def process_request(self, request: WSGIRequest) -> None: ...
def clean_username(self, username: str, request: WSGIRequest) -> str: ... def clean_username(self, username: str, request: WSGIRequest) -> str: ...
class PersistentRemoteUserMiddleware(RemoteUserMiddleware): class PersistentRemoteUserMiddleware(RemoteUserMiddleware):
get_response: Callable
force_logout_if_no_header: bool = ... force_logout_if_no_header: bool = ...

View File

@@ -1,9 +1,6 @@
from typing import Any, Optional
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
from django.http.response import HttpResponse from django.http.response import HttpResponse
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class FlatpageFallbackMiddleware(MiddlewareMixin): class FlatpageFallbackMiddleware(MiddlewareMixin):
get_response: Callable
def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ...

View File

@@ -1,11 +1,8 @@
from typing import Any, Optional
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
from django.http.request import HttpRequest from django.http.request import HttpRequest
from django.http.response import HttpResponseBase from django.http.response import HttpResponseBase
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class MessageMiddleware(MiddlewareMixin): class MessageMiddleware(MiddlewareMixin):
get_response: Callable
def process_request(self, request: WSGIRequest) -> None: ... def process_request(self, request: WSGIRequest) -> None: ...
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...

View File

@@ -1,12 +1,10 @@
from typing import Any, Callable, Optional from typing import Any
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
from django.http.response import HttpResponse from django.http.response import HttpResponse
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class RedirectFallbackMiddleware(MiddlewareMixin): class RedirectFallbackMiddleware(MiddlewareMixin):
get_response: Callable
response_gone_class: Any = ... response_gone_class: Any = ...
response_redirect_class: Any = ... response_redirect_class: Any = ...
def __init__(self, get_response: Optional[Callable] = ...) -> None: ...
def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ...

View File

@@ -16,11 +16,11 @@ class SessionBase:
serializer: Any = ... serializer: Any = ...
def __init__(self, session_key: Optional[str] = ...) -> None: ... def __init__(self, session_key: Optional[str] = ...) -> None: ...
def __contains__(self, key: str) -> bool: ... def __contains__(self, key: str) -> bool: ...
def __getitem__(self, key: str) -> Union[Model, int, str]: ... def __getitem__(self, key: str) -> Any: ...
def __setitem__(self, key: str, value: Union[datetime, Model, int, str]) -> None: ... def __setitem__(self, key: str, value: Any) -> None: ...
def __delitem__(self, key: str) -> None: ... def __delitem__(self, key: str) -> None: ...
def get(self, key: str, default: Optional[str] = ...) -> Optional[Union[datetime, int, str]]: ... def get(self, key: str, default: Optional[str] = ...) -> Any: ...
def pop(self, key: str, default: Any = ...) -> Union[int, str]: ... def pop(self, key: str, default: Any = ...) -> Any: ...
def setdefault(self, key: str, value: str) -> str: ... def setdefault(self, key: str, value: str) -> str: ...
def set_test_cookie(self) -> None: ... def set_test_cookie(self) -> None: ...
def test_cookie_worked(self) -> bool: ... def test_cookie_worked(self) -> bool: ...

View File

@@ -2,11 +2,13 @@ from typing import Any, Dict, Optional
from django.contrib.sessions.backends.base import SessionBase from django.contrib.sessions.backends.base import SessionBase
from django.contrib.sessions.serializers import JSONSerializer
KEY_PREFIX: str KEY_PREFIX: str
class SessionStore(SessionBase): class SessionStore(SessionBase):
accessed: bool accessed: bool
serializer: Type[django.core.signing.JSONSerializer] serializer: JSONSerializer
cache_key_prefix: Any = ... cache_key_prefix: Any = ...
def __init__(self, session_key: Optional[str] = ...) -> None: ... def __init__(self, session_key: Optional[str] = ...) -> None: ...
@property @property

View File

@@ -2,5 +2,4 @@ from django.http.request import HttpRequest
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class CurrentSiteMiddleware(MiddlewareMixin): class CurrentSiteMiddleware(MiddlewareMixin):
get_response: None
def process_request(self, request: HttpRequest) -> None: ... def process_request(self, request: HttpRequest) -> None: ...

View File

@@ -1,4 +1,4 @@
from typing import Any, Callable, Optional, Union from typing import Any, Optional, Union
from django.http.request import HttpRequest from django.http.request import HttpRequest
from django.http.response import HttpResponse, HttpResponseBase from django.http.response import HttpResponse, HttpResponseBase
@@ -11,8 +11,6 @@ class UpdateCacheMiddleware(MiddlewareMixin):
key_prefix: str = ... key_prefix: str = ...
cache_alias: str = ... cache_alias: str = ...
cache: BaseCache = ... cache: BaseCache = ...
get_response: Optional[Callable] = ...
def __init__(self, get_response: Optional[Callable] = ...) -> None: ...
def process_response( def process_response(
self, request: HttpRequest, response: Union[HttpResponseBase, str] self, request: HttpRequest, response: Union[HttpResponseBase, str]
) -> Union[HttpResponseBase, str]: ... ) -> Union[HttpResponseBase, str]: ...
@@ -21,12 +19,9 @@ class FetchFromCacheMiddleware(MiddlewareMixin):
key_prefix: str = ... key_prefix: str = ...
cache_alias: str = ... cache_alias: str = ...
cache: BaseCache = ... cache: BaseCache = ...
get_response: Optional[Callable] = ...
def __init__(self, get_response: Optional[Callable] = ...) -> None: ...
def process_request(self, request: HttpRequest) -> Optional[HttpResponse]: ... def process_request(self, request: HttpRequest) -> Optional[HttpResponse]: ...
class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware): class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
get_response: None = ...
key_prefix: str = ... key_prefix: str = ...
cache_alias: str = ... cache_alias: str = ...
cache_timeout: float = ... cache_timeout: float = ...

View File

@@ -1,10 +1,7 @@
from typing import Any, Optional, Callable
from django.http.request import HttpRequest from django.http.request import HttpRequest
from django.http.response import HttpResponse from django.http.response import HttpResponse
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class XFrameOptionsMiddleware(MiddlewareMixin): class XFrameOptionsMiddleware(MiddlewareMixin):
get_response: Optional[Callable]
def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ... def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ...
def get_xframe_options_value(self, request: HttpRequest, response: HttpResponse) -> str: ... def get_xframe_options_value(self, request: HttpRequest, response: HttpResponse) -> str: ...

View File

@@ -6,7 +6,6 @@ from django.http.response import HttpResponseBase, HttpResponseNotFound, HttpRes
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class CommonMiddleware(MiddlewareMixin): class CommonMiddleware(MiddlewareMixin):
get_response: Optional[Callable]
response_redirect_class: Any = ... response_redirect_class: Any = ...
def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ... def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ...
def should_redirect_with_slash(self, request: WSGIRequest) -> bool: ... def should_redirect_with_slash(self, request: WSGIRequest) -> bool: ...
@@ -14,7 +13,6 @@ class CommonMiddleware(MiddlewareMixin):
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ... def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...
class BrokenLinkEmailsMiddleware(MiddlewareMixin): class BrokenLinkEmailsMiddleware(MiddlewareMixin):
get_response: None
def process_response(self, request: WSGIRequest, response: HttpResponseNotFound) -> HttpResponseNotFound: ... def process_response(self, request: WSGIRequest, response: HttpResponseNotFound) -> HttpResponseNotFound: ...
def is_internal_request(self, domain: str, referer: str) -> bool: ... def is_internal_request(self, domain: str, referer: str) -> bool: ...
def is_ignorable_request(self, request: WSGIRequest, uri: str, domain: str, referer: str) -> bool: ... def is_ignorable_request(self, request: WSGIRequest, uri: str, domain: str, referer: str) -> bool: ...

View File

@@ -20,7 +20,6 @@ def get_token(request: HttpRequest) -> str: ...
def rotate_token(request: HttpRequest) -> None: ... def rotate_token(request: HttpRequest) -> None: ...
class CsrfViewMiddleware(MiddlewareMixin): class CsrfViewMiddleware(MiddlewareMixin):
get_response: Optional[Callable]
def process_request(self, request: HttpRequest) -> None: ... def process_request(self, request: HttpRequest) -> None: ...
def process_view( def process_view(
self, request: HttpRequest, callback: Callable, callback_args: Tuple, callback_kwargs: Dict[str, Any] self, request: HttpRequest, callback: Callable, callback_args: Tuple, callback_kwargs: Dict[str, Any]

View File

@@ -7,5 +7,4 @@ from django.utils.deprecation import MiddlewareMixin
re_accepts_gzip: Any re_accepts_gzip: Any
class GZipMiddleware(MiddlewareMixin): class GZipMiddleware(MiddlewareMixin):
get_response: None
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...

View File

@@ -3,6 +3,5 @@ from django.http.response import HttpResponseBase
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class ConditionalGetMiddleware(MiddlewareMixin): class ConditionalGetMiddleware(MiddlewareMixin):
get_response: None
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...
def needs_etag(self, response: HttpResponseBase) -> bool: ... def needs_etag(self, response: HttpResponseBase) -> bool: ...

View File

@@ -1,11 +1,10 @@
from typing import Any, Optional, Callable from typing import Any
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
from django.http.response import HttpResponseBase from django.http.response import HttpResponseBase
from django.utils.deprecation import MiddlewareMixin from django.utils.deprecation import MiddlewareMixin
class LocaleMiddleware(MiddlewareMixin): class LocaleMiddleware(MiddlewareMixin):
get_response: Optional[Callable]
response_redirect_class: Any = ... response_redirect_class: Any = ...
def process_request(self, request: WSGIRequest) -> None: ... def process_request(self, request: WSGIRequest) -> None: ...
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ... def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...

View File

@@ -1,4 +1,4 @@
from typing import Any, Callable, Optional, List from typing import Any, Optional, List
from django.core.handlers.wsgi import WSGIRequest from django.core.handlers.wsgi import WSGIRequest
from django.http.response import HttpResponse, HttpResponsePermanentRedirect from django.http.response import HttpResponse, HttpResponsePermanentRedirect
@@ -13,7 +13,5 @@ class SecurityMiddleware(MiddlewareMixin):
redirect: bool = ... redirect: bool = ...
redirect_host: Optional[str] = ... redirect_host: Optional[str] = ...
redirect_exempt: List[Any] = ... redirect_exempt: List[Any] = ...
get_response: Optional[Callable] = ...
def __init__(self, get_response: Optional[Callable] = ...) -> None: ...
def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ... def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ...
def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ... def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ...

View File

@@ -6,16 +6,16 @@ from django.http.response import HttpResponse, HttpResponseRedirect
from django.http import HttpRequest from django.http import HttpRequest
def render_to_response( def render_to_response(
template_name: Union[List[str], str], template_name: str,
context: Optional[Dict[str, str]] = ..., context: Optional[Dict[str, Any]] = ...,
content_type: Optional[str] = ..., content_type: Optional[str] = ...,
status: Optional[int] = ..., status: Optional[int] = ...,
using: Optional[str] = ..., using: Optional[str] = ...,
) -> HttpResponse: ... ) -> HttpResponse: ...
def render( def render(
request: HttpRequest, request: HttpRequest,
template_name: Union[List[str], str], template_name: str,
context: Optional[Dict[str, bool]] = ..., context: Optional[Dict[str, Any]] = ...,
content_type: Optional[str] = ..., content_type: Optional[str] = ...,
status: Optional[int] = ..., status: Optional[int] = ...,
using: Optional[str] = ..., using: Optional[str] = ...,

View File

@@ -25,7 +25,9 @@ class DeprecationInstanceCheck(type):
deprecation_warning: Type[Warning] deprecation_warning: Type[Warning]
def __instancecheck__(self, instance: Any): ... def __instancecheck__(self, instance: Any): ...
GetResponseCallable = Callable[[WSGIRequest], HttpResponse]
class MiddlewareMixin: class MiddlewareMixin:
get_response: Callable[[WSGIRequest], HttpResponse] = ... get_response: Optional[GetResponseCallable] = ...
def __init__(self, get_response: Optional[Callable[[WSGIRequest], HttpResponse]] = ...) -> None: ... def __init__(self, get_response: Optional[GetResponseCallable] = ...) -> None: ...
def __call__(self, request: WSGIRequest) -> HttpResponse: ... def __call__(self, request: WSGIRequest) -> HttpResponse: ...