Skip to content

Commit 470427e

Browse files
committed
release 0.0.303 (#34)
* add add_middleware helper --------- Co-authored-by: nggit <[email protected]>
1 parent d0abc0a commit 470427e

File tree

6 files changed

+22
-8
lines changed

6 files changed

+22
-8
lines changed

example_uvloop.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ async def app(scope, receive, send):
2929
})
3030

3131
if __name__ == '__main__':
32-
tremolo.run(app, host='0.0.0.0', port=8000, debug=True)
32+
tremolo.run(app, host='0.0.0.0', port=8000, debug=True, reload=True)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
setup(
99
name='tremolo',
10-
version='0.0.302',
10+
version='0.0.303',
1111
license='MIT',
1212
author='nggit',
1313
author_email='[email protected]',

tests/test_tremolo_objects.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ def test_middleware(self):
118118
self.assertEqual(func(), b'Halt!')
119119
self.assertEqual(options, {})
120120

121+
def test_invalidmiddleware(self):
122+
with self.assertRaises(ValueError):
123+
app.add_middleware(middlewares.on_request, 'invalid')
124+
121125
@function
122126
async def test_handler(self):
123127
for handler in app.routes[1]:

tremolo/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = '0.0.302'
1+
__version__ = '0.0.303'
22

33
from .tremolo import Tremolo # noqa: E402
44
from . import exceptions # noqa: E402,F401

tremolo/tremolo.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def decorator(func):
8383
def wrapper(**kwargs):
8484
return func(**kwargs)
8585

86-
self.add_route(path, wrapper, self.getoptions(func))
86+
self.add_route(wrapper, path, self.getoptions(func))
8787
return wrapper
8888

8989
return decorator
@@ -134,7 +134,7 @@ def decorator(func):
134134
def wrapper(**kwargs):
135135
return func(**kwargs)
136136

137-
self.middlewares[name].append((wrapper, self.getoptions(func)))
137+
self.add_middleware(wrapper, name, self.getoptions(func))
138138
return wrapper
139139

140140
return decorator
@@ -176,7 +176,17 @@ def getoptions(self, func):
176176

177177
return options
178178

179-
def add_route(self, path, func, kwargs={}):
179+
def add_middleware(self, func, name='request', kwargs={}):
180+
if name not in self.middlewares:
181+
raise ValueError('%s is not one of the: %s' %
182+
(name, ', '.join(self.middlewares)))
183+
184+
self.middlewares[name].append((func, kwargs or self.getoptions(func)))
185+
186+
def add_route(self, func, path='/', kwargs={}):
187+
if not kwargs:
188+
kwargs = self.getoptions(func)
189+
180190
if path.startswith('^') or path.endswith('$'):
181191
pattern = path.encode('latin-1')
182192
self.routes[-1].append((pattern, func, kwargs))

websocket_chat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,5 @@ async def ws_handler(websocket=None, request=None, stream=False, **_):
8080
"""
8181

8282
if __name__ == '__main__':
83-
# don't forget to disable debug on production!
84-
app.run('0.0.0.0', 8000, debug=True)
83+
# don't forget to disable debug and reload on production!
84+
app.run('0.0.0.0', 8000, debug=True, reload=True)

0 commit comments

Comments
 (0)