Reverse named_response_middlware execution order, to match normal response middleware execution order.

Fixes #1847
Adds a test to ensure fix is correct
Adds an example which demonstrates correct blueprint-middlware execution order behavior.
This commit is contained in:
Ashley Sommer
2020-05-14 09:54:47 +10:00
parent e7001b0074
commit 44973125c1
3 changed files with 77 additions and 2 deletions

View File

@@ -653,7 +653,7 @@ class Sanic:
if _rn not in self.named_response_middleware:
self.named_response_middleware[_rn] = deque()
if middleware not in self.named_response_middleware[_rn]:
self.named_response_middleware[_rn].append(middleware)
self.named_response_middleware[_rn].appendleft(middleware)
# Decorator
def middleware(self, middleware_or_request):