@@ -75,7 +75,7 @@ class ApiOptions:
7575 def __init__ (
7676 self ,
7777 path : str = "" ,
78- middleware : List [Middleware ] = None ,
78+ middleware : List [Middleware ] = [] ,
7979 security_definitions : dict [str , SecurityDefinition ] = None ,
8080 security : dict [str , List [str ]] = None ,
8181 ):
@@ -91,7 +91,7 @@ class RouteOptions:
9191
9292 middleware : Union [None , List [Middleware ]]
9393
94- def __init__ (self , middleware : List [Middleware ] = None ):
94+ def __init__ (self , middleware : List [Middleware ] = [] ):
9595 """Construct a new route options object."""
9696 self .middleware = middleware
9797
@@ -135,7 +135,7 @@ def __init__(self, name: str, opts: ApiOptions = None):
135135 opts = ApiOptions ()
136136
137137 self .name = name
138- self .middleware = opts .middleware
138+ self .middleware = opts .middleware if opts . middleware is not None else []
139139 self .path = opts .path
140140 self .routes = []
141141 self .security_definitions = opts .security_definitions
@@ -291,8 +291,8 @@ class Route:
291291 def __init__ (self , api : Api , path : str , opts : RouteOptions ):
292292 """Define a route to be handled by the provided API."""
293293 self .api = api
294- self .path = path
295- self .middleware = opts .middleware
294+ self .path = api . path . join ( path )
295+ self .middleware = opts .middleware if opts . middleware is not None else []
296296
297297 def method (self , methods : List [HttpMethod ], * middleware : HttpMiddleware , opts : MethodOptions = None ):
298298 """Register middleware for multiple HTTP Methods."""
@@ -338,7 +338,7 @@ def __init__(
338338 self .route = route
339339 self .methods = methods
340340 self .server = FunctionServer (ApiWorkerOptions (route .api .name , route .path , methods , opts ))
341- self .server .http (* middleware )
341+ self .server .http (* route . api . middleware , * route . middleware , * middleware )
342342
343343 def start (self ):
344344 """Start the server which will respond to incoming requests."""
0 commit comments