Skip to content

Commit a73918b

Browse files
committed
Remove unused middleware stuff
1 parent 65ac6d9 commit a73918b

File tree

3 files changed

+4
-115
lines changed

3 files changed

+4
-115
lines changed

bolt/exceptions.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,6 @@ class ViewDoesNotExist(Exception):
109109
pass
110110

111111

112-
class MiddlewareNotUsed(Exception):
113-
"""This middleware is not used in this server configuration"""
114-
115-
pass
116-
117-
118112
class ImproperlyConfigured(Exception):
119113
"""Bolt is somehow improperly configured"""
120114

bolt/internal/handlers/base.py

Lines changed: 4 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
import types
33

4-
from bolt.exceptions import ImproperlyConfigured, MiddlewareNotUsed
4+
from bolt.exceptions import ImproperlyConfigured
55
from bolt.logs import log_response
66
from bolt.runtime import settings
77
from bolt.signals import request_finished
@@ -15,7 +15,6 @@
1515

1616
class BaseHandler:
1717
_view_middleware = None
18-
_exception_middleware = None
1918
_middleware_chain = None
2019

2120
def load_middleware(self):
@@ -25,29 +24,12 @@ def load_middleware(self):
2524
Must be called after the environment is fixed (see __call__ in subclasses).
2625
"""
2726
self._view_middleware = []
28-
self._exception_middleware = []
2927

3028
get_response = self._get_response
3129
handler = convert_exception_to_response(get_response)
3230
for middleware_path in reversed(settings.MIDDLEWARE):
3331
middleware = import_string(middleware_path)
34-
try:
35-
# Adapt handler, if needed.
36-
adapted_handler = self.adapt_method_mode(
37-
handler,
38-
debug=settings.DEBUG,
39-
name="middleware %s" % middleware_path,
40-
)
41-
mw_instance = middleware(adapted_handler)
42-
except MiddlewareNotUsed as exc:
43-
if settings.DEBUG:
44-
if str(exc):
45-
logger.debug("MiddlewareNotUsed(%r): %s", middleware_path, exc)
46-
else:
47-
logger.debug("MiddlewareNotUsed: %r", middleware_path)
48-
continue
49-
else:
50-
handler = adapted_handler
32+
mw_instance = middleware(handler)
5133

5234
if mw_instance is None:
5335
raise ImproperlyConfigured(
@@ -57,42 +39,15 @@ def load_middleware(self):
5739
if hasattr(mw_instance, "process_view"):
5840
self._view_middleware.insert(
5941
0,
60-
self.adapt_method_mode(mw_instance.process_view),
61-
)
62-
if hasattr(mw_instance, "process_exception"):
63-
# The exception-handling stack is still always synchronous for
64-
# now, so adapt that way.
65-
self._exception_middleware.append(
66-
self.adapt_method_mode(False, mw_instance.process_exception),
42+
mw_instance.process_view,
6743
)
6844

6945
handler = convert_exception_to_response(mw_instance)
7046

71-
# Adapt the top of the stack, if needed.
72-
handler = self.adapt_method_mode(handler)
7347
# We only assign to this when initialization is complete as it is used
7448
# as a flag for initialization being complete.
7549
self._middleware_chain = handler
7650

77-
def adapt_method_mode(
78-
self,
79-
method,
80-
debug=False,
81-
name=None,
82-
):
83-
"""
84-
Adapt a method to be in the correct "mode":
85-
- If is_async is False:
86-
- Synchronous methods are left alone
87-
- Asynchronous methods are wrapped with async_to_sync
88-
- If is_async is True:
89-
- Synchronous methods are wrapped with sync_to_async()
90-
- Asynchronous methods are left alone
91-
"""
92-
if debug and not name:
93-
name = name or "method %s()" % method.__qualname__
94-
return method
95-
9651
def get_response(self, request):
9752
"""Return an HttpResponse object for the given HttpRequest."""
9853
# Setup default url resolver for this thread
@@ -128,13 +83,7 @@ def _get_response(self, request):
12883

12984
if response is None:
13085
wrapped_callback = self.make_view_atomic(callback)
131-
132-
try:
133-
response = wrapped_callback(request, *callback_args, **callback_kwargs)
134-
except Exception as e:
135-
response = self.process_exception_by_middleware(e, request)
136-
if response is None:
137-
raise
86+
response = wrapped_callback(request, *callback_args, **callback_kwargs)
13887

13988
# Complain if the view returned None (a common error).
14089
self.check_response(response, callback)
@@ -189,17 +138,6 @@ def make_view_atomic(self, view):
189138
view = transaction.atomic(using=alias)(view)
190139
return view
191140

192-
def process_exception_by_middleware(self, exception, request):
193-
"""
194-
Pass the exception to the exception middleware. If no middleware
195-
return a response for this exception, return None.
196-
"""
197-
for middleware_method in self._exception_middleware:
198-
response = middleware_method(request, exception)
199-
if response:
200-
return response
201-
return None
202-
203141

204142
def reset_urlconf(sender, **kwargs):
205143
"""Reset the URLconf after each request is finished."""

bolt/utils/decorators.py

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -88,46 +88,3 @@ def _dec(obj):
8888
obj = decorator if hasattr(decorator, "__name__") else decorator.__class__
8989
_dec.__name__ = "method_decorator(%s)" % obj.__name__
9090
return _dec
91-
92-
93-
def decorator_from_middleware(middleware_class):
94-
"""
95-
Given a middleware class (not an instance), return a view decorator. This
96-
lets you use middleware functionality on a per-view basis. The middleware
97-
is created with no params passed.
98-
"""
99-
return make_middleware_decorator(middleware_class)()
100-
101-
102-
def make_middleware_decorator(middleware_class):
103-
def _make_decorator(*m_args, **m_kwargs):
104-
def _decorator(view_func):
105-
middleware = middleware_class(view_func, *m_args, **m_kwargs)
106-
107-
@wraps(view_func)
108-
def _wrapper_view(request, *args, **kwargs):
109-
if hasattr(middleware, "process_request"):
110-
result = middleware.process_request(request)
111-
if result is not None:
112-
return result
113-
if hasattr(middleware, "process_view"):
114-
result = middleware.process_view(request, view_func, args, kwargs)
115-
if result is not None:
116-
return result
117-
try:
118-
response = view_func(request, *args, **kwargs)
119-
except Exception as e:
120-
if hasattr(middleware, "process_exception"):
121-
result = middleware.process_exception(request, e)
122-
if result is not None:
123-
return result
124-
raise
125-
if hasattr(middleware, "process_response"):
126-
return middleware.process_response(request, response)
127-
return response
128-
129-
return _wrapper_view
130-
131-
return _decorator
132-
133-
return _make_decorator

0 commit comments

Comments
 (0)