Skip to content

Commit e75c753

Browse files
authored
refactor(App): simplify middleware initialization (#2485)
1 parent 6b22ac4 commit e75c753

2 files changed

Lines changed: 11 additions & 23 deletions

File tree

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
Added support for private network requests in CORS middleware.
2-
This is off by default and can be enabled by passing the keyword argument
3-
``allow_private_network=True`` to :class:`falcon.middleware.CORSMiddleware`
4-
during initialization.
1+
Support for allowing :ref:`cross-origin <cors>`
2+
`private network access <https://wicg.github.io/private-network-access/>`__ was
3+
added to the built-in :class:`~falcon.middleware.CORSMiddleware`.
4+
The new feature is off by default, and can be enabled by passing the keyword
5+
argument ``allow_private_network=True`` to
6+
:class:`~falcon.middleware.CORSMiddleware` during initialization.

falcon/app.py

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -318,27 +318,11 @@ def __init__(
318318
self._static_routes = []
319319
self._sink_and_static_routes = ()
320320

321-
if cors_enable:
322-
cm = CORSMiddleware()
323-
324-
if middleware is None:
325-
middleware = [cm]
326-
else:
327-
try:
328-
# NOTE(kgriffs): Check to see if middleware is an
329-
# iterable, and if so, append the CORSMiddleware
330-
# instance.
331-
middleware = list(cast(Iterable[SyncMiddleware], middleware))
332-
middleware.append(cm)
333-
except TypeError:
334-
# NOTE(kgriffs): Assume the middleware kwarg references
335-
# a single middleware component.
336-
middleware = [cast(SyncMiddleware, middleware), cm]
337-
338-
# set middleware
339321
self._unprepared_middleware = []
340322
self._independent_middleware = independent_middleware
341323
self.add_middleware(middleware or [])
324+
if cors_enable:
325+
self.add_middleware([CORSMiddleware()])
342326

343327
self._router = router or routing.DefaultRouter()
344328
self._router_search = self._router.find
@@ -541,9 +525,11 @@ def add_middleware(
541525
# the chance that middleware may be empty.
542526
if middleware:
543527
try:
528+
# NOTE(kgriffs): Check to see if middleware is an iterable.
544529
middleware = list(cast(Iterable[SyncMiddleware], middleware))
545530
except TypeError:
546-
# middleware is not iterable; assume it is just one bare component
531+
# NOTE(kgriffs): Middleware is not iterable; assume it is just
532+
# one bare component.
547533
middleware = [cast(SyncMiddleware, middleware)]
548534

549535
if (

0 commit comments

Comments
 (0)