From d487a73c1ea5b3467e23907618b348ca52e0235c Mon Sep 17 00:00:00 2001 From: Maxi Date: Thu, 23 Jan 2025 00:42:51 +0100 Subject: [PATCH 01/39] add js to sse example (#281) --- examples/sse/counter.py | 22 +++++++++++++++++----- examples/sse/index.html | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 examples/sse/index.html diff --git a/examples/sse/counter.py b/examples/sse/counter.py index 36f4bec..ee5a536 100644 --- a/examples/sse/counter.py +++ b/examples/sse/counter.py @@ -1,16 +1,28 @@ import asyncio -from microdot import Microdot +from microdot import Microdot, send_file from microdot.sse import with_sse app = Microdot() +@app.route("/") +async def main(request): + return send_file('index.html') + + @app.route('/events') @with_sse async def events(request, sse): - for i in range(10): - await asyncio.sleep(1) - await sse.send({'counter': i}) + print('Client connected') + try: + i = 0 + while True: + await asyncio.sleep(1) + i += 1 + await sse.send({'counter': i}) + except asyncio.CancelledError: + pass + print('Client disconnected') -app.run(debug=True) +app.run() diff --git a/examples/sse/index.html b/examples/sse/index.html new file mode 100644 index 0000000..bc64df2 --- /dev/null +++ b/examples/sse/index.html @@ -0,0 +1,30 @@ + + + + Microdot SSE Example + + + +

Microdot SSE Example

+
+ + + From fd7931e1aec173c60f81dad18c1a102ed8f0e081 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 2 Feb 2025 20:29:51 +0000 Subject: [PATCH 02/39] Added Request.url_prefix, Reques.subapp and local mounts --- docs/intro.rst | 26 ++++-- src/microdot/microdot.py | 168 +++++++++++++++++++++++++++------------ tests/test_microdot.py | 107 ++++++++++++++++++++++++- 3 files changed, 242 insertions(+), 59 deletions(-) diff --git a/docs/intro.rst b/docs/intro.rst index aa76f05..f84122c 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -445,7 +445,7 @@ Mounting a Sub-Application ^^^^^^^^^^^^^^^^^^^^^^^^^^ Small Microdot applications can be written as a single source file, but this -is not the best option for applications that past a certain size. To make it +is not the best option for applications that pass a certain size. To make it simpler to write large applications, Microdot supports the concept of sub-applications that can be "mounted" on a larger application, possibly with a common URL prefix applied to all of its routes. For developers familiar with @@ -501,11 +501,25 @@ The resulting application will have the customer endpoints available at */customers/* and the order endpoints available at */orders/*. .. note:: - Before-request, after-request and error handlers defined in the - sub-application are also copied over to the main application at mount time. - Once installed in the main application, these handlers will apply to the - whole application and not just the sub-application in which they were - created. + During the handling of a request, the + :attr:`Request.url_prefix ` attribute is + set to the URL prefix under which the sub-application was mounted, or an + empty string if the endpoint did not come from a sub-application or the + sub-application was mounted without a URL prefix. It is possible to issue a + redirect that is relative to the sub-application as follows:: + + return redirect(request.url_prefix + '/relative-url') + +When mounting an application as shown above, before-request, after-request and +error handlers defined in the sub-application are copied over to the main +application at mount time. Once installed in the main application, these +handlers will apply to the whole application and not just the sub-application +in which they were created. + +The :func:`mount() ` method has a ``local`` argument +that defaults to ``False``. When this argument is set to ``True``, the +before-request, after-request and error handlers defined in the sub-application +will only apply to the sub-application. Shutting Down the Server ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 541aeaf..4703567 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -329,7 +329,8 @@ class G: pass def __init__(self, app, client_addr, method, url, http_version, headers, - body=None, stream=None, sock=None): + body=None, stream=None, sock=None, url_prefix='', + subapp=None): #: The application instance to which this request belongs. self.app = app #: The address of the client, as a tuple (host, port). @@ -338,6 +339,12 @@ def __init__(self, app, client_addr, method, url, http_version, headers, self.method = method #: The request URL, including the path and query string. self.url = url + #: The URL prefix, if the endpoint comes from a mounted + #: sub-application, or else ''. + self.url_prefix = url_prefix + #: The sub-application instance, or `None` if this isn't a mounted + #: endpoint. + self.subapp = subapp #: The path portion of the URL. self.path = url #: The query string portion of the URL. @@ -959,7 +966,7 @@ def index(request): def decorated(f): self.url_map.append( ([m.upper() for m in (methods or ['GET'])], - URLPattern(url_pattern), f)) + URLPattern(url_pattern), f, '', None)) return f return decorated @@ -1127,24 +1134,33 @@ def decorated(f): return f return decorated - def mount(self, subapp, url_prefix=''): + def mount(self, subapp, url_prefix='', local=False): """Mount a sub-application, optionally under the given URL prefix. :param subapp: The sub-application to mount. :param url_prefix: The URL prefix to mount the application under. + :param local: When set to ``True``, the before, after and error request + handlers only apply to endpoints defined in the + sub-application. When ``False``, they apply to the entire + application. The default is ``False``. """ - for methods, pattern, handler in subapp.url_map: + for methods, pattern, handler, _prefix, _subapp in subapp.url_map: self.url_map.append( (methods, URLPattern(url_prefix + pattern.url_pattern), - handler)) - for handler in subapp.before_request_handlers: - self.before_request_handlers.append(handler) - for handler in subapp.after_request_handlers: - self.after_request_handlers.append(handler) - for handler in subapp.after_error_request_handlers: - self.after_error_request_handlers.append(handler) - for status_code, handler in subapp.error_handlers.items(): - self.error_handlers[status_code] = handler + handler, url_prefix + _prefix, _subapp or subapp)) + if not local: + for handler in subapp.before_request_handlers: + self.before_request_handlers.append(handler) + subapp.before_request_handlers = [] + for handler in subapp.after_request_handlers: + self.after_request_handlers.append(handler) + subapp.after_request_handlers = [] + for handler in subapp.after_error_request_handlers: + self.after_error_request_handlers.append(handler) + subapp.after_error_request_handlers = [] + for status_code, handler in subapp.error_handlers.items(): + self.error_handlers[status_code] = handler + subapp.error_handlers = {} @staticmethod def abort(status_code, reason=None): @@ -1302,23 +1318,28 @@ def shutdown(request): def find_route(self, req): method = req.method.upper() if method == 'OPTIONS' and self.options_handler: - return self.options_handler(req) + return self.options_handler(req), '', None if method == 'HEAD': method = 'GET' f = 404 - for route_methods, route_pattern, route_handler in self.url_map: + p = '' + s = None + for route_methods, route_pattern, route_handler, url_prefix, subapp \ + in self.url_map: req.url_args = route_pattern.match(req.path) if req.url_args is not None: + p = url_prefix + s = subapp if method in route_methods: f = route_handler break else: f = 405 - return f + return f, p, s def default_options_handler(self, req): allow = [] - for route_methods, route_pattern, route_handler in self.url_map: + for route_methods, route_pattern, _, _, _ in self.url_map: if route_pattern.match(req.path) is not None: allow.extend(route_methods) if 'GET' in allow: @@ -1349,43 +1370,76 @@ async def handle_request(self, reader, writer): method=req.method, path=req.path, status_code=res.status_code)) + def get_request_handlers(self, req, attr, local_first=True): + handlers = getattr(self, attr + '_handlers') + local_handlers = getattr(req.subapp, attr + '_handlers') \ + if req and req.subapp else [] + return local_handlers + handlers if local_first \ + else handlers + local_handlers + + async def error_response(self, req, status_code, reason=None): + if req and req.subapp and status_code in req.subapp.error_handlers: + return await invoke_handler( + req.subapp.error_handlers[status_code], req) + elif status_code in self.error_handlers: + return await invoke_handler(self.error_handlers[status_code], req) + return reason or 'N/A', status_code + async def dispatch_request(self, req): after_request_handled = False if req: if req.content_length > req.max_content_length: - if 413 in self.error_handlers: - res = await invoke_handler(self.error_handlers[413], req) - else: - res = 'Payload too large', 413 + # the request body is larger than allowed + res = await self.error_response(req, 413, 'Payload too large') else: - f = self.find_route(req) + # find the route in the app's URL map + f, req.url_prefix, req.subapp = self.find_route(req) + try: res = None if callable(f): - for handler in self.before_request_handlers: + # invoke the before request handlers + for handler in self.get_request_handlers( + req, 'before_request', False): res = await invoke_handler(handler, req) if res: break + + # invoke the endpoint handler if res is None: - res = await invoke_handler( - f, req, **req.url_args) + res = await invoke_handler(f, req, **req.url_args) + + # process the response if isinstance(res, int): + # an integer response is taken as a status code + # with an empty body res = '', res if isinstance(res, tuple): + # handle a tuple response if isinstance(res[0], int): + # a tuple that starts with an int has an empty + # body res = ('', res[0], res[1] if len(res) > 1 else {}) body = res[0] if isinstance(res[1], int): + # extract the status code and headers (if + # available) status_code = res[1] headers = res[2] if len(res) > 2 else {} else: + # if the status code is missing, assume 200 status_code = 200 headers = res[1] res = Response(body, status_code, headers) elif not isinstance(res, Response): + # any other response types are wrapped in a + # Response object res = Response(res) - for handler in self.after_request_handlers: + + # invoke the after request handlers + for handler in self.get_request_handlers( + req, 'after_request', True): res = await invoke_handler( handler, req, res) or res for handler in req.after_request_handlers: @@ -1393,50 +1447,62 @@ async def dispatch_request(self, req): handler, req, res) or res after_request_handled = True elif isinstance(f, dict): + # the response from an OPTIONS request is a dict with + # headers res = Response(headers=f) - elif f in self.error_handlers: - res = await invoke_handler(self.error_handlers[f], req) else: - res = 'Not found', f + # if the route is not found, return a 404 or 405 + # response as appropriate + res = await self.error_response(req, f, 'Not found') except HTTPException as exc: - if exc.status_code in self.error_handlers: - res = self.error_handlers[exc.status_code](req) - else: - res = exc.reason, exc.status_code + # an HTTP exception was raised while handling this request + res = await self.error_response(req, exc.status_code, + exc.reason) except Exception as exc: + # an unexpected exception was raised while handling this + # request print_exception(exc) - exc_class = None + + # invoke the error handler for the exception class if one + # exists + handler = None res = None - if exc.__class__ in self.error_handlers: - exc_class = exc.__class__ + if req.subapp and exc.__class__ in \ + req.subapp.error_handlers: + handler = req.subapp.error_handlers[exc.__class__] + elif exc.__class__ in self.error_handlers: + handler = self.error_handlers[exc.__class__] else: + # walk up the exception class hierarchy to try to find + # a handler for c in mro(exc.__class__)[1:]: - if c in self.error_handlers: - exc_class = c + if req.subapp and c in req.subapp.error_handlers: + handler = req.subapp.error_handlers[c] + break + elif c in self.error_handlers: + handler = self.error_handlers[c] break - if exc_class: + if handler: try: - res = await invoke_handler( - self.error_handlers[exc_class], req, exc) + res = await invoke_handler(handler, req, exc) except Exception as exc2: # pragma: no cover print_exception(exc2) if res is None: - if 500 in self.error_handlers: - res = await invoke_handler( - self.error_handlers[500], req) - else: - res = 'Internal server error', 500 + # if there is still no response, issue a 500 error + res = await self.error_response( + req, 500, 'Internal server error') else: - if 400 in self.error_handlers: - res = await invoke_handler(self.error_handlers[400], req) - else: - res = 'Bad request', 400 + # if the request could not be parsed, issue a 400 error + res = await self.error_response(req, 400, 'Bad request') if isinstance(res, tuple): res = Response(*res) elif not isinstance(res, Response): res = Response(res) if not after_request_handled: - for handler in self.after_error_request_handlers: + # if the request did not finish due to an error, invoke the after + # error request handler + for handler in self.get_request_handlers( + req, 'after_error_request', True): res = await invoke_handler( handler, req, res) or res res.is_head = (req and req.method == 'HEAD') diff --git a/tests/test_microdot.py b/tests/test_microdot.py index ebd4d58..5816862 100644 --- a/tests/test_microdot.py +++ b/tests/test_microdot.py @@ -794,7 +794,7 @@ def not_found(req): @subapp.route('/app') def index(req): - return req.g.before + ':foo' + return req.g.before + ':' + req.url_prefix app = Microdot() app.mount(subapp, url_prefix='/sub') @@ -811,4 +811,107 @@ def index(req): self.assertEqual(res.status_code, 200) self.assertEqual(res.headers['Content-Type'], 'text/plain; charset=UTF-8') - self.assertEqual(res.text, 'before:foo:after') + self.assertEqual(res.text, 'before:/sub:after') + + def test_mount_local(self): + subapp1 = Microdot() + subapp2 = Microdot() + + @subapp1.before_request + def before1(req): + req.g.before += ':before1' + + @subapp1.after_error_request + def after_error1(req, res): + res.body += b':errorafter' + + @subapp1.errorhandler(ValueError) + def value_error(req, exc): + return str(exc), 400 + + @subapp1.route('/') + def index1(req): + raise ZeroDivisionError() + + @subapp1.route('/foo') + def foo(req): + return req.g.before + ':foo:' + req.url_prefix + + @subapp1.route('/err') + def err(req): + raise ValueError('err') + + @subapp1.route('/err2') + def err2(req): + class MyErr(ValueError): + pass + + raise MyErr('err') + + @subapp2.before_request + def before2(req): + req.g.before += ':before2' + + @subapp2.after_request + def after2(req, res): + res.body += b':after' + + @subapp2.errorhandler(405) + def method_not_found2(req): + return '405', 405 + + @subapp2.route('/bar') + def bar(req): + return req.g.before + ':bar:' + req.url_prefix + + @subapp2.route('/baz') + def baz(req): + abort(405) + + app = Microdot() + + @app.before_request + def before(req): + req.g.before = 'before-app' + + @app.after_request + def after(req, res): + res.body += b':after-app' + + app.mount(subapp1, local=True) + app.mount(subapp2, url_prefix='/sub', local=True) + + client = TestClient(app) + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 500) + self.assertEqual(res.text, 'Internal server error:errorafter') + + res = self._run(client.get('/foo')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.headers['Content-Type'], + 'text/plain; charset=UTF-8') + self.assertEqual(res.text, 'before-app:before1:foo::after-app') + + res = self._run(client.get('/err')) + self.assertEqual(res.status_code, 400) + self.assertEqual(res.text, 'err:errorafter') + + res = self._run(client.get('/err2')) + self.assertEqual(res.status_code, 400) + self.assertEqual(res.text, 'err:errorafter') + + res = self._run(client.get('/sub/bar')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.headers['Content-Type'], + 'text/plain; charset=UTF-8') + self.assertEqual(res.text, + 'before-app:before2:bar:/sub:after:after-app') + + res = self._run(client.post('/sub/bar')) + self.assertEqual(res.status_code, 405) + self.assertEqual(res.text, '405') + + res = self._run(client.get('/sub/baz')) + self.assertEqual(res.status_code, 405) + self.assertEqual(res.text, '405') From cd87abba30206ec6d3928e0aabacb2fccf7baf70 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 3 Feb 2025 11:06:26 +0000 Subject: [PATCH 03/39] Mount unit tests --- src/microdot/microdot.py | 3 ++ tests/test_microdot.py | 96 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 4703567..061e12b 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -898,6 +898,9 @@ def _int_segment(self, value): except ValueError: return None, None + def __repr__(self): # pragma: no cover + return 'URLPattern: {}'.format(self.url_pattern) + class HTTPException(Exception): def __init__(self, status_code, reason=None): diff --git a/tests/test_microdot.py b/tests/test_microdot.py index 5816862..32b9466 100644 --- a/tests/test_microdot.py +++ b/tests/test_microdot.py @@ -915,3 +915,99 @@ def after(req, res): res = self._run(client.get('/sub/baz')) self.assertEqual(res.status_code, 405) self.assertEqual(res.text, '405') + + def test_many_mounts(self): + subsubapp = Microdot() + + @subsubapp.before_request + def subsubapp_before(req): + req.g.before = 'subsubapp' + + @subsubapp.route('/') + def subsubapp_index(req): + return f'{req.g.before}:{req.subapp == subsubapp}:{req.url_prefix}' + + subapp = Microdot() + + @subapp.before_request + def subapp_before(req): + req.g.before = 'subapp' + + @subapp.route('/') + def subapp_index(req): + return f'{req.g.before}:{req.subapp == subapp}:{req.url_prefix}' + + app = Microdot() + + @app.before_request + def app_before(req): + req.g.before = 'app' + + @app.route('/') + def app_index(req): + return f'{req.g.before}:{req.subapp is None}:{req.url_prefix}' + + subapp.mount(subsubapp, url_prefix='/subsub') + app.mount(subapp, url_prefix='/sub') + + client = TestClient(app) + + res = self._run(client.get('/sub/subsub/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'subsubapp:True:/sub/subsub') + + res = self._run(client.get('/sub/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'subsubapp:True:/sub') + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'subsubapp:True:') + + def test_many_local_mounts(self): + subsubapp = Microdot() + + @subsubapp.before_request + def subsubapp_before(req): + req.g.before = 'subsubapp' + + @subsubapp.route('/') + def subsubapp_index(req): + return f'{req.g.before}:{req.subapp == subsubapp}:{req.url_prefix}' + + subapp = Microdot() + + @subapp.before_request + def subapp_before(req): + req.g.before = 'subapp' + + @subapp.route('/') + def subapp_index(req): + return f'{req.g.before}:{req.subapp == subapp}:{req.url_prefix}' + + app = Microdot() + + @app.before_request + def app_before(req): + req.g.before = 'app' + + @app.route('/') + def app_index(req): + return f'{req.g.before}:{req.subapp is None}:{req.url_prefix}' + + subapp.mount(subsubapp, url_prefix='/subsub', local=True) + app.mount(subapp, url_prefix='/sub', local=True) + + client = TestClient(app) + + res = self._run(client.get('/sub/subsub/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'subsubapp:True:/sub/subsub') + + res = self._run(client.get('/sub/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'subapp:True:/sub') + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'app:True:') From 675c9787974da926af446974cd96ef224e0ee27f Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 3 Feb 2025 19:46:11 +0000 Subject: [PATCH 04/39] Basic and token authentication support --- docs/api.rst | 8 ++ docs/extensions.rst | 110 ++++++++++++++++++++++++--- examples/auth/README.md | 1 + examples/auth/basic_auth.py | 31 ++++++++ examples/auth/pbkdf2.py | 47 ++++++++++++ examples/auth/token_auth.py | 26 +++++++ src/microdot/auth.py | 144 ++++++++++++++++++++++++++++++++++++ tests/test_auth.py | 125 +++++++++++++++++++++++++++++++ tests/test_session.py | 2 +- 9 files changed, 481 insertions(+), 13 deletions(-) create mode 100644 examples/auth/README.md create mode 100644 examples/auth/basic_auth.py create mode 100644 examples/auth/pbkdf2.py create mode 100644 examples/auth/token_auth.py create mode 100644 src/microdot/auth.py create mode 100644 tests/test_auth.py diff --git a/docs/api.rst b/docs/api.rst index f63db86..3f31639 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -44,6 +44,14 @@ User Sessions .. automodule:: microdot.session :members: +Authentication +-------------- + +.. automodule:: microdot.auth + :inherited-members: + :special-members: __call__ + :members: + Cross-Origin Resource Sharing (CORS) ------------------------------------ diff --git a/docs/extensions.rst b/docs/extensions.rst index 5f2da1e..aa228c2 100644 --- a/docs/extensions.rst +++ b/docs/extensions.rst @@ -5,8 +5,8 @@ Microdot is a highly extensible web application framework. The extensions described in this section are maintained as part of the Microdot project in the same source code repository. -WebSocket Support -~~~~~~~~~~~~~~~~~ +WebSocket +~~~~~~~~- .. list-table:: :align: left @@ -39,8 +39,8 @@ Example:: message = await ws.receive() await ws.send(message) -Server-Sent Events Support -~~~~~~~~~~~~~~~~~~~~~~~~~~ +Server-Sent Events +~~~~~~~~~~~~~~~~~~ .. list-table:: :align: left @@ -78,8 +78,8 @@ Example:: the SSE object. For bidirectional communication with the client, use the WebSocket extension. -Rendering Templates -~~~~~~~~~~~~~~~~~~~ +Templates +~~~~~~~~~ Many web applications use HTML templates for rendering content to clients. Microdot includes extensions to render templates with the @@ -202,8 +202,8 @@ must be used. .. note:: The Jinja extension is not compatible with MicroPython. -Maintaining Secure User Sessions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Secure User Sessions +~~~~~~~~~~~~~~~~~~~~ .. list-table:: :align: left @@ -270,6 +270,92 @@ The :func:`save() ` and :func:`delete() ` methods are used to update and destroy the user session respectively. +Authentication +~~~~~~~~~~~~~~ + +.. list-table:: + :align: left + + * - Compatibility + - | CPython & MicroPython + + * - Required Microdot source files + - | `auth.py `_ + + * - Required external dependencies + - | None + + * - Examples + - | `basic_auth.py `_ + | `token_auth.py `_ +The authentication extension provides helper classes for two commonly used +authentication patterns, described below. + +Basic Authentication +^^^^^^^^^^^^^^^^^^^^ + +`Basic Authentication `_ +is a method of authentication that is part of the HTTP specification. It allows +clients to authenticate to a server using a username and a password. Web +browsers have native support for Basic Authentication and will automatically +prompt the user for a username and a password when a protected resource is +accessed. + +To use Basic Authentication, create an instance of the :class:`BasicAuth ` +class:: + + from microdot.auth import BasicAuth + + auth = BasicAuth(app) + +Next, create an authentication function. The function must accept a request +object and a username and password pair provided by the user. If the +credentials are valid, the function must return an object that represents the +user. If the authentication function cannot validate the user provided +credentials it must return ``None``. Decorate the function with +``@auth.authenticate``:: + + @auth.authenticate + async def verify_user(request, username, password): + user = await load_user_from_database(username) + if user and user.verify_password(password): + return user + +To protect a route with authentication, add the ``auth`` instance as a +decorator:: + + @app.route('/') + @auth + async def index(request): + return f'Hello, {request.g.current_user}!' + +While running an authenticated request, the user object returned by the +authenticaction function is accessible as ``request.g.current_user``. + +Token Authentication +^^^^^^^^^^^^^^^^^^^^ + +To set up token authentication, create an instance of :class:`TokenAuth `:: + + from microdot.auth import TokenAuth + + auth = TokenAuth() + +Then add a function that verifies the token and returns the user it belongs to, +or ``None`` if the token is invalid or expired:: + + @auth.authenticate + async def verify_token(request, token): + return load_user_from_token(token) + +As with Basic authentication, the ``auth`` instance is used as a decorator to +protect your routes:: + + @app.route('/') + @auth + async def index(request): + return f'Hello, {request.g.current_user}!' + Cross-Origin Resource Sharing (CORS) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -305,8 +391,8 @@ Example:: cors = CORS(app, allowed_origins=['https://example.com/'], allow_credentials=True) -Testing with the Test Client -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Test Client +~~~~~~~~~~~ .. list-table:: :align: left @@ -342,8 +428,8 @@ Example:: See the documentation for the :class:`TestClient ` class for more details. -Deploying on a Production Web Server -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Production Deployments +~~~~~~~~~~~~~~~~~~~~~~ The ``Microdot`` class creates its own simple web server. This is enough for an application deployed with MicroPython, but when using CPython it may be useful diff --git a/examples/auth/README.md b/examples/auth/README.md new file mode 100644 index 0000000..46f692a --- /dev/null +++ b/examples/auth/README.md @@ -0,0 +1 @@ +This directory contains examples that demonstrate basic and token authentication. diff --git a/examples/auth/basic_auth.py b/examples/auth/basic_auth.py new file mode 100644 index 0000000..0e7de15 --- /dev/null +++ b/examples/auth/basic_auth.py @@ -0,0 +1,31 @@ +from microdot import Microdot +from microdot.auth import BasicAuth +from pbkdf2 import generate_password_hash, check_password_hash + + +# this example provides an implementation of the generate_password_hash and +# check_password_hash functions that can be used in MicroPython. On CPython +# there are many other options for password hashisng so there is no need to use +# this custom solution. +USERS = { + 'susan': generate_password_hash('hello'), + 'david': generate_password_hash('bye'), +} +app = Microdot() +auth = BasicAuth() + + +@auth.authenticate +async def check_credentials(request, username, password): + if username in USERS and check_password_hash(USERS[username], password): + return username + + +@app.route('/') +@auth +async def index(request): + return f'Hello, {request.g.current_user}!' + + +if __name__ == '__main__': + app.run(debug=True) diff --git a/examples/auth/pbkdf2.py b/examples/auth/pbkdf2.py new file mode 100644 index 0000000..ccd18b7 --- /dev/null +++ b/examples/auth/pbkdf2.py @@ -0,0 +1,47 @@ +import os +import hashlib + +# PBKDF2 secure password hashing algorithm obtained from: +# https://codeandlife.com/2023/01/06/how-to-calculate-pbkdf2-hmac-sha256-with- +# python,-example-code/ + + +def sha256(b): + return hashlib.sha256(b).digest() + + +def ljust(b, n, f): + return b + f * (n - len(b)) + + +def gethmac(key, content): + okeypad = bytes(v ^ 0x5c for v in ljust(key, 64, b'\0')) + ikeypad = bytes(v ^ 0x36 for v in ljust(key, 64, b'\0')) + return sha256(okeypad + sha256(ikeypad + content)) + + +def pbkdf2(pwd, salt, iterations=1000): + U = salt + b'\x00\x00\x00\x01' + T = bytes(64) + for _ in range(iterations): + U = gethmac(pwd, U) + T = bytes(a ^ b for a, b in zip(U, T)) + return T + + +# The number of iterations may need to be adjusted depending on the hardware. +# Lower numbers make the password hashing algorithm faster but less secure, so +# the largest number that can be tolerated should be used. +def generate_password_hash(password, salt=None, iterations=100000): + salt = salt or os.urandom(16) + dk = pbkdf2(password.encode(), salt, iterations) + return f'pbkdf2-hmac-sha256:{salt.hex()}:{iterations}:{dk.hex()}' + + +def check_password_hash(password_hash, password): + algorithm, salt, iterations, dk = password_hash.split(':') + iterations = int(iterations) + if algorithm != 'pbkdf2-hmac-sha256': + return False + return pbkdf2(password.encode(), salt=bytes.fromhex(salt), + iterations=iterations) == bytes.fromhex(dk) diff --git a/examples/auth/token_auth.py b/examples/auth/token_auth.py new file mode 100644 index 0000000..ddfce3c --- /dev/null +++ b/examples/auth/token_auth.py @@ -0,0 +1,26 @@ +from microdot import Microdot +from microdot.auth import TokenAuth + +app = Microdot() +auth = TokenAuth() + +TOKENS = { + 'susan-token': 'susan', + 'david-token': 'david', +} + + +@auth.authenticate +async def check_token(request, token): + if token in TOKENS: + return TOKENS[token] + + +@app.route('/') +@auth +async def index(request): + return f'Hello, {request.g.current_user}!' + + +if __name__ == '__main__': + app.run(debug=True) diff --git a/src/microdot/auth.py b/src/microdot/auth.py new file mode 100644 index 0000000..1fcf687 --- /dev/null +++ b/src/microdot/auth.py @@ -0,0 +1,144 @@ +from microdot import abort +from microdot.microdot import invoke_handler + + +class BaseAuth: + def __init__(self): + self.auth_callback = None + self.error_callback = None + + def __call__(self, f): + """Decorator to protect a route with authentication. + + An instance of this class must be used as a decorator on the routes + that need to be protected. Example:: + + auth = BasicAuth() # or TokenAuth() + + @app.route('/protected') + @auth + def protected(request): + # ... + + Routes that are decorated in this way will only be invoked if the + authentication callback returned a valid user object, otherwise the + error callback will be executed. + """ + async def wrapper(request, *args, **kwargs): + auth = self._get_auth(request) + if not auth: + return await invoke_handler(self.error_callback, request) + request.g.current_user = await invoke_handler( + self.auth_callback, request, *auth) + if not request.g.current_user: + return await invoke_handler(self.error_callback, request) + return await invoke_handler(f, request, *args, **kwargs) + + return wrapper + + +class BasicAuth(BaseAuth): + """Basic Authentication. + + :param realm: The realm that is displayed when the user is prompted to + authenticate in the browser. + :param charset: The charset that is used to encode the realm. + :param scheme: The authentication scheme. Defaults to 'Basic'. + :param error_status: The error status code to return when authentication + fails. Defaults to 401. + """ + def __init__(self, realm='Please login', charset='UTF-8', scheme='Basic', + error_status=401): + super().__init__() + self.realm = realm + self.charset = charset + self.scheme = scheme + self.error_status = error_status + self.error_callback = self.authentication_error + + def _get_auth(self, request): + auth = request.headers.get('Authorization') + if auth and auth.startswith('Basic '): + import binascii + try: + username, password = binascii.a2b_base64( + auth[6:]).decode().split(':', 1) + except Exception: # pragma: no cover + return None + return username, password + + def authentication_error(self, request): + return '', self.error_status, { + 'WWW-Authenticate': '{} realm="{}", charset="{}"'.format( + self.scheme, self.realm, self.charset)} + + def authenticate(self, f): + """Decorator to configure the authentication callback. + + This decorator must be used with a function that accepts the request + object, a username and a password and returns a user object if the + credentials are valid, or ``None`` if they are not. Example:: + + @auth.authenticate + async def check_credentials(request, username, password): + user = get_user(username) + if user and user.check_password(password): + return get_user(username) + """ + self.auth_callback = f + + +class TokenAuth(BaseAuth): + """Token based authentication. + + :param header: The name of the header that will contain the token. Defaults + to 'Authorization'. + :param scheme: The authentication scheme. Defaults to 'Bearer'. + :param error_status: The error status code to return when authentication + fails. Defaults to 401. + """ + def __init__(self, header='Authorization', scheme='Bearer', + error_status=401): + super().__init__() + self.header = header + self.scheme = scheme.lower() + self.error_status = error_status + self.error_callback = self.authentication_error + + def _get_auth(self, request): + auth = request.headers.get(self.header) + if auth: + if self.header == 'Authorization': + try: + scheme, token = auth.split(' ', 1) + except Exception: + return None + if scheme.lower() == self.scheme: + return (token.strip(),) + else: + return (auth,) + + def authenticate(self, f): + """Decorator to configure the authentication callback. + + This decorator must be used with a function that accepts the request + object, a username and a password and returns a user object if the + credentials are valid, or ``None`` if they are not. Example:: + + @auth.authenticate + async def check_credentials(request, token): + return get_user(token) + """ + self.auth_callback = f + + def errorhandler(self, f): + """Decorator to configure the error callback. + + Microdot calls the error callback to allow the application to generate + a custom error response. The default error response is to call + ``abort(401)``. + """ + self.error_callback = f + + def authentication_error(self, request): + abort(self.error_status) diff --git a/tests/test_auth.py b/tests/test_auth.py new file mode 100644 index 0000000..bd64365 --- /dev/null +++ b/tests/test_auth.py @@ -0,0 +1,125 @@ +import asyncio +import binascii +import unittest +from microdot import Microdot +from microdot.auth import BasicAuth, TokenAuth +from microdot.test_client import TestClient + + +class TestAuth(unittest.TestCase): + @classmethod + def setUpClass(cls): + if hasattr(asyncio, 'set_event_loop'): + asyncio.set_event_loop(asyncio.new_event_loop()) + cls.loop = asyncio.get_event_loop() + + def _run(self, coro): + return self.loop.run_until_complete(coro) + + def test_basic_auth(self): + app = Microdot() + basic_auth = BasicAuth() + + @basic_auth.authenticate + def authenticate(request, username, password): + if username == 'foo' and password == 'bar': + return {'username': username} + + @app.route('/') + @basic_auth + def index(request): + return request.g.current_user['username'] + + client = TestClient(app) + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic ' + binascii.b2a_base64( + b'foo:bar').decode()})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'foo') + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic ' + binascii.b2a_base64( + b'foo:baz').decode()})) + self.assertEqual(res.status_code, 401) + + def test_token_auth(self): + app = Microdot() + token_auth = TokenAuth() + + @token_auth.authenticate + def authenticate(request, token): + if token == 'foo': + return 'user' + + @app.route('/') + @token_auth + def index(request): + return request.g.current_user + + client = TestClient(app) + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={'Authorization': 'foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'Authorization': 'Bearer foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'user') + + def test_token_auth_custom_header(self): + app = Microdot() + token_auth = TokenAuth(header='X-Auth-Token') + + @token_auth.authenticate + def authenticate(request, token): + if token == 'foo': + return 'user' + + @app.route('/') + @token_auth + def index(request): + return request.g.current_user + + client = TestClient(app) + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={'Authorization': 'foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'Authorization': 'Bearer foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={ + 'X-Token-Auth': 'Bearer foo'})) + self.assertEqual(res.status_code, 401) + + res = self._run(client.get('/', headers={'X-Auth-Token': 'foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'user') + + res = self._run(client.get('/', headers={'x-auth-token': 'foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'user') + + @token_auth.errorhandler + def error_handler(request): + return {'status_code': 403}, 403 + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 403) + self.assertEqual(res.json, {'status_code': 403}) diff --git a/tests/test_session.py b/tests/test_session.py index 0359ed9..43d8e2a 100644 --- a/tests/test_session.py +++ b/tests/test_session.py @@ -37,7 +37,7 @@ async def session_context_manager(req, session): @app.post('/set') @with_session - async def save_session(req, session): + def save_session(req, session): session['name'] = 'joe' session.save() return 'OK' From d807011ad006e53e70c4594d7eac04d03bb08681 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Tue, 4 Feb 2025 00:04:55 +0000 Subject: [PATCH 05/39] user logins --- docs/api.rst | 8 ++ docs/extensions.rst | 86 +++++++++++++++++ examples/login/README.md | 1 + examples/login/login.py | 123 ++++++++++++++++++++++++ examples/login/pbkdf2.py | 47 ++++++++++ examples/sessions/login.py | 3 + src/microdot/login.py | 163 ++++++++++++++++++++++++++++++++ tests/__init__.py | 2 + tests/test_login.py | 188 +++++++++++++++++++++++++++++++++++++ 9 files changed, 621 insertions(+) create mode 100644 examples/login/README.md create mode 100644 examples/login/login.py create mode 100644 examples/login/pbkdf2.py create mode 100644 src/microdot/login.py create mode 100644 tests/test_login.py diff --git a/docs/api.rst b/docs/api.rst index 3f31639..07a070d 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -52,6 +52,14 @@ Authentication :special-members: __call__ :members: +User Logins +----------- + +.. automodule:: microdot.login + :inherited-members: + :special-members: __call__ + :members: + Cross-Origin Resource Sharing (CORS) ------------------------------------ diff --git a/docs/extensions.rst b/docs/extensions.rst index aa228c2..495cf2c 100644 --- a/docs/extensions.rst +++ b/docs/extensions.rst @@ -288,6 +288,7 @@ Authentication * - Examples - | `basic_auth.py `_ | `token_auth.py `_ + The authentication extension provides helper classes for two commonly used authentication patterns, described below. @@ -355,6 +356,91 @@ protect your routes:: @auth async def index(request): return f'Hello, {request.g.current_user}!' + +User Logins +~~~~~~~~~~~ + +.. list-table:: + :align: left + + * - Compatibility + - | CPython & MicroPython + + * - Required Microdot source files + - | `login.py `_ + | `session.py `_ + * - Required external dependencies + - | CPython: `PyJWT `_ + | MicroPython: `jwt.py `_, + `hmac.py `_ + * - Examples + - | `login.py `_ + +The login extension provides user login functionality. The logged in state of +the user is stored in the user session cookie, and an optional "remember me" +cookie can also be added to keep the user logged in across browser sessions. + +To use this extension, create instances of the +:class:`Session ` and :class:`Login ` +class:: + + Session(app, secret_key='top-secret!') + login = Login() + +The ``Login`` class accept an optional argument with the URL of the login page. +The default for this URL is */login*. + +The application must represent users as objects with an ``id`` attribute. A +function decorated with ``@login.user_loader`` is used to load a user object:: + + @login.user_loader + async def get_user(user_id): + return database.get_user(user_id) + +The application must implement the login form. At the point in which the user +credentials have been received and verified, a call to the +:func:`login_user() ` function must be made to +record the user in the user session:: + + @app.route('/login', methods=['GET', 'POST']) + async def login(request): + # ... + if user.check_password(password): + return await login.login_user(request, user, remember=remember_me) + return redirect('/login') + +The optional ``remember`` argument is used to add a remember me cookie that +will log the user in automatically in future sessions. A value of ``True`` will +keep the log in active for 30 days. Alternatively, an integer number of days +can be passed in this argument. + +Any routes that require the user to be logged in must be decorated with +:func:`@login `:: + + @app.route('/') + @login + async def index(request): + # ... + +Routes that are of a sensitive nature can be decorated with +:func:`@login.fresh ` +instead. This decorator requires that the user has logged in during the current +session, and will ask the user to logged in again if the session was +authenticated through a remember me cookie:: + + @app.get('/fresh') + @login.fresh + async def fresh(request): + # ... + +To log out a user, the :func:`logout_user() ` +is used:: + + @app.post('/logout') + @login + async def logout(request): + await login.logout_user(request) + return redirect('/') Cross-Origin Resource Sharing (CORS) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/examples/login/README.md b/examples/login/README.md new file mode 100644 index 0000000..e41c267 --- /dev/null +++ b/examples/login/README.md @@ -0,0 +1 @@ +This directory contains examples that demonstrate user logins. diff --git a/examples/login/login.py b/examples/login/login.py new file mode 100644 index 0000000..3135e41 --- /dev/null +++ b/examples/login/login.py @@ -0,0 +1,123 @@ +from microdot import Microdot, redirect +from microdot.session import Session +from microdot.login import Login +from pbkdf2 import generate_password_hash, check_password_hash + +# this example provides an implementation of the generate_password_hash and +# check_password_hash functions that can be used in MicroPython. On CPython +# there are many other options for password hashisng so there is no need to use +# this custom solution. + + +class User: + def __init__(self, id, username, password): + self.id = id + self.username = username + self.password_hash = self.create_hash(password) + + def create_hash(self, password): + return generate_password_hash(password) + + def check_password(self, password): + return check_password_hash(self.password_hash, password) + + +USERS = { + 'user001': User('user001', 'susan', 'hello'), + 'user002': User('user002', 'david', 'bye'), +} + +app = Microdot() +Session(app, secret_key='top-secret!') +login = Login() + + +@login.user_loader +async def get_user(user_id): + return USERS.get(user_id) + + +@app.route('/login', methods=['GET', 'POST']) +async def login_page(request): + if request.method == 'GET': + return ''' + + + +

Please Login

+
+

+ Username
+ +

+

+ Password:
+ +
+

+

+ Remember me +
+

+

+ +

+
+ + + ''', {'Content-Type': 'text/html'} + username = request.form['username'] + password = request.form['password'] + remember_me = bool(request.form.get('remember_me')) + + for user in USERS.values(): + if user.username == username: + if user.check_password(password): + return await login.login_user(request, user, + remember=remember_me) + return redirect('/login') + + +@app.route('/') +@login +async def index(request): + return f''' + + + +

Hello, {request.g.current_user.username}!

+

+ Click here to access the fresh login page. +

+
+ +
+ + + ''', {'Content-Type': 'text/html'} + + +@app.get('/fresh') +@login.fresh +async def fresh(request): + return f''' + + + +

Hello, {request.g.current_user.username}!

+

This page requires a fresh login session.

+

Go back to the main page.

+ + + ''', {'Content-Type': 'text/html'} + + +@app.post('/logout') +@login +async def logout(request): + await login.logout_user(request) + return redirect('/') + + +if __name__ == '__main__': + app.run(debug=True) diff --git a/examples/login/pbkdf2.py b/examples/login/pbkdf2.py new file mode 100644 index 0000000..ccd18b7 --- /dev/null +++ b/examples/login/pbkdf2.py @@ -0,0 +1,47 @@ +import os +import hashlib + +# PBKDF2 secure password hashing algorithm obtained from: +# https://codeandlife.com/2023/01/06/how-to-calculate-pbkdf2-hmac-sha256-with- +# python,-example-code/ + + +def sha256(b): + return hashlib.sha256(b).digest() + + +def ljust(b, n, f): + return b + f * (n - len(b)) + + +def gethmac(key, content): + okeypad = bytes(v ^ 0x5c for v in ljust(key, 64, b'\0')) + ikeypad = bytes(v ^ 0x36 for v in ljust(key, 64, b'\0')) + return sha256(okeypad + sha256(ikeypad + content)) + + +def pbkdf2(pwd, salt, iterations=1000): + U = salt + b'\x00\x00\x00\x01' + T = bytes(64) + for _ in range(iterations): + U = gethmac(pwd, U) + T = bytes(a ^ b for a, b in zip(U, T)) + return T + + +# The number of iterations may need to be adjusted depending on the hardware. +# Lower numbers make the password hashing algorithm faster but less secure, so +# the largest number that can be tolerated should be used. +def generate_password_hash(password, salt=None, iterations=100000): + salt = salt or os.urandom(16) + dk = pbkdf2(password.encode(), salt, iterations) + return f'pbkdf2-hmac-sha256:{salt.hex()}:{iterations}:{dk.hex()}' + + +def check_password_hash(password_hash, password): + algorithm, salt, iterations, dk = password_hash.split(':') + iterations = int(iterations) + if algorithm != 'pbkdf2-hmac-sha256': + return False + return pbkdf2(password.encode(), salt=bytes.fromhex(salt), + iterations=iterations) == bytes.fromhex(dk) diff --git a/examples/sessions/login.py b/examples/sessions/login.py index e7fd2ef..9a042ac 100644 --- a/examples/sessions/login.py +++ b/examples/sessions/login.py @@ -1,3 +1,6 @@ +# This is a simple example that demonstrates how to use the user session, but +# is not intended as a complete login solution. See the login subdirectory for +# a more complete example. from microdot import Microdot, Response, redirect from microdot.session import Session, with_session diff --git a/src/microdot/login.py b/src/microdot/login.py new file mode 100644 index 0000000..aa894e9 --- /dev/null +++ b/src/microdot/login.py @@ -0,0 +1,163 @@ +from time import time +from microdot import redirect +from microdot.microdot import urlencode, invoke_handler + + +class Login: + """User login support for Microdot. + + :param login_url: the URL to redirect to when a login is required. The + default is '/login'. + """ + def __init__(self, login_url='/login'): + self.login_url = login_url + self.user_loader_callback = None + + def user_loader(self, f): + """Decorator to configure the user callback. + + The decorated function receives the user ID as an argument and must + return the corresponding user object, or ``None`` if the user ID is + invalid. + """ + self.user_loader_callback = f + + def _get_session(self, request): + return request.app._session.get(request) + + def _update_remember_cookie(self, request, days, user_id=None): + remember_payload = request.app._session.encode({ + 'user_id': user_id, + 'days': days, + 'exp': time() + days * 24 * 60 * 60 + }) + + @request.after_request + async def _set_remember_cookie(request, response): + response.set_cookie('_remember', remember_payload, + max_age=days * 24 * 60 * 60) + return response + + def _get_user_id_from_session(self, request): + session = self._get_session(request) + if session and '_user_id' in session: + return session['_user_id'] + if '_remember' in request.cookies: + remember_payload = request.app._session.decode( + request.cookies['_remember']) + user_id = remember_payload.get('user_id') + if user_id: # pragma: no branch + self._update_remember_cookie( + request, remember_payload.get('_days', 30), user_id) + session['_user_id'] = user_id + session['_fresh'] = False + session.save() + return user_id + + async def _redirect_to_login(self, request): + return '', 302, {'Location': self.login_url + '?next=' + urlencode( + request.url)} + + async def login_user(self, request, user, remember=False, + redirect_url='/'): + """Log a user in. + + :param request: the request object + :param user: the user object + :param remember: if the user's logged in state should be remembered + with a cookie after the session ends. Set to the + number of days the remember cookie should last, or to + ``True`` to use a default duration of 30 days. + :param redirect_url: the URL to redirect to after login + + This call marks the user as logged in by storing their user ID in the + user session. The application must call this method to log a user in + after their credentials have been validated. + + The method returns a redirect response, either to the URL the user + originally intended to visit, or if there is no original URL to the URL + specified by the `redirect_url`. + """ + session = self._get_session(request) + session['_user_id'] = user.id + session['_fresh'] = True + session.save() + + if remember: + days = 30 if remember is True else int(remember) + self._update_remember_cookie(request, days, session['_user_id']) + + next_url = request.args.get('next', redirect_url) + if not next_url.startswith('/'): + next_url = redirect_url + return redirect(next_url) + + async def logout_user(self, request): + """Log a user out. + + :param request: the request object + + This call removes information about the user's log in from the user + session. If a remember cookie exists, it is removed as well. + """ + session = self._get_session(request) + session.pop('_user_id', None) + session.pop('_fresh', None) + session.save() + if '_remember' in request.cookies: + self._update_remember_cookie(request, 0) + + def __call__(self, f): + """Decorator to protect a route with authentication. + + If the user is not logged in, Microdot will redirect to the login page + first. The decorated route will only run after successful login by the + user. If the user is already logged in, the route will run immediately. + Example:: + + login = Login() + + @app.route('/secret') + @login + async def secret(request): + # only accessible to authenticated users + + """ + async def wrapper(request, *args, **kwargs): + user_id = self._get_user_id_from_session(request) + if not user_id: + return await self._redirect_to_login(request) + request.g.current_user = await invoke_handler( + self.user_loader_callback, user_id) + if not request.g.current_user: + return await self._redirect_to_login(request) + return await invoke_handler(f, request, *args, **kwargs) + + return wrapper + + def fresh(self, f): + """Decorator to protect a route with "fresh" authentication. + + This decorator prevents the route from running when the login session + is not fresh. A fresh session is a session that has been created from + direct user interaction with the login page, while a non-fresh session + occurs when a login is restored from a "remember me" cookie. Example:: + + login = Login() + + @app.route('/secret') + @auth.fresh + async def secret(request): + # only accessible to authenticated users + # users logged in via remember me cookie will need to + # re-authenticate + """ + base_wrapper = self.__call__(f) + + async def wrapper(request, *args, **kwargs): + session = self._get_session(request) + if session.get('_fresh'): + return await base_wrapper(request, *args, **kwargs) + return await self._redirect_to_login(request) + + return wrapper diff --git a/tests/__init__.py b/tests/__init__.py index 4f40481..3d8601f 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -9,3 +9,5 @@ from tests.test_cors import * # noqa: F401, F403 from tests.test_utemplate import * # noqa: F401, F403 from tests.test_session import * # noqa: F401, F403 +from tests.test_auth import * # noqa: F401, F403 +from tests.test_login import * # noqa: F401, F403 diff --git a/tests/test_login.py b/tests/test_login.py new file mode 100644 index 0000000..3199b76 --- /dev/null +++ b/tests/test_login.py @@ -0,0 +1,188 @@ +import asyncio +import unittest +from microdot import Microdot +from microdot.login import Login +from microdot.session import Session +from microdot.test_client import TestClient + + +class TestLogin(unittest.TestCase): + @classmethod + def setUpClass(cls): + if hasattr(asyncio, 'set_event_loop'): + asyncio.set_event_loop(asyncio.new_event_loop()) + cls.loop = asyncio.get_event_loop() + + def _run(self, coro): + return self.loop.run_until_complete(coro) + + def test_login(self): + app = Microdot() + Session(app, secret_key='secret') + login = Login() + + class User: + def __init__(self, id, name): + self.id = id + self.name = name + + @login.user_loader + def load_user(user_id): + return User(user_id, f'user{user_id}') + + @app.get('/') + @login + def index(request): + return request.g.current_user.name + + @app.post('/login') + async def login_route(request): + return await login.login_user(request, User(123, 'user123')) + + @app.post('/logout') + async def logout_route(request): + await login.logout_user(request) + return 'ok' + + client = TestClient(app) + res = self._run(client.get('/?foo=bar')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/login?next=/%3Ffoo%3Dbar') + + res = self._run(client.post('/login?next=/%3Ffoo=bar')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/?foo=bar') + self.assertEqual(len(res.headers['Set-Cookie']), 1) + self.assertIn('session', client.cookies) + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'user123') + + res = self._run(client.post('/logout')) + self.assertEqual(res.status_code, 200) + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 302) + + def test_login_bad_user_id(self): + class User: + def __init__(self, id, name): + self.id = id + self.name = name + + app = Microdot() + Session(app, secret_key='secret') + login = Login() + + @login.user_loader + def load_user(user_id): + return None + + @app.get('/foo') + @login + async def index(request): + return 'ok' + + @app.post('/login') + async def login_route(request): + return await login.login_user(request, User(1, 'user')) + + client = TestClient(app) + res = self._run(client.post('/login?next=/')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/') + res = self._run(client.get('/foo')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/login?next=/foo') + + def test_login_bad_redirect(self): + class User: + def __init__(self, id, name): + self.id = id + self.name = name + + app = Microdot() + Session(app, secret_key='secret') + login = Login() + + @login.user_loader + def load_user(user_id): + return user_id + + @app.get('/') + @login + async def index(request): + return 'ok' + + @app.post('/login') + async def login_route(request): + return await login.login_user(request, User(1, 'user')) + + client = TestClient(app) + res = self._run(client.post('/login?next=http://example.com')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/') + + def test_login_remember(self): + class User: + def __init__(self, id, name): + self.id = id + self.name = name + + app = Microdot() + Session(app, secret_key='secret') + login = Login() + + @login.user_loader + def load_user(user_id): + return User(user_id, f'user{user_id}') + + @app.get('/') + @login + def index(request): + return {'user': request.g.current_user.id} + + @app.post('/login') + async def login_route(request): + return await login.login_user(request, User(1, 'user1'), + remember=True) + + @app.post('/logout') + async def logout(request): + await login.logout_user(request) + return 'ok' + + @app.get('/fresh') + @login.fresh + async def fresh(request): + return f'fresh {request.g.current_user.id}' + + client = TestClient(app) + res = self._run(client.post('/login?next=/%3Ffoo=bar')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/?foo=bar') + self.assertEqual(len(res.headers['Set-Cookie']), 2) + self.assertIn('session', client.cookies) + self.assertIn('_remember', client.cookies) + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '{"user": 1}') + res = self._run(client.get('/fresh')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'fresh 1') + + del client.cookies['session'] + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + res = self._run(client.get('/fresh')) + self.assertEqual(res.status_code, 302) + self.assertEqual(res.headers['Location'], '/login?next=/fresh') + + res = self._run(client.post('/logout')) + self.assertEqual(res.status_code, 200) + self.assertFalse('_remember' in client.cookies) + + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 302) From 2efbd6787879cd6c0bf2796dece4620854352ea8 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Tue, 4 Feb 2025 00:31:06 +0000 Subject: [PATCH 06/39] Release 2.1.0 --- CHANGES.md | 9 +++++++++ pyproject.toml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 97a4e54..94d3c8a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,14 @@ # Microdot change log +**Release 2.1.0** - 2025-02-04 + +- User login support ([commit](https://github.com/miguelgrinberg/microdot/commit/d807011ad006e53e70c4594d7eac04d03bb08681)) +- Basic and token authentication support ([commit](https://github.com/miguelgrinberg/microdot/commit/675c9787974da926af446974cd96ef224e0ee27f)) +- Added `local` argument to the `app.mount()` method, to define sub-application specific before and after request handlers ([commit](https://github.com/miguelgrinberg/microdot/commit/fd7931e1aec173c60f81dad18c1a102ed8f0e081)) +- Added `Request.url_prefix`, `Request.subapp` and local mounts ([commit](https://github.com/miguelgrinberg/microdot/commit/fd7931e1aec173c60f81dad18c1a102ed8f0e081)) +- Added a front end to the SSE example [#281](https://github.com/miguelgrinberg/microdot/issues/281) ([commit](https://github.com/miguelgrinberg/microdot/commit/d487a73c1ea5b3467e23907618b348ca52e0235c)) (thanks **Maxi**!) +- Additional ``app.mount()`` unit tests ([commit](https://github.com/miguelgrinberg/microdot/commit/cd87abba30206ec6d3928e0aabacb2fccf7baf70)) + **Release 2.0.7** - 2024-11-10 - Accept responses with just a status code [#263](https://github.com/miguelgrinberg/microdot/issues/263) ([commit #1](https://github.com/miguelgrinberg/microdot/commit/4eac013087f807cafa244b8a6b7b0ed4c82ff150) [commit #2](https://github.com/miguelgrinberg/microdot/commit/c46e4291061046f1be13f300dd08645b71c16635)) diff --git a/pyproject.toml b/pyproject.toml index eb71381..87f7659 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.0.8.dev0" +version = "2.1.0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 265009ecd6c03214c77fe2328ddda8ffc5ba7e49 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Tue, 4 Feb 2025 00:35:10 +0000 Subject: [PATCH 07/39] Version 2.1.1.dev0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 87f7659..6be6ad4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.1.0" +version = "2.1.1.dev0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 6a33e817a2b0977e03579b8e56ebfa22bbbfa041 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:18:55 +0000 Subject: [PATCH 08/39] Bump jinja2 from 3.1.4 to 3.1.5 in /examples/benchmark (#284) #nolog Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/benchmark/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/benchmark/requirements.txt b/examples/benchmark/requirements.txt index e1f2936..01af5b8 100644 --- a/examples/benchmark/requirements.txt +++ b/examples/benchmark/requirements.txt @@ -57,7 +57,7 @@ itsdangerous==2.1.2 # via # flask # quart -jinja2==3.1.4 +jinja2==3.1.5 # via # flask # quart From 48ce31e699e6c91743bbb0f261209d092a308bb0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 11:19:19 +0000 Subject: [PATCH 09/39] Bump quart from 0.19.7 to 0.20.0 in /examples/benchmark (#283) #nolog Bumps [quart](https://github.com/pallets/quart) from 0.19.7 to 0.20.0. - [Release notes](https://github.com/pallets/quart/releases) - [Changelog](https://github.com/pallets/quart/blob/main/CHANGES.md) - [Commits](https://github.com/pallets/quart/compare/0.19.7...0.20.0) --- updated-dependencies: - dependency-name: quart dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/benchmark/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/benchmark/requirements.txt b/examples/benchmark/requirements.txt index 01af5b8..9dd6701 100644 --- a/examples/benchmark/requirements.txt +++ b/examples/benchmark/requirements.txt @@ -82,7 +82,7 @@ pydantic-core==2.14.5 # via pydantic pyproject-hooks==1.0.0 # via build -quart==0.19.7 +quart==0.20.0 # via -r requirements.in requests==2.32.0 # via -r requirements.in From c92b5ae28222af5a1094f5d2f70a45d4d17653d5 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 2 Mar 2025 00:47:54 +0000 Subject: [PATCH 10/39] Redesigned the URL parser to allow for custom path components --- docs/intro.rst | 44 ++++++++++++++++-- src/microdot/microdot.py | 98 ++++++++++++++------------------------- tests/test_url_pattern.py | 23 +++++++++ 3 files changed, 97 insertions(+), 68 deletions(-) diff --git a/docs/intro.rst b/docs/intro.rst index f84122c..b381d93 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -329,15 +329,51 @@ URL:: async def get_test(request, path): return 'Test: ' + path -For the most control, the ``re`` type allows the application to provide a -custom regular expression for the dynamic component. The next example defines -a route that only matches usernames that begin with an upper or lower case -letter, followed by a sequence of letters or numbers:: +The ``re`` type allows the application to provide a custom regular expression +for the dynamic component. The next example defines a route that only matches +usernames that begin with an upper or lower case letter, followed by a sequence +of letters or numbers:: @app.get('/users/') async def get_user(request, username): return 'User: ' + username +The ``re`` type returns the URL component as a string, which sometimes may not +be the most convenient. In such cases, the application can register a custom +URL component type and provide a parser function. In the following example, +a ``hex`` custom type is registered to automatically convert the arguments to +numbers:: + + from microdot import URLPattern + + URLPattern.register_type('hex', parser=lambda value: int(value, 16)) + + @app.get('/users/') + async def get_user(request, user_id): + user = get_user_by_id(user_id) + # ... + +In addition to the parser, the custom URL component can include a valid pattern +as a regular expression. When a pattern is provided, the URL component will +only match if the regular expression matches the value passed in the URL. The +``hex`` example above can be expanded with a pattern as follows:: + + URLPattern.register_type('hex', pattern='[0-9a-fA-F]+', + parser=lambda value: int(value, 16)) + +In cases where a pattern isn't provided, or when the pattern is unable to +filter all invalid values, the parser function can return ``None`` to indicate +a failed match. The next example shows how the ``hex`` type can be expanded to +do that:: + + def hex_parser(value): + try: + return int(value, 16) + except ValueError: + return None + + URLPattern.register_type('hex', pattern='[0-9a-fA-F]+', parser=hex_parser) + .. note:: Dynamic path components are passed to route functions as keyword arguments, so the names of the function arguments must match the names declared in the diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 061e12b..e8bdcaa 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -8,6 +8,7 @@ import asyncio import io import json +import re import time try: @@ -805,12 +806,20 @@ def send_file(cls, filename, status_code=200, content_type=None, class URLPattern(): + segment_patterns = { + 'string': '/([^/]+)', + 'int': '/(-?\\d+)', + 'path': '/(.+)', + } + segment_parsers = { + 'int': lambda value: int(value), + } + def __init__(self, url_pattern): self.url_pattern = url_pattern self.segments = [] self.regex = None pattern = '' - use_regex = False for segment in url_pattern.lstrip('/').split('/'): if segment and segment[0] == '<': if segment[-1] != '>': @@ -822,82 +831,43 @@ def __init__(self, url_pattern): type_ = 'string' name = segment parser = None - if type_ == 'string': - parser = self._string_segment - pattern += '/([^/]+)' - elif type_ == 'int': - parser = self._int_segment - pattern += '/(-?\\d+)' - elif type_ == 'path': - use_regex = True - pattern += '/(.+)' - elif type_.startswith('re:'): - use_regex = True + if type_.startswith('re:'): pattern += '/({pattern})'.format(pattern=type_[3:]) else: - raise ValueError('invalid URL segment type') + if type_ not in self.segment_patterns: + raise ValueError('invalid URL segment type') + pattern += self.segment_patterns[type_] + parser = self.segment_parsers.get(type_) self.segments.append({'parser': parser, 'name': name, 'type': type_}) else: pattern += '/' + segment - self.segments.append({'parser': self._static_segment(segment)}) - if use_regex: - import re - self.regex = re.compile('^' + pattern + '$') + self.segments.append({'parser': None}) + self.regex = re.compile('^' + pattern + '$') + + @classmethod + def register_type(cls, type_name, pattern='[^/]+', parser=None): + cls.segment_patterns[type_name] = '/({})'.format(pattern) + cls.segment_parsers[type_name] = parser def match(self, path): args = {} - if self.regex: - g = self.regex.match(path) - if not g: - return - i = 1 - for segment in self.segments: - if 'name' not in segment: - continue - value = g.group(i) - if segment['type'] == 'int': - value = int(value) - args[segment['name']] = value - i += 1 - else: - if len(path) == 0 or path[0] != '/': - return - path = path[1:] - args = {} - for segment in self.segments: - if path is None: - return - arg, path = segment['parser'](path) + g = self.regex.match(path) + if not g: + return + i = 1 + for segment in self.segments: + if 'name' not in segment: + continue + arg = g.group(i) + if segment['parser']: + arg = self.segment_parsers[segment['type']](arg) if arg is None: return - if 'name' in segment: - args[segment['name']] = arg - if path is not None: - return + args[segment['name']] = arg + i += 1 return args - def _static_segment(self, segment): - def _static(value): - s = value.split('/', 1) - if s[0] == segment: - return '', s[1] if len(s) > 1 else None - return None, None - return _static - - def _string_segment(self, value): - s = value.split('/', 1) - if len(s[0]) == 0: - return None, None - return s[0], s[1] if len(s) > 1 else None - - def _int_segment(self, value): - s = value.split('/', 1) - try: - return int(s[0]), s[1] if len(s) > 1 else None - except ValueError: - return None, None - def __repr__(self): # pragma: no cover return 'URLPattern: {}'.format(self.url_pattern) diff --git a/tests/test_url_pattern.py b/tests/test_url_pattern.py index e9b4a43..c3656bd 100644 --- a/tests/test_url_pattern.py +++ b/tests/test_url_pattern.py @@ -121,3 +121,26 @@ def test_many_arguments(self): def test_invalid_url_patterns(self): self.assertRaises(ValueError, URLPattern, '/users/') + + def test_custom_url_pattern(self): + URLPattern.register_type('hex', '[0-9a-f]+') + p = URLPattern('/users/') + self.assertEqual(p.match('/users/a1'), {'id': 'a1'}) + self.assertIsNone(p.match('/users/ab12z')) + + URLPattern.register_type('hex', '[0-9a-f]+', + parser=lambda value: int(value, 16)) + p = URLPattern('/users/') + self.assertEqual(p.match('/users/a1'), {'id': 161}) + self.assertIsNone(p.match('/users/ab12z')) + + def hex_parser(value): + try: + return int(value, 16) + except ValueError: + return None + + URLPattern.register_type('hex', parser=hex_parser) + p = URLPattern('/users/') + self.assertEqual(p.match('/users/a1'), {'id': 161}) + self.assertIsNone(p.match('/users/ab12z')) From 68a53a7ae7abc3d320d8567e3dbdec5da3f8f7a5 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 2 Mar 2025 00:51:23 +0000 Subject: [PATCH 11/39] Update README #nolog --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 24e1e42..7146f6d 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,6 @@ The following features are planned for future releases of Microdot, both for MicroPython and CPython: - Support for forms encoded in `multipart/form-data` format -- Authentication support, similar to [Flask-Login](https://github.com/maxcountryman/flask-login) for Flask - OpenAPI integration, similar to [APIFairy](https://github.com/miguelgrinberg/apifairy) for Flask In addition to the above, the following extensions are also under consideration, From 953dd9432122defe943f0637bbe7e01f2fc7743f Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 2 Mar 2025 11:53:54 +0000 Subject: [PATCH 12/39] Expose the Jinja environment as Template.jinja_env --- src/microdot/jinja.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/microdot/jinja.py b/src/microdot/jinja.py index 0e1a976..46cd9fe 100644 --- a/src/microdot/jinja.py +++ b/src/microdot/jinja.py @@ -1,19 +1,26 @@ from jinja2 import Environment, FileSystemLoader, select_autoescape -_jinja_env = None - class Template: """A template object. :param template: The filename of the template to render, relative to the configured template directory. + :param kwargs: any additional options to be passed to the Jinja + environment's ``get_template()`` method. """ + #: The Jinja environment. + jinja_env = None + @classmethod def initialize(cls, template_dir='templates', enable_async=False, **kwargs): """Initialize the templating subsystem. + This method is automatically invoked when the first template is + created. The application can call it explicitly if custom options need + to be provided. + :param template_dir: the directory where templates are stored. This argument is optional. The default is to load templates from a *templates* subdirectory. @@ -23,20 +30,19 @@ def initialize(cls, template_dir='templates', enable_async=False, :param kwargs: any additional options to be passed to Jinja's ``Environment`` class. """ - global _jinja_env - _jinja_env = Environment( + cls.jinja_env = Environment( loader=FileSystemLoader(template_dir), autoescape=select_autoescape(), enable_async=enable_async, **kwargs ) - def __init__(self, template): - if _jinja_env is None: # pragma: no cover + def __init__(self, template, **kwargs): + if self.jinja_env is None: # pragma: no cover self.initialize() - #: The name of the template + #: The name of the template. self.name = template - self.template = _jinja_env.get_template(template) + self.template = self.jinja_env.get_template(template, **kwargs) def generate(self, *args, **kwargs): """Return a generator that renders the template in chunks, with the From c6b99b6d8117d4e40e16d5b953dbf4deb023d24d Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 2 Mar 2025 19:47:21 +0000 Subject: [PATCH 13/39] Documentation improvements --- docs/freezing.rst | 13 +++++---- docs/intro.rst | 67 +++++++++++++++++++++++++++---------------- src/microdot/jinja.py | 3 +- 3 files changed, 53 insertions(+), 30 deletions(-) diff --git a/docs/freezing.rst b/docs/freezing.rst index 0a85bc2..ea75eb5 100644 --- a/docs/freezing.rst +++ b/docs/freezing.rst @@ -1,5 +1,8 @@ -Cross-Compiling and Freezing Microdot (MicroPython Only) --------------------------------------------------------- +Cross-Compiling and Freezing Microdot +------------------------------------- + +.. note:: + This section only applies when using Microdot on MicroPython. Microdot is a fairly small framework, so its size is not something you need to be concerned about unless you are working with MicroPython on hardware with a @@ -36,7 +39,7 @@ Cross-Compiling An issue that is common with low-end microcontroller boards is that they do not have enough RAM for the MicroPython compiler to compile the source files, but -once the code is compiled they are able to run it without problems. +once the code is compiled they are able to run it just fine. To address this, MicroPython allows you to cross-compile source files on your desktop or laptop computer and then upload their compiled versions to the @@ -82,8 +85,8 @@ imported directly from the device's ROM, leaving more RAM available for application use. The process to create a custom firmware is unfortunately non-trivial and -different depending on the device, so you will need to consult the MicroPython -documentation that applies to your device to learn how to do this. +different for each microcontroller platform, so you will need to consult the +MicroPython documentation that applies to your device to learn how to do this. The part of the process that is common to all devices is the creation of a `manifest file `_ diff --git a/docs/intro.rst b/docs/intro.rst index b381d93..3ce4b49 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -339,10 +339,11 @@ of letters or numbers:: return 'User: ' + username The ``re`` type returns the URL component as a string, which sometimes may not -be the most convenient. In such cases, the application can register a custom -URL component type and provide a parser function. In the following example, -a ``hex`` custom type is registered to automatically convert the arguments to -numbers:: +be the most convenient. To convert a path component to something more +meaningful than a string, the application can register a custom URL component +type and provide a parser function that performs the conversion. In the +following example, a ``hex`` custom type is registered to automatically +convert hex numbers given in the path to numbers:: from microdot import URLPattern @@ -353,18 +354,18 @@ numbers:: user = get_user_by_id(user_id) # ... -In addition to the parser, the custom URL component can include a valid pattern -as a regular expression. When a pattern is provided, the URL component will -only match if the regular expression matches the value passed in the URL. The -``hex`` example above can be expanded with a pattern as follows:: +In addition to the parser, the custom URL component can include a pattern, +given as a regular expression. When a pattern is provided, the URL component +will only match if the regular expression matches the value passed in the URL. +The ``hex`` example above can be expanded with a pattern as follows:: URLPattern.register_type('hex', pattern='[0-9a-fA-F]+', parser=lambda value: int(value, 16)) In cases where a pattern isn't provided, or when the pattern is unable to -filter all invalid values, the parser function can return ``None`` to indicate -a failed match. The next example shows how the ``hex`` type can be expanded to -do that:: +filter out all invalid values, the parser function can return ``None`` to +indicate a failed match. The next example shows how the parser for the ``hex`` +type can be expanded to do that:: def hex_parser(value): try: @@ -372,7 +373,7 @@ do that:: except ValueError: return None - URLPattern.register_type('hex', pattern='[0-9a-fA-F]+', parser=hex_parser) + URLPattern.register_type('hex', parser=hex_parser) .. note:: Dynamic path components are passed to route functions as keyword arguments, @@ -931,18 +932,36 @@ Another option is to create a response object directly in the route function:: Concurrency ~~~~~~~~~~~ -Microdot implements concurrency through the ``asyncio`` package. Applications -must ensure their handlers do not block, as this will prevent other concurrent -requests from being handled. +Microdot implements concurrency through the ``asyncio`` package, which means +that applications must be careful to prevent blocking in their handlers. -When running under CPython, ``async def`` handler functions run as native -asyncio tasks, while ``def`` handler functions are executed in a -`thread executor `_ -to prevent them from blocking the asynchronous loop. +"async def" handlers +^^^^^^^^^^^^^^^^^^^^ + +The recommendation for route handlers in Microdot is to use asynchronous +functions, declared as ``async def``. Microdot executes these handler +functions as native asynchronous tasks. The standard considerations for writing +asynchronous code apply, and in particular blocking calls should be avoided to +ensure the application runs smoothly and is always responsive. + +"def" handlers +^^^^^^^^^^^^^^ + +Microdot also supports the use of synchronous route handlers, declared as +standard ``def`` functions. These handlers are handled differently under +CPython and MicroPython. + +When running on CPython, Microdot executes synchronous handlers in a +`thread executor `_, +which uses a thread pool. The use of blocking or CPU intensive code in these +handlers does not have such a negative effect on the application, because +handlers do not run on the same thread as the asynchronous loop. On the other +hand, the application will be affected by threading issues such as those caused +by the Global Interpreter Lock. Under MicroPython the situation is different. Most microcontroller boards -implementing MicroPython do not have threading support or executors, so ``def`` -handler functions in this platform can only run in the main and only thread. -These functions will block the asynchronous loop when they take too long to -complete so ``async def`` handlers properly written to allow other handlers to -run in parallel should be preferred. +do not have or have very limited threading support, so Microdot executes +synchronous handlers in the main and often only thread available. This means +that these functions will block the asynchronous loop when they take too long +to complete. The use of properly written asynchronous handlers should be +preferred. diff --git a/src/microdot/jinja.py b/src/microdot/jinja.py index 46cd9fe..0c6ac61 100644 --- a/src/microdot/jinja.py +++ b/src/microdot/jinja.py @@ -9,7 +9,8 @@ class Template: :param kwargs: any additional options to be passed to the Jinja environment's ``get_template()`` method. """ - #: The Jinja environment. + #: The Jinja environment. The ``initialize()`` method must be called before + #: this attribute is accessed. jinja_env = None @classmethod From aa76e6378b37faab52008a8aab8db75f81b29323 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 3 Mar 2025 19:10:33 +0000 Subject: [PATCH 14/39] Delay route compilation to allow late register_type calls --- src/microdot/__init__.py | 2 +- src/microdot/microdot.py | 7 +++++-- tests/test_url_pattern.py | 6 ++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/microdot/__init__.py b/src/microdot/__init__.py index b619686..f0fc5bd 100644 --- a/src/microdot/__init__.py +++ b/src/microdot/__init__.py @@ -1,2 +1,2 @@ from microdot.microdot import Microdot, Request, Response, abort, redirect, \ - send_file # noqa: F401 + send_file, URLPattern # noqa: F401 diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index e8bdcaa..a21467e 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -819,8 +819,10 @@ def __init__(self, url_pattern): self.url_pattern = url_pattern self.segments = [] self.regex = None + + def compile(self): pattern = '' - for segment in url_pattern.lstrip('/').split('/'): + for segment in self.url_pattern.lstrip('/').split('/'): if segment and segment[0] == '<': if segment[-1] != '>': raise ValueError('invalid URL pattern') @@ -844,6 +846,7 @@ def __init__(self, url_pattern): pattern += '/' + segment self.segments.append({'parser': None}) self.regex = re.compile('^' + pattern + '$') + return self.regex @classmethod def register_type(cls, type_name, pattern='[^/]+', parser=None): @@ -852,7 +855,7 @@ def register_type(cls, type_name, pattern='[^/]+', parser=None): def match(self, path): args = {} - g = self.regex.match(path) + g = (self.regex or self.compile()).match(path) if not g: return i = 1 diff --git a/tests/test_url_pattern.py b/tests/test_url_pattern.py index c3656bd..48ebde4 100644 --- a/tests/test_url_pattern.py +++ b/tests/test_url_pattern.py @@ -119,8 +119,10 @@ def test_many_arguments(self): self.assertIsNone(p.match('/foo/abc/def/123/test')) def test_invalid_url_patterns(self): - self.assertRaises(ValueError, URLPattern, '/users/') + p = URLPattern('/users/') + self.assertRaises(ValueError, p.compile) def test_custom_url_pattern(self): URLPattern.register_type('hex', '[0-9a-f]+') From 3bc31f10b2b2d4460c62366013278d87665f0f97 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 3 Mar 2025 19:16:18 +0000 Subject: [PATCH 15/39] Simplified urldecode logic --- src/microdot/microdot.py | 24 +++++------------------- tests/test_urlencode.py | 6 +++--- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index a21467e..119096e 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -57,7 +57,9 @@ def print_exception(exc): ] -def urldecode_str(s): +def urldecode(s): + if isinstance(s, bytes): + s = s.decode() s = s.replace('+', ' ') parts = s.split('%') if len(parts) == 1: @@ -73,22 +75,6 @@ def urldecode_str(s): return ''.join(result) -def urldecode_bytes(s): - s = s.replace(b'+', b' ') - parts = s.split(b'%') - if len(parts) == 1: - return s.decode() - result = [parts[0]] - for item in parts[1:]: - if item == b'': - result.append(b'%') - else: - code = item[:2] - result.append(bytes([int(code, 16)])) - result.append(item[2:]) - return b''.join(result).decode() - - def urlencode(s): return s.replace('+', '%2B').replace(' ', '+').replace( '%', '%25').replace('?', '%3F').replace('#', '%23').replace( @@ -441,12 +427,12 @@ def _parse_urlencoded(self, urlencoded): if isinstance(urlencoded, str): for kv in [pair.split('=', 1) for pair in urlencoded.split('&') if pair]: - data[urldecode_str(kv[0])] = urldecode_str(kv[1]) \ + data[urldecode(kv[0])] = urldecode(kv[1]) \ if len(kv) > 1 else '' elif isinstance(urlencoded, bytes): # pragma: no branch for kv in [pair.split(b'=', 1) for pair in urlencoded.split(b'&') if pair]: - data[urldecode_bytes(kv[0])] = urldecode_bytes(kv[1]) \ + data[urldecode(kv[0])] = urldecode(kv[1]) \ if len(kv) > 1 else b'' return data diff --git a/tests/test_urlencode.py b/tests/test_urlencode.py index db21d85..a32e8d4 100644 --- a/tests/test_urlencode.py +++ b/tests/test_urlencode.py @@ -1,5 +1,5 @@ import unittest -from microdot.microdot import urlencode, urldecode_str, urldecode_bytes +from microdot.microdot import urlencode, urldecode class TestURLEncode(unittest.TestCase): @@ -7,5 +7,5 @@ def test_urlencode(self): self.assertEqual(urlencode('?foo=bar&x'), '%3Ffoo%3Dbar%26x') def test_urldecode(self): - self.assertEqual(urldecode_str('%3Ffoo%3Dbar%26x'), '?foo=bar&x') - self.assertEqual(urldecode_bytes(b'%3Ffoo%3Dbar%26x'), '?foo=bar&x') + self.assertEqual(urldecode('%3Ffoo%3Dbar%26x'), '?foo=bar&x') + self.assertEqual(urldecode(b'%3Ffoo%3Dbar%26x'), '?foo=bar&x') From 00bf53582187f7e8ce13b1363ccb7da91bdb9066 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Mar 2025 10:19:46 +0000 Subject: [PATCH 16/39] Bump jinja2 from 3.1.5 to 3.1.6 in /examples/benchmark (#286) #nolog Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/benchmark/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/benchmark/requirements.txt b/examples/benchmark/requirements.txt index 9dd6701..71cc9a1 100644 --- a/examples/benchmark/requirements.txt +++ b/examples/benchmark/requirements.txt @@ -57,7 +57,7 @@ itsdangerous==2.1.2 # via # flask # quart -jinja2==3.1.5 +jinja2==3.1.6 # via # flask # quart From d203df75fef32c7cc0fe7cc6525e77522b37a289 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 16 Mar 2025 20:31:06 +0000 Subject: [PATCH 17/39] urldecoding should always be done in bytes --- src/microdot/microdot.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 119096e..a0373c8 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -58,21 +58,21 @@ def print_exception(exc): def urldecode(s): - if isinstance(s, bytes): - s = s.decode() - s = s.replace('+', ' ') - parts = s.split('%') + if isinstance(s, str): + s = s.encode() + s = s.replace(b'+', b' ') + parts = s.split(b'%') if len(parts) == 1: - return s + return s.decode() result = [parts[0]] for item in parts[1:]: - if item == '': - result.append('%') + if item == b'': + result.append(b'%') else: code = item[:2] - result.append(chr(int(code, 16))) + result.append(bytes([int(code, 16)])) result.append(item[2:]) - return ''.join(result) + return b''.join(result).decode() def urlencode(s): From 4cc2e95338a7de3b03742389004147ee21285621 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 16 Mar 2025 20:34:38 +0000 Subject: [PATCH 18/39] Update micropython version used in tests to 1.24.1 --- bin/micropython | Bin 813560 -> 842216 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/micropython b/bin/micropython index 41e162ee5a797be8dd846017039313fe606f2eda..6d1c26314140814ac490c2c256e44a5964106af3 100755 GIT binary patch literal 842216 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 z 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

x+_SR+BV#b6;B0^ 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

qdjli>;Y6#B0m-qy^*7s&O2ih)Jc zn@2t*{$fq|%fUypP-o%&O&rzf!!r%|zvOuv@Bdd=$pN_2dltvScMU7SAKx*a0h4bV z&%b4u1}h6MBMR>a0HfL1y?n@JO%* zyXaYyHv=nZ_e4;B8^S#Ko;b_=R52d&o~6sVgsfSn*RedTB5T=BYmiX2C==tG67iUCF=IpJ-`%3C7`yb*}h1 z+rspcU;<2ISGkgXS>ZG~PyJO+o}oMq){S5MPDKAd&8^-PaVn;)^C$b{DyE-z@=E4g zZCyF-Z$$sa?*0l6gLb z6VBlq$x>+XWj3JwE&O^QJ;OA5RbZNREZ5%bYrt~KtJ+z45{%X}o?qASO)x{f6W6iw zG?)U5Q4lY7Sr>0LNyuc)ihEP6S z7cS&L$Cr()o*i{OquvzdQct=1H9u1u)6Y&`Eq`@>EFTH8Xln^<{<@^bbKMf=iES?XOBzmzBZ z^`w6m(4PxkOVa4<=KCBXjZ^~6tId$zMUGL6)qL@%|v#hd=K z*=6hOST88g*OgmCYP-{3Fo~a<3hD=wU;=qD4dy>j-gZQufvY`j;uXy@9zR1Nl7kk2t=D`)k0yxc&dSkEn`@n(H&JV1$`kQ#$ z!mHpt>F-K-55{)|ycg?gx%3$iwY0Yf_b+nrp7du8yg&Y{;o~e#Q5Ad={!;K>%%>!L z;U<=e4jl~l18cw+zz@MEJDT2*Z495@+VIM?6icX$%s8@&qn5O@Oa^QicGF^+`gPn!R^lt=LH_{%?G za@j9IukLw=877}eztq5|FdnPnW$-HaV*I4wt;uI4T=gX3a~RJR@P^vgmU?>OFM5jj zX-@_|8ND=of$mqrSMuM8{W!))ssVos$WP*Fi)SVO6ig?sKIA8Z{#3W#O?T_nWH@0) zQ{bE6w-0_(S*w3B`K*MG)ctt4>QBI@GF~HiL-9|-Z!h)}RWq%=Uc{4t&xC7zp99xn zagIA4&4o)o4{obRc>m*2`!x7u!-s}RVv*|knuz)*(I2(XSbU4fPafWfMCRcA;aSO9 z&ogk%kI}SWSoN&=A4ho#-iz^83Gc1(2k!%~fDgw$0Urr3hxdm^vWMqs?+|z`yglLk2JiY{+~iUdJd%OIctAUwHIDy#ZeMYSWyDbwk4{7k7j(RSG&0J zGu@95#-GO5RL8m86F&=77}=AG@QGQdE27AD&~`m z<2k)N{EaK}>X=U`@=VM}7I{s~Clz@%=A(-|7xSs`j&Wt-Zwh>CqtO)hKcT((f_{ol6x)-CT`Vc;7uq|aC{M<6PRrta7TP<#C{M-m9!38J`AjFDTa+hb{r1K7 z74oI|)th-I%*?WZw9{xC8TVaac=d%EDY3UGy7t;qZl%TlSG~pL*Zj@!hno#Gej1X? z!!dW7{zG8mu2TDkZ}hV-oBn96Z}2kae+_&p z^FJfG_CxUD*yrF=n9tSl>F_js0`*r(&bp9-`}QrFV(mZpUc9P?Kk2E`_SWgY zZta^ceYnO;ZO-J1KMz;@Ik@tXg)1L5vZs9+xY}0@uge!)?X7~Vy(#!*v#dQ|fIXi# zuKsUGuKrK(Vdg%zkaU2*2j2v~7@mSR-`Di}!`FomfOmnP0N)Kh7=8$R2z(&?WcZnI zUH2IWCwc9F!{eFhqpX{`1d#Y zhVXQy@vS63*!Z53!w-|Zx5)=e&Hy<>a(Hc})t6?#jg=feQT7bDdnAWvC1(J?EjfIl zU6dm!~QAvT3a@IOnwliBx@9NtfICfMoX-Aw;d>BIjfIRo|~$>Fa^o;3T< zB;UjMkCMYz`z!s`)8re&)9`I2-_zuKOAbFu^1V!clH~BT{x@AHiJlKgz*10;u^E`Ey1FBKnVe6sA}Pe?x066U9v*hsIBnGX5YLw?SXFuPji6(v*an$|BHBE<3~#WIO9Xb6UIkLe-q=^N)EqM@(w1S zE;;-)$vc|-6UpJg-O>+1?l5cMEV(tUrSzL@}`HY9Umg7j-UeRN*)-RHXW-@VYPigW=`*aIRRhWkpHOuZ@I(dx;Ib3foKc=_7a6F-Wt zWj)pGOlxm>+xlCg(l+m!|K{K_;{Og@1U?F055`GaKU$@%oOV*N>b$e^w*$J9)-&??3J2DaXBj(#aE!d;Q4C^L681E2~*( zyk(s{%<{U@C~;keh2oIF3KG(NANb@GhkUO(;RDaXBj(#aE! zd;Q4C^V|RmztAYv0%|^Hojl{XjHI7-@|5FVKk4KN$Gv{!nEK&;keh2oIGE*p4XrM#La4-VfLm{?#F-1$s^ARNd1+$vD9DEaUXwvQmKC0aj&0n z^6U+z_Fg~b<(~WaCzkq4I_~}FuP@b4JMQ%pPM*E4)ZXi-yxemi|Fxz5l8$@-`D;q` z(~f)ngp+5lF17diDKGcj$3LOeU(#{!KYvxJe%f)bpK$VQb*a7APkFiLKK?69{Usgu z{_|Iq>Zcv|`Uxk`US4YN^;2H%xsU&{Qh!Ouz5o39QvI~!UO(aF*>R=zUO(mKp8NPO zE%ldl-22a8QmUVJ-0LTtJbQ7ez1L59x#vFqv8Dc!j(h+4i%Rv=j(h#Y1JdXE!TqJ& zum2e*PdUDle<#o1SL)yEXPi9cxYtiOdH(N>_;>P@<16`h^8CGx_;>P@<16`h^8A!W z{5yHd@s<2LdH$Y8{5yHd@s<2LdH(K3{5yHd@s<2LdH$|O{5yHd@s<2LdH&8u{5yHd z@s<2LdH#+@{5yHd@s<2LdH(iB{5yHd@s<2LdH%LW{5yHd@s<2Ld46&u{+&GK_)7kr zJb!B={+&GK_)7krJfCUAzmumNU&+6d=Wl7mzmumN_x{t<DJn6XC&(2UhT>o_3kN>ojryTeGlTMy+ z-0Me9o`145KChp3@{HqNKkeix$Gv{i$rFxy{m9AlPc#z0lV=?F{?ksLa@^}Dojl>V z*N>b$KfRIoojl{X_n&t1l;d7M>EsE=y?*56`MUMI{_CH2KW*)6g`)@I)4{?`{vey> z^j?L(=gL2K{2TZZ&}s|stIn3zTMpj<)N`YqoZdF@T|hk_p*;Ln+|T*%4Zrjmi%(fQ zigM+nFZ^lRrSd_PtDUF9zrdgJe2&w*2;P3CS<3!Or*{MVK=hQS+nnBg@HBe=ZJr** zkJ>i_{v5ao34a-`_PqsP0B-hMI|lu4oL@cXAk=Za+l!Vl#i{2dgnEwSN9Rw^T?p0R z+c|%FUPGw6&pSIkJ?9}*JbO4jJ)a>|Kkno7^qhxK{dl0$)AJ%idurpqO!^9DO>t zkE_Dh2bKSg;Cg;(Gx)Zk^1mlsdD#zsFsS^m5W+8h?1!D=I|-g%!CxHXA)%9$*{rpV%F$__EgK z)GOBi&6_uinufpDlwU-7OUgS^K1KSgnEsZO&!xN#<(pEzM1ESE{#KNCc-87Hr+h8S zdr{sz{0>JP&)Sp^rMxBOTTost{qQ>=v3@toAECSr<((-1Kz>@Aeg)-auPGiYzd5qM zPIcwsNsjP$6Xp9--ewgm=j$2KV9J|QuJ09HLU~Kd`T9h3xAdEvpY8BJOZt>k9O?H9 z#2Z45pJ(5+c4@pWglqn-_m;`EP8NDz;XUCk z;l1FizH4Icup z630&x-j@2cj+eo;|7i`!ENV+W>-6Du`f$vmA#}TXe>fj5pq=fVzYcIcci#mr`|faF zgAw(Bt3P|f70>D8Y#gl#zJDbXfcll+xjfjf@59!R-+7kiDD#ee7*4*k@a~eM@47G2 z`=83u@2>>`z6ARu+}o?Z9P+k&&%IjqoUo+fdLLD71OB}KKluM{2K2imRs0@_-h+|n zeHr@wnMCwWSfaE_h2MQU&SqHU2pb?jE?}UzaJ4tr_fr0ZeCAnZzw8XdE8t^~GTszi zbg1zY`Wk*gy)W^5HCr5J<)?xV_cK1W+VGRh4d2Dz=wav|Y6JaW|1|!?qlVA4wDRU* z{}TUAS!m^tKVdkim*H8&+wWN8hYU0vd$!>~zusNW~67-qa2tQ~4R2iAbqCs}#LSnMxC4=ktLC#t;4^b*uBEplWL$nQ51IiO`@`<&6*dMtbrNx-;{OY+QV!-KFGM={0QUo z`Tek!^RrtVZ^)1R{eZve;C0|g(A$S!01IEa3enKZXWnY@91pH?oAGzyJAmq+!mubV z*HI<@$ zo@f%n39Tulr1{DBoBXH;3|qpdVV~%4<4*Hi=SkW(Mc>-SLi1yF{D@x<*Lb?+KC4H3 z569hOI`>8a%yHy)yjyL<>@M^f;Kbk^+4)O~4a0XBk zuJ-|!!}b2nH2(NHca&f~TR=m~;eFIFt#_=KJ!-6C-c=k=Kct@&Rt@X)^5v$#&Lf7BE57CUlYR@nzqo*QNZ-qA8w{pe1%1Zg!pY@@z-n85TKiP-OZgceS#LvM`T6qiNOELb7 z`Tn!b&nWiSvej?(S4;ckSNW6wbo5F*f8)Qxj971m#d9ZdnJBzOtM2y<`^53^dxXuR zo6$e&X|wD8jA8i+^&elNXoomIjoRyYzH-0PAxBON14fp@%ztg_M z@3c?+PWz32r~Qt<%04%wq5j+EciR8ySJ^k*e}Dd+_6PjB^{>JCyXmj1|Kx`9x7qKs z@A5nCxBH#;o2+0T&JG$le(89Zjy@?lKJNUy9p9dtW$4$()uPWhUYlf(*`{|Xc1z*i zU#{QYUys@A71L8Z1$mQDRybNm(YTz+E5W9}QGd%&1+xu(tGnV?!p*+p?G5JeJ!!=Y317qf5vpWJ*`+03qRB^G55B<(Y z)dR+Ra-$_zZCt-2k>~d({PkFfRTHN0P5?|aYl{&~H}J3!4DP3B+k-_Fc5uJ;93 z%`&dM3H7@ni5inHVST6}pIyjbdZNkoI~v)k#&usQ#r>gPx_|VL$;ZKyR~es4ezN3` z%WzRSfs}E-vxfHQzG!By+3P*)Y2L@~?>F>dp~*gnJ`*x|zj6JJcUJc+NJRE%lWY7% zQDs?S0NSz??fborzrDUQRQ`(kr)#{%qOv#sZF*VmZ%E&x)(?ODNPky){P_0|=1=o| zEIh&bSbn<2ulajA^^1=}U-7#2y6gw^Q}|JwijQurYh#x9ZQqqQ&JK>ZsNkg}h5`Duo|)~jtCKMr23ziZvGFm~PcKjvBX?UouZ>W>PSQ^P^J z%&zbD`pM*scK^?=OmW)BZ8u z6Et0lUV`Iv@=O~avJ1>nR;G8`tTHdF}zZ89t
v4bjOYADRZ~Y$aoQQqitsC+eo-Eb=`ZxK@Fz(g< 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⪚tX%v( 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%0DAhz#iqFkttA*^3TW=phx~QG6m*Q|1&ZL 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�GQ``ZB> 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Ƨbzh!0c**_hU1kb5H582&bs9UvtrD9G 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

Microdot Multipart Form-Data Example

+
+

Name:

+

Age:

+

Comments:

+

File:

+ +
+ + diff --git a/examples/uploads/formdata.py b/examples/uploads/formdata.py new file mode 100644 index 0000000..2efdcfa --- /dev/null +++ b/examples/uploads/formdata.py @@ -0,0 +1,26 @@ +from microdot import Microdot, send_file, Request +from microdot.multipart import with_form_data + +app = Microdot() +Request.max_content_length = 1024 * 1024 # 1MB (change as needed) + + +@app.get('/') +async def index(request): + return send_file('formdata.html') + + +@app.post('/') +@with_form_data +async def upload(request): + print('Form fields:') + for field, value in request.form.items(): + print(f'- {field}: {value}') + print('\nFile uploads:') + for field, value in request.files.items(): + print(f'- {field}: {value.filename}, {await value.read()}') + return 'We have received your data!' + + +if __name__ == '__main__': + app.run(debug=True) diff --git a/examples/uploads/index.html b/examples/uploads/simple_uploads.html similarity index 100% rename from examples/uploads/index.html rename to examples/uploads/simple_uploads.html diff --git a/examples/uploads/uploads.py b/examples/uploads/simple_uploads.py similarity index 95% rename from examples/uploads/uploads.py rename to examples/uploads/simple_uploads.py index 37648e9..3530bc2 100644 --- a/examples/uploads/uploads.py +++ b/examples/uploads/simple_uploads.py @@ -6,7 +6,7 @@ @app.get('/') async def index(request): - return send_file('index.html') + return send_file('simple_uploads.html') @app.post('/upload') diff --git a/src/microdot/__init__.py b/src/microdot/__init__.py index f0fc5bd..2637085 100644 --- a/src/microdot/__init__.py +++ b/src/microdot/__init__.py @@ -1,2 +1,2 @@ from microdot.microdot import Microdot, Request, Response, abort, redirect, \ - send_file, URLPattern # noqa: F401 + send_file, URLPattern, AsyncBytesIO, iscoroutine # noqa: F401 diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index a0373c8..045000b 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -371,6 +371,7 @@ def __init__(self, app, client_addr, method, url, http_version, headers, self.sock = sock self._json = None self._form = None + self._files = None self.after_request_handlers = [] @staticmethod @@ -465,7 +466,13 @@ def json(self): def form(self): """The parsed form submission body, as a :class:`MultiDict ` object, or ``None`` if the - request does not have a form submission.""" + request does not have a form submission. + + Forms that are URL encoded are processed by default. For multipart + forms to be processed, the + :func:`with_form_data ` + decorator must be added to the route. + """ if self._form is None: if self.content_type is None: return None @@ -475,6 +482,17 @@ def form(self): self._form = self._parse_urlencoded(self.body) return self._form + @property + def files(self): + """The files uploaded in the request as a dictionary, or ``None`` if + the request does not have any files. + + The :func:`with_form_data ` + decorator must be added to the route that receives file uploads for + this property to be set. + """ + return self._files + def after_request(self, f): """Register a request-specific function to run after the request is handled. Request-specific after request handlers run at the very end, diff --git a/src/microdot/multipart.py b/src/microdot/multipart.py new file mode 100644 index 0000000..62acc70 --- /dev/null +++ b/src/microdot/multipart.py @@ -0,0 +1,291 @@ +import os +from random import choice +from microdot import abort, iscoroutine, AsyncBytesIO +from microdot.helpers import wraps + + +class FormDataIter: + """Asynchronous iterator that parses a ``multipart/form-data`` body and + returns form fields and files as they are parsed. + + :param request: the request object to parse. + + Example usage:: + + from microdot.multipart import FormDataIter + + @app.post('/upload') + async def upload(request): + async for name, value in FormDataIter(request): + print(name, value) + + The iterator returns no values when the request has a content type other + than ``multipart/form-data``. For a file field, the returned value is of + type :class:`FileUpload`, which supports the + :meth:`read() ` and :meth:`save() ` + methods. Values for regular fields are provided as strings. + + The request body is read efficiently in chunks of size + :attr:`buffer_size `. On iterations in which a + file field is encountered, the file must be consumed before moving on to + the next iteration, as the internal stream stored in ``FileUpload`` + instances is invalidated at the end of the iteration. + """ + #: The size of the buffer used to read chunks of the request body. + buffer_size = 256 + + def __init__(self, request): + self.request = request + self.buffer = None + try: + mimetype, boundary = request.content_type.rsplit('; boundary=', 1) + except ValueError: + return # not a multipart request + if mimetype.split(';', 1)[0] == \ + 'multipart/form-data': # pragma: no branch + self.boundary = b'--' + boundary.encode() + self.extra_size = len(boundary) + 4 + self.buffer = b'' + + def __aiter__(self): + return self + + async def __anext__(self): + if self.buffer is None: + raise StopAsyncIteration + + # make sure we have consumed the previous entry + while await self._read_buffer(self.buffer_size) != b'': + pass + + # make sure we are at a boundary + s = self.buffer.split(self.boundary, 1) + if len(s) != 2 or s[0] != b'': + abort(400) # pragma: no cover + self.buffer = s[1] + if self.buffer[:2] == b'--': + # we have reached the end + raise StopAsyncIteration + elif self.buffer[:2] != b'\r\n': + abort(400) # pragma: no cover + self.buffer = self.buffer[2:] + + # parse the headers of this part + name = '' + filename = None + content_type = None + while True: + await self._fill_buffer() + lines = self.buffer.split(b'\r\n', 1) + if len(lines) != 2: + abort(400) # pragma: no cover + line, self.buffer = lines + if line == b'': + # we reached the end of the headers + break + header, value = line.decode().split(':', 1) + header = header.lower() + value = value.strip() + if header == 'content-disposition': + parts = value.split(';') + if len(parts) < 2 or parts[0] != 'form-data': + abort(400) # pragma: no cover + for part in parts[1:]: + part = part.strip() + if part.startswith('name="'): + name = part[6:-1] + elif part.startswith('filename="'): # pragma: no branch + filename = part[10:-1] + elif header == 'content-type': # pragma: no branch + content_type = value + + if filename is None: + # this is a regular form field, so we read the value + value = b'' + while True: + v = await self._read_buffer(self.buffer_size) + value += v + if len(v) < self.buffer_size: # pragma: no branch + break + return name, value.decode() + return name, FileUpload(filename, content_type, self._read_buffer) + + async def _fill_buffer(self): + self.buffer += await self.request.stream.read( + self.buffer_size + self.extra_size - len(self.buffer)) + + async def _read_buffer(self, n=-1): + data = b'' + while n == -1 or len(data) < n: + await self._fill_buffer() + s = self.buffer.split(self.boundary, 1) + data += s[0][:n] if n != -1 else s[0] + self.buffer = s[0][n:] if n != -1 else b'' + if len(s) == 2: # pragma: no branch + # the end of this part is in the buffer + if len(self.buffer) < 2: + # we have read all the way to the end of this part + data = data[:-(2 - len(self.buffer))] # remove last "\r\n" + self.buffer += self.boundary + s[1] + return data + return data + + +class FileUpload: + """Class that represents an uploaded file. + + :param filename: the name of the uploaded file. + :param content_type: the content type of the uploaded file. + :param read: a coroutine that reads from the uploaded file's stream. + + An uploaded file can be read from the stream using the :meth:`read()` + method or saved to a file using the :meth:`save()` method. + + Instances of this class do not normally need to be created directly. + """ + #: The size at which the file is copied to a temporary file. + max_memory_size = 1024 + + def __init__(self, filename, content_type, read): + self.filename = filename + self.content_type = content_type + self._read = read + self._close = None + + async def read(self, n=-1): + """Read up to ``n`` bytes from the uploaded file's stream. + + :param n: the maximum number of bytes to read. If ``n`` is -1 or not + given, the entire file is read. + """ + return await self._read(n) + + async def save(self, path_or_file): + """Save the uploaded file to the given path or file object. + + :param path_or_file: the path to save the file to, or a file object + to which the file is to be written. + + The file is read and written in chunks of size + :attr:`FormDataIter.buffer_size`. + """ + if isinstance(path_or_file, str): + f = open(path_or_file, 'wb') + else: + f = path_or_file + while True: + data = await self.read(FormDataIter.buffer_size) + if not data: + break + f.write(data) + if f != path_or_file: + f.close() + + async def copy(self, max_memory_size=None): + """Copy the uploaded file to a temporary file, to allow the parsing of + the multipart form to continue. + + :param max_memory_size: the maximum size of the file to keep in memory. + If not given, then the class attribute of the + same name is used. + """ + max_memory_size = max_memory_size or FileUpload.max_memory_size + buffer = await self.read(max_memory_size) + if len(buffer) < max_memory_size: + f = AsyncBytesIO(buffer) + self._read = f.read + return self + + # create a temporary file + while True: + tmpname = "".join([ + choice('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') + for _ in range(12) + ]) + try: + f = open(tmpname, 'x+b') + except OSError as e: # pragma: no cover + if e.errno == 17: + # EEXIST + continue + elif e.errno == 2: + # ENOENT + # some MicroPython platforms do not support mode "x" + f = open(tmpname, 'w+b') + if f.read(1) != b'': + f.close() + continue + else: + raise + break + f.write(buffer) + await self.save(f) + f.seek(0) + + async def read(n=-1): + return f.read(n) + + async def close(): + f.close() + os.remove(tmpname) + + self._read = read + self._close = close + return self + + async def close(self): + """Close an open file. + + This method must be called to free memory or temporary files created by + the ``copy()`` method. + + Note that when using the ``@with_form_data`` decorator this method is + called automatically when the request ends. + """ + if self._close: + await self._close() + self._close = None + + +def with_form_data(f): + """Decorator that parses a ``multipart/form-data`` body and updates the + request object with the parsed form fields and files. + + Example usage:: + + from microdot.multipart import with_form_data + + @app.post('/upload') + @with_form_data + async def upload(request): + print('form fields:', request.form) + print('files:', request.files) + + Note: this decorator calls the :meth:`FileUpload.copy() + ` method on all uploaded files, so that + the request can be parsed in its entirety. The files are either copied to + memory or a temporary file, depending on their size. The temporary files + are automatically deleted when the request ends. + """ + @wraps(f) + async def wrapper(request, *args, **kwargs): + form = {} + files = {} + async for name, value in FormDataIter(request): + if isinstance(value, FileUpload): + files[name] = await value.copy() + else: + form[name] = value + if form or files: + request._form = form + request._files = files + try: + ret = f(request, *args, **kwargs) + if iscoroutine(ret): + ret = await ret + finally: + if request.files: + for file in request.files.values(): + await file.close() + return ret + return wrapper diff --git a/tests/__init__.py b/tests/__init__.py index 3d8601f..f1ead3f 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -4,6 +4,7 @@ from tests.test_response import * # noqa: F401, F403 from tests.test_urlencode import * # noqa: F401, F403 from tests.test_url_pattern import * # noqa: F401, F403 +from tests.test_multipart import * # noqa: F401, F403 from tests.test_websocket import * # noqa: F401, F403 from tests.test_sse import * # noqa: F401, F403 from tests.test_cors import * # noqa: F401, F403 diff --git a/tests/test_multipart.py b/tests/test_multipart.py new file mode 100644 index 0000000..f5db84a --- /dev/null +++ b/tests/test_multipart.py @@ -0,0 +1,192 @@ +import asyncio +import os +import unittest +from microdot import Microdot +from microdot.multipart import with_form_data, FileUpload, FormDataIter +from microdot.test_client import TestClient + + +class TestMultipart(unittest.TestCase): + @classmethod + def setUpClass(cls): + if hasattr(asyncio, 'set_event_loop'): + asyncio.set_event_loop(asyncio.new_event_loop()) + cls.loop = asyncio.get_event_loop() + + def _run(self, coro): + return self.loop.run_until_complete(coro) + + def test_simple_form(self): + app = Microdot() + + @app.post('/sync') + @with_form_data + def sync_route(req): + return dict(req.form) + + @app.post('/async') + @with_form_data + async def async_route(req): + return dict(req.form) + + client = TestClient(app) + + res = self._run(client.post( + '/sync', headers={ + 'Content-Type': 'multipart/form-data; boundary=boundary', + }, + body=( + b'--boundary\r\n' + b'Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="baz"\r\n\r\nbaz\r\n' + b'--boundary--\r\n') + )) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.json, {'foo': 'bar', 'baz': 'baz'}) + + res = self._run(client.post( + '/async', headers={ + 'Content-Type': 'multipart/form-data; boundary=boundary', + }, + body=( + b'--boundary\r\n' + b'Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="baz"\r\n\r\nbaz\r\n' + b'--boundary--\r\n') + )) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.json, {'foo': 'bar', 'baz': 'baz'}) + + def test_form_with_files(self): + saved_max_memory_size = FileUpload.max_memory_size + FileUpload.max_memory_size = 5 + + app = Microdot() + + @app.post('/async') + @with_form_data + async def async_route(req): + d = dict(req.form) + for name, file in req.files.items(): + d[name] = '{}|{}|{}'.format(file.filename, file.content_type, + (await file.read()).decode()) + return d + + client = TestClient(app) + + res = self._run(client.post( + '/async', headers={ + 'Content-Type': 'multipart/form-data; boundary=boundary', + }, + body=( + b'--boundary\r\n' + b'Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="f"; filename="f"\r\n' + b'Content-Type: text/plain\r\n\r\nbaz\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="g"; filename="g"\r\n' + b'Content-Type: text/html\r\n\r\n

hello

\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="x"\r\n\r\ny\r\n' + b'--boundary--\r\n') + )) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.json, {'foo': 'bar', 'x': 'y', + 'f': 'f|text/plain|baz', + 'g': 'g|text/html|

hello

'}) + FileUpload.max_memory_size = saved_max_memory_size + + def test_file_save(self): + app = Microdot() + + @app.post('/async') + @with_form_data + async def async_route(req): + for _, file in req.files.items(): + await file.save('_x.txt') + + client = TestClient(app) + + res = self._run(client.post( + '/async', headers={ + 'Content-Type': 'multipart/form-data; boundary=boundary', + }, + body=( + b'--boundary\r\n' + b'Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="f"; filename="f"\r\n' + b'Content-Type: text/plain\r\n\r\nbaz\r\n' + b'--boundary--\r\n') + )) + self.assertEqual(res.status_code, 204) + with open('_x.txt', 'rb') as f: + self.assertEqual(f.read(), b'baz') + os.unlink('_x.txt') + + def test_no_form(self): + app = Microdot() + + @app.post('/async') + @with_form_data + async def async_route(req): + return str(req.form) + + client = TestClient(app) + + res = self._run(client.post('/async', body={'foo': 'bar'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'None') + + def test_upload_iterator(self): + app = Microdot() + + @app.post('/async') + async def async_route(req): + d = {} + async for name, value in FormDataIter(req): + if isinstance(value, FileUpload): + d[name] = '{}|{}|{}'.format(value.filename, + value.content_type, + (await value.read(4)).decode()) + else: + d[name] = value + return d + + client = TestClient(app) + + res = self._run(client.post( + '/async', headers={ + 'Content-Type': 'multipart/form-data; boundary=boundary', + }, + body=( + b'--boundary\r\n' + b'Content-Disposition: form-data; name="foo"\r\n\r\nbar\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="f"; filename="f"\r\n' + b'Content-Type: text/plain\r\n\r\nbaz\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="g"; filename="g.h"\r\n' + b'Content-Type: text/html\r\n\r\n

hello

\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="x"\r\n\r\ny\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="h"; filename="hh"\r\n' + b'Content-Type: text/plain\r\n\r\nyy' + (b'z' * 500) + b'\r\n' + b'--boundary\r\n' + b'Content-Disposition: form-data; name="i"; filename="i.1"\r\n' + b'Content-Type: text/plain\r\n\r\n1234\r\n' + b'--boundary--\r\n') + )) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.json, { + 'foo': 'bar', + 'f': 'f|text/plain|baz', + 'g': 'g.h|text/html|

h', + 'x': 'y', + 'h': 'hh|text/plain|yyzz', + 'i': 'i.1|text/plain|1234', + }) From 9337a2ec9bb763d25cde9dcee587ce05a0d013c0 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 22 Mar 2025 12:35:02 +0000 Subject: [PATCH 21/39] Release 2.2.0 --- CHANGES.md | 12 ++++++++++++ pyproject.toml | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 94d3c8a..1ce2e9b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,17 @@ # Microdot change log +**Release 2.2.0** - 2025-03-22 + +- Support for multipart/form-data requests [#287](https://github.com/miguelgrinberg/microdot/issues/287) ([commit](https://github.com/miguelgrinberg/microdot/commit/11a91a60350518e426b557fae8dffe75912f8823)) +- Support custom path components in URLs ([commit](https://github.com/miguelgrinberg/microdot/commit/c92b5ae28222af5a1094f5d2f70a45d4d17653d5)) +- Expose the Jinja environment as Template.jinja_env ([commit](https://github.com/miguelgrinberg/microdot/commit/953dd9432122defe943f0637bbe7e01f2fc7743f)) +- Delay route compilation to allow late register_type calls ([commit](https://github.com/miguelgrinberg/microdot/commit/aa76e6378b37faab52008a8aab8db75f81b29323)) +- urldecoding should always be done in bytes ([commit](https://github.com/miguelgrinberg/microdot/commit/d203df75fef32c7cc0fe7cc6525e77522b37a289)) +- Simplified urldecode logic ([commit](https://github.com/miguelgrinberg/microdot/commit/3bc31f10b2b2d4460c62366013278d87665f0f97)) +- Additional urldecode tests ([commit](https://github.com/miguelgrinberg/microdot/commit/99f65c0198590c0dfb402c24685b6f8dfba1935d)) +- Update micropython version used in tests to 1.24.1 ([commit](https://github.com/miguelgrinberg/microdot/commit/4cc2e95338a7de3b03742389004147ee21285621)) +- Documentation improvements ([commit](https://github.com/miguelgrinberg/microdot/commit/c6b99b6d8117d4e40e16d5b953dbf4deb023d24d)) + **Release 2.1.0** - 2025-02-04 - User login support ([commit](https://github.com/miguelgrinberg/microdot/commit/d807011ad006e53e70c4594d7eac04d03bb08681)) diff --git a/pyproject.toml b/pyproject.toml index 6be6ad4..4029dc2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.1.1.dev0" +version = "2.2.0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 1edfb8daa794f6e049086b68385617687dc97f08 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 22 Mar 2025 12:37:02 +0000 Subject: [PATCH 22/39] Version 2.2.1.dev0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4029dc2..e4398bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.2.0" +version = "2.2.1.dev0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 1aa035378e11e51b5b32a61bbd973be4b230dc50 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 22 Mar 2025 12:40:27 +0000 Subject: [PATCH 23/39] Updates to change log #nolog --- CHANGES.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 1ce2e9b..677c61b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,15 +2,13 @@ **Release 2.2.0** - 2025-03-22 -- Support for multipart/form-data requests [#287](https://github.com/miguelgrinberg/microdot/issues/287) ([commit](https://github.com/miguelgrinberg/microdot/commit/11a91a60350518e426b557fae8dffe75912f8823)) -- Support custom path components in URLs ([commit](https://github.com/miguelgrinberg/microdot/commit/c92b5ae28222af5a1094f5d2f70a45d4d17653d5)) -- Expose the Jinja environment as Template.jinja_env ([commit](https://github.com/miguelgrinberg/microdot/commit/953dd9432122defe943f0637bbe7e01f2fc7743f)) -- Delay route compilation to allow late register_type calls ([commit](https://github.com/miguelgrinberg/microdot/commit/aa76e6378b37faab52008a8aab8db75f81b29323)) -- urldecoding should always be done in bytes ([commit](https://github.com/miguelgrinberg/microdot/commit/d203df75fef32c7cc0fe7cc6525e77522b37a289)) -- Simplified urldecode logic ([commit](https://github.com/miguelgrinberg/microdot/commit/3bc31f10b2b2d4460c62366013278d87665f0f97)) +- Support for `multipart/form-data` requests [#287](https://github.com/miguelgrinberg/microdot/issues/287) ([commit](https://github.com/miguelgrinberg/microdot/commit/11a91a60350518e426b557fae8dffe75912f8823)) +- Support custom path components in URLs ([commit #1](https://github.com/miguelgrinberg/microdot/commit/c92b5ae28222af5a1094f5d2f70a45d4d17653d5) [commit #2](https://github.com/miguelgrinberg/microdot/commit/aa76e6378b37faab52008a8aab8db75f81b29323)) +- Expose the Jinja environment as `Template.jinja_env` ([commit](https://github.com/miguelgrinberg/microdot/commit/953dd9432122defe943f0637bbe7e01f2fc7743f)) +- Simplified urldecode logic ([commit #1](https://github.com/miguelgrinberg/microdot/commit/3bc31f10b2b2d4460c62366013278d87665f0f97) [commit #2](https://github.com/miguelgrinberg/microdot/commit/d203df75fef32c7cc0fe7cc6525e77522b37a289)) - Additional urldecode tests ([commit](https://github.com/miguelgrinberg/microdot/commit/99f65c0198590c0dfb402c24685b6f8dfba1935d)) -- Update micropython version used in tests to 1.24.1 ([commit](https://github.com/miguelgrinberg/microdot/commit/4cc2e95338a7de3b03742389004147ee21285621)) - Documentation improvements ([commit](https://github.com/miguelgrinberg/microdot/commit/c6b99b6d8117d4e40e16d5b953dbf4deb023d24d)) +- Update micropython version used in tests to 1.24.1 ([commit](https://github.com/miguelgrinberg/microdot/commit/4cc2e95338a7de3b03742389004147ee21285621)) **Release 2.1.0** - 2025-02-04 From 847dfd13217bc3e65b9a4f385ae64e9c276784da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 22 Mar 2025 12:41:50 +0000 Subject: [PATCH 24/39] Bump gunicorn from 22.0.0 to 23.0.0 in /examples/benchmark (#291) #nolog Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 22.0.0 to 23.0.0. - [Release notes](https://github.com/benoitc/gunicorn/releases) - [Commits](https://github.com/benoitc/gunicorn/compare/22.0.0...23.0.0) --- updated-dependencies: - dependency-name: gunicorn dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/benchmark/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/benchmark/requirements.txt b/examples/benchmark/requirements.txt index 71cc9a1..cd1bf68 100644 --- a/examples/benchmark/requirements.txt +++ b/examples/benchmark/requirements.txt @@ -32,7 +32,7 @@ flask==3.0.0 # via # -r requirements.in # quart -gunicorn==22.0.0 +gunicorn==23.0.0 # via -r requirements.in h11==0.14.0 # via From e7ee74d6bba74cfd89b9ddc38f28e02514eb1791 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 22 Mar 2025 19:01:48 +0000 Subject: [PATCH 25/39] Catch SSL crashes while writing the response (Fixes #206) --- src/microdot/microdot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 045000b..ae8c4ed 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -1336,9 +1336,9 @@ async def handle_request(self, reader, writer): print_exception(exc) res = await self.dispatch_request(req) - if res != Response.already_handled: # pragma: no branch - await res.write(writer) try: + if res != Response.already_handled: # pragma: no branch + await res.write(writer) await writer.aclose() except OSError as exc: # pragma: no cover if exc.errno in MUTED_SOCKET_ERRORS: From b6f232db1125045d79c444c736a2ae59c5501fdd Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 6 Apr 2025 23:11:30 +0100 Subject: [PATCH 26/39] Addressed typing warnings from pyright --- src/microdot/test_client.py | 4 ++-- tests/test_microdot.py | 2 +- tests/test_websocket.py | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/microdot/test_client.py b/src/microdot/test_client.py index 1018f84..ec4109f 100644 --- a/src/microdot/test_client.py +++ b/src/microdot/test_client.py @@ -19,7 +19,7 @@ def __init__(self): #: explicitly sets it on the response object. self.reason = None #: A dictionary with the response headers. - self.headers = None + self.headers = {} #: The body of the response, as a bytes object. self.body = None #: The body of the response, decoded to a UTF-8 string. Set to @@ -195,7 +195,7 @@ async def request(self, method, path, headers=None, body=None, sock=None): ('127.0.0.1', 1234)) res = await self.app.dispatch_request(req) if res == Response.already_handled: - return None + return TestResponse() res.complete() self._update_cookies(res) diff --git a/tests/test_microdot.py b/tests/test_microdot.py index 32b9466..71e0d26 100644 --- a/tests/test_microdot.py +++ b/tests/test_microdot.py @@ -771,7 +771,7 @@ def index(req): client = TestClient(app) res = self._run(client.get('/')) - self.assertEqual(res, None) + self.assertEqual(res.body, None) def test_mount(self): subapp = Microdot() diff --git a/tests/test_websocket.py b/tests/test_websocket.py index 9c20682..92d3605 100644 --- a/tests/test_websocket.py +++ b/tests/test_websocket.py @@ -46,11 +46,11 @@ async def ws(): client = TestClient(app) res = self._run(client.websocket('/echo', ws)) - self.assertIsNone(res) + self.assertIsNone(res.body) self.assertEqual(results, ['hello', b'bye', b'*' * 300, b'+' * 65537]) res = self._run(client.websocket('/divzero', ws)) - self.assertIsNone(res) + self.assertIsNone(res.body) WebSocket.max_message_length = -1 @unittest.skipIf(sys.implementation.name == 'micropython', @@ -74,7 +74,7 @@ async def ws(): client = TestClient(app) res = self._run(client.websocket('/echo', ws)) - self.assertIsNone(res) + self.assertIsNone(res.body) self.assertEqual(results, []) Request.max_body_length = saved_max_body_length From f317b15bdbf924007e5e3414e0c626baccc3ede6 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 6 Apr 2025 23:11:49 +0100 Subject: [PATCH 27/39] Support optional authentication methods --- docs/extensions.rst | 29 +++++++++++++++++-- src/microdot/auth.py | 18 ++++++++++++ tests/test_auth.py | 67 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 111 insertions(+), 3 deletions(-) diff --git a/docs/extensions.rst b/docs/extensions.rst index c8bfffd..69904f0 100644 --- a/docs/extensions.rst +++ b/docs/extensions.rst @@ -414,10 +414,25 @@ decorator:: While running an authenticated request, the user object returned by the authenticaction function is accessible as ``request.g.current_user``. +If an endpoint is intended to work with or without authentication, then it can +be protected with the ``auth.optional`` decorator:: + + @app.route('/') + @auth.optional + async def index(request): + if g.current_user: + return f'Hello, {request.g.current_user}!' + else: + return 'Hello, anonymous user!' + +As shown in the example, a route can check ``g.current_user`` to determine if +the user is authenticated or not. + Token Authentication ^^^^^^^^^^^^^^^^^^^^ -To set up token authentication, create an instance of :class:`TokenAuth `:: +To set up token authentication, create an instance of +:class:`TokenAuth `:: from microdot.auth import TokenAuth @@ -437,7 +452,17 @@ protect your routes:: @auth async def index(request): return f'Hello, {request.g.current_user}!' - + +Optional authentication can also be used with tokens:: + + @app.route('/') + @auth.optional + async def index(request): + if g.current_user: + return f'Hello, {request.g.current_user}!' + else: + return 'Hello, anonymous user!' + User Logins ~~~~~~~~~~~ diff --git a/src/microdot/auth.py b/src/microdot/auth.py index 1fcf687..a6536c2 100644 --- a/src/microdot/auth.py +++ b/src/microdot/auth.py @@ -36,6 +36,24 @@ async def wrapper(request, *args, **kwargs): return wrapper + def optional(self, f): + """Decorator to protect a route with optional authentication. + + This decorator makes authentication for the decorated route optional, + meaning that the route is allowed to run with or with + authentication given in the request. + """ + async def wrapper(request, *args, **kwargs): + auth = self._get_auth(request) + if not auth: + request.g.current_user = None + else: + request.g.current_user = await invoke_handler( + self.auth_callback, request, *auth) + return await invoke_handler(f, request, *args, **kwargs) + + return wrapper + class BasicAuth(BaseAuth): """Basic Authentication. diff --git a/tests/test_auth.py b/tests/test_auth.py index bd64365..b8b397f 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -45,6 +45,38 @@ def index(request): b'foo:baz').decode()})) self.assertEqual(res.status_code, 401) + def test_basic_optional_auth(self): + app = Microdot() + basic_auth = BasicAuth() + + @basic_auth.authenticate + def authenticate(request, username, password): + if username == 'foo' and password == 'bar': + return {'username': username} + + @app.route('/') + @basic_auth.optional + def index(request): + return request.g.current_user['username'] \ + if request.g.current_user else '' + + client = TestClient(app) + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '') + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic ' + binascii.b2a_base64( + b'foo:bar').decode()})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'foo') + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic ' + binascii.b2a_base64( + b'foo:baz').decode()})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '') + def test_token_auth(self): app = Microdot() token_auth = TokenAuth() @@ -67,7 +99,7 @@ def index(request): 'Authorization': 'Basic foo'})) self.assertEqual(res.status_code, 401) - res = self._run(client.get('/', headers={'Authorization': 'foo'})) + res = self._run(client.get('/', headers={'Authorization': 'invalid'})) self.assertEqual(res.status_code, 401) res = self._run(client.get('/', headers={ @@ -75,6 +107,39 @@ def index(request): self.assertEqual(res.status_code, 200) self.assertEqual(res.text, 'user') + def test_token_optional_auth(self): + app = Microdot() + token_auth = TokenAuth() + + @token_auth.authenticate + def authenticate(request, token): + if token == 'foo': + return 'user' + + @app.route('/') + @token_auth.optional + def index(request): + return request.g.current_user or '' + + client = TestClient(app) + res = self._run(client.get('/')) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '') + + res = self._run(client.get('/', headers={ + 'Authorization': 'Basic foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '') + + res = self._run(client.get('/', headers={'Authorization': 'foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, '') + + res = self._run(client.get('/', headers={ + 'Authorization': 'Bearer foo'})) + self.assertEqual(res.status_code, 200) + self.assertEqual(res.text, 'user') + def test_token_auth_custom_header(self): app = Microdot() token_auth = TokenAuth(header='X-Auth-Token') From 086f2af3deab86d4340f3f1feb9e019de59f351d Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 12 Apr 2025 23:24:31 +0100 Subject: [PATCH 28/39] Use orjson instead of json if available --- libs/micropython/jwt.py | 6 +++++- src/microdot/microdot.py | 6 +++++- src/microdot/sse.py | 6 +++++- src/microdot/test_client.py | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libs/micropython/jwt.py b/libs/micropython/jwt.py index 7ec1172..a6a4851 100644 --- a/libs/micropython/jwt.py +++ b/libs/micropython/jwt.py @@ -1,9 +1,13 @@ import binascii import hashlib import hmac -import json from time import time +try: + import orjson as json +except ImportError: + import json + def _to_b64url(http://github.com/data): return ( binascii.b2a_base64(data) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index ae8c4ed..102b04f 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -7,10 +7,14 @@ """ import asyncio import io -import json import re import time +try: + import orjson as json +except ImportError: + import json + try: from inspect import iscoroutinefunction, iscoroutine from functools import partial diff --git a/src/microdot/sse.py b/src/microdot/sse.py index 01143c8..fdfa73e 100644 --- a/src/microdot/sse.py +++ b/src/microdot/sse.py @@ -1,7 +1,11 @@ import asyncio -import json from microdot.helpers import wraps +try: + import orjson as json +except ImportError: + import json + class SSE: """Server-Sent Events object. diff --git a/src/microdot/test_client.py b/src/microdot/test_client.py index ec4109f..c08ae59 100644 --- a/src/microdot/test_client.py +++ b/src/microdot/test_client.py @@ -1,4 +1,3 @@ -import json from microdot.microdot import Request, Response, AsyncBytesIO try: @@ -6,6 +5,11 @@ except: # pragma: no cover # noqa: E722 WebSocket = None +try: + import orjson as json +except ImportError: + import json + __all__ = ['TestClient', 'TestResponse'] From 815594fc8b3a1f7db4402553496c30d987cdbcef Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 12 Apr 2025 23:31:54 +0100 Subject: [PATCH 29/39] Release 2.3.0 --- CHANGES.md | 7 +++++++ pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 677c61b..dd4fa6f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,12 @@ # Microdot change log +**Release 2.3.0** - 2025-04-12 + +- Support optional authentication methods ([commit](https://github.com/miguelgrinberg/microdot/commit/f317b15bdbf924007e5e3414e0c626baccc3ede6)) +- Catch SSL exceptions while writing the response [#206](https://github.com/miguelgrinberg/microdot/issues/206) ([commit](https://github.com/miguelgrinberg/microdot/commit/e7ee74d6bba74cfd89b9ddc38f28e02514eb1791)) +- Use `orjson` instead of `json` if available ([commit](https://github.com/miguelgrinberg/microdot/commit/086f2af3deab86d4340f3f1feb9e019de59f351d)) +- Addressed typing warnings from pyright ([commit](https://github.com/miguelgrinberg/microdot/commit/b6f232db1125045d79c444c736a2ae59c5501fdd)) + **Release 2.2.0** - 2025-03-22 - Support for `multipart/form-data` requests [#287](https://github.com/miguelgrinberg/microdot/issues/287) ([commit](https://github.com/miguelgrinberg/microdot/commit/11a91a60350518e426b557fae8dffe75912f8823)) diff --git a/pyproject.toml b/pyproject.toml index e4398bf..75dcefb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.2.1.dev0" +version = "2.3.0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 1f64478957527aebff2f85fa7273af51d26132cc Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 12 Apr 2025 23:33:26 +0100 Subject: [PATCH 30/39] Version 2.3.1.dev0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 75dcefb..afb2fb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.3.0" +version = "2.3.1.dev0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From cd0b3234ddb0c8ff4861d369836ec2aed77494db Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 12 Apr 2025 23:58:48 +0100 Subject: [PATCH 31/39] Additional support needed when using orjson --- libs/micropython/jwt.py | 6 +----- src/microdot/microdot.py | 4 ++-- src/microdot/sse.py | 4 ++-- src/microdot/test_client.py | 4 ++-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libs/micropython/jwt.py b/libs/micropython/jwt.py index a6a4851..7ec1172 100644 --- a/libs/micropython/jwt.py +++ b/libs/micropython/jwt.py @@ -1,13 +1,9 @@ import binascii import hashlib import hmac +import json from time import time -try: - import orjson as json -except ImportError: - import json - def _to_b64url(http://github.com/data): return ( binascii.b2a_base64(data) diff --git a/src/microdot/microdot.py b/src/microdot/microdot.py index 102b04f..ba2bae0 100644 --- a/src/microdot/microdot.py +++ b/src/microdot/microdot.py @@ -578,9 +578,9 @@ def __init__(self, body='', status_code=200, headers=None, reason=None): self.headers = NoCaseDict(headers or {}) self.reason = reason if isinstance(body, (dict, list)): - self.body = json.dumps(body).encode() + body = json.dumps(body) self.headers['Content-Type'] = 'application/json; charset=UTF-8' - elif isinstance(body, str): + if isinstance(body, str): self.body = body.encode() else: # this applies to bytes, file-like objects or generators diff --git a/src/microdot/sse.py b/src/microdot/sse.py index fdfa73e..2c4ff08 100644 --- a/src/microdot/sse.py +++ b/src/microdot/sse.py @@ -29,8 +29,8 @@ async def send(self, data, event=None, event_id=None): given, it must be a string. """ if isinstance(data, (dict, list)): - data = json.dumps(data).encode() - elif isinstance(data, str): + data = json.dumps(data) + if isinstance(data, str): data = data.encode() elif not isinstance(data, bytes): data = str(data).encode() diff --git a/src/microdot/test_client.py b/src/microdot/test_client.py index c08ae59..0f2d0fc 100644 --- a/src/microdot/test_client.py +++ b/src/microdot/test_client.py @@ -105,10 +105,10 @@ def _process_body(self, body, headers): if body is None: body = b'' elif isinstance(body, (dict, list)): - body = json.dumps(body).encode() + body = json.dumps(body) if 'Content-Type' not in headers: # pragma: no cover headers['Content-Type'] = 'application/json' - elif isinstance(body, str): + if isinstance(body, str): body = body.encode() if body and 'Content-Length' not in headers: headers['Content-Length'] = str(len(body)) From f30c4733f0a0e9dfe4f34eaa8aee920c8d533405 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 13 Apr 2025 00:01:12 +0100 Subject: [PATCH 32/39] Release 2.3.1 --- CHANGES.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index dd4fa6f..cba9713 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Microdot change log +**Release 2.3.1** - 2025-04-13 + +- Additional support needed when using `orjson` ([commit](https://github.com/miguelgrinberg/microdot/commit/cd0b3234ddb0c8ff4861d369836ec2aed77494db)) + **Release 2.3.0** - 2025-04-12 - Support optional authentication methods ([commit](https://github.com/miguelgrinberg/microdot/commit/f317b15bdbf924007e5e3414e0c626baccc3ede6)) diff --git a/pyproject.toml b/pyproject.toml index afb2fb0..0e0f53b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.3.1.dev0" +version = "2.3.1" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From ea84fcb435037904d0f0953b075e2ad711323215 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 13 Apr 2025 00:01:21 +0100 Subject: [PATCH 33/39] Version 2.3.2.dev0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0e0f53b..cddef42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.3.1" +version = "2.3.2.dev0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 7c42a18436c01cf06cdee5b7b47352366c90fd6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 19:04:29 +0100 Subject: [PATCH 34/39] Bump h11 from 0.14.0 to 0.16.0 in /examples/benchmark (#293) #nolog Bumps [h11](https://github.com/python-hyper/h11) from 0.14.0 to 0.16.0. - [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0) --- updated-dependencies: - dependency-name: h11 dependency-version: 0.16.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- examples/benchmark/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/benchmark/requirements.txt b/examples/benchmark/requirements.txt index cd1bf68..1633d26 100644 --- a/examples/benchmark/requirements.txt +++ b/examples/benchmark/requirements.txt @@ -34,7 +34,7 @@ flask==3.0.0 # quart gunicorn==23.0.0 # via -r requirements.in -h11==0.14.0 +h11==0.16.0 # via # hypercorn # uvicorn From d9d7ff0825e4c5fbed6564d3684374bf3937df11 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Thu, 8 May 2025 20:07:16 +0100 Subject: [PATCH 35/39] use async error handlers in auth module (Fixes #298) --- src/microdot/auth.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/microdot/auth.py b/src/microdot/auth.py index a6536c2..71574ee 100644 --- a/src/microdot/auth.py +++ b/src/microdot/auth.py @@ -85,7 +85,7 @@ def _get_auth(self, request): return None return username, password - def authentication_error(self, request): + async def authentication_error(self, request): return '', self.error_status, { 'WWW-Authenticate': '{} realm="{}", charset="{}"'.format( self.scheme, self.realm, self.charset)} @@ -158,5 +158,5 @@ def errorhandler(self, f): """ self.error_callback = f - def authentication_error(self, request): + async def authentication_error(self, request): abort(self.error_status) From 4c0ace1b01d49b4e53dc389c99ec36261c5f4ef2 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Thu, 8 May 2025 23:02:29 +0100 Subject: [PATCH 36/39] Release 2.3.2 --- CHANGES.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index cba9713..70f289e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Microdot change log +**Release 2.3.2** - 2025-05-08 + +- Use async error handlers in auth module [#298](https://github.com/miguelgrinberg/microdot/issues/298) ([commit](https://github.com/miguelgrinberg/microdot/commit/d9d7ff0825e4c5fbed6564d3684374bf3937df11)) + **Release 2.3.1** - 2025-04-13 - Additional support needed when using `orjson` ([commit](https://github.com/miguelgrinberg/microdot/commit/cd0b3234ddb0c8ff4861d369836ec2aed77494db)) diff --git a/pyproject.toml b/pyproject.toml index cddef42..5f7a9b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.3.2.dev0" +version = "2.3.2" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 3c936a82e0ca616740faaf67fe7df8c6fe76888e Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Thu, 8 May 2025 23:11:35 +0100 Subject: [PATCH 37/39] Version 2.3.3.dev0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5f7a9b4..14e49f5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "microdot" -version = "2.3.2" +version = "2.3.3.dev0" authors = [ { name = "Miguel Grinberg", email = "miguel.grinberg@gmail.com" }, ] From 654a85f46b7dd7a1e94f81193c4a78a8a1e99936 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 18 May 2025 12:20:50 +0100 Subject: [PATCH 38/39] Do not silence exceptions that occur in the SSE task --- src/microdot/sse.py | 13 +++++++++++-- tests/test_sse.py | 12 ++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/microdot/sse.py b/src/microdot/sse.py index 2c4ff08..33a88b4 100644 --- a/src/microdot/sse.py +++ b/src/microdot/sse.py @@ -61,7 +61,12 @@ def sse_response(request, event_function, *args, **kwargs): sse = SSE() async def sse_task_wrapper(): - await event_function(request, sse, *args, **kwargs) + try: + await event_function(request, sse, *args, **kwargs) + except Exception as exc: + # the SSE task raised an exception so we need to pass it to the + # main route so that it is re-raised there + sse.queue.append(exc) sse.event.set() task = asyncio.create_task(sse_task_wrapper()) @@ -79,7 +84,11 @@ async def __anext__(self): except IndexError: await sse.event.wait() sse.event.clear() - if event is None: + if isinstance(event, Exception): + # if the event is an exception we re-raise it here so that it + # can be handled appropriately + raise event + elif event is None: raise StopAsyncIteration return event diff --git a/tests/test_sse.py b/tests/test_sse.py index 0fcb6c2..cf2f8db 100644 --- a/tests/test_sse.py +++ b/tests/test_sse.py @@ -42,3 +42,15 @@ async def handle_sse(request, sse): 'data: [42, "foo", "bar"]\n\n' 'data: foo\n\n' 'data: foo\n\n')) + + def test_sse_exception(self): + app = Microdot() + + @app.route('/sse') + @with_sse + async def handle_sse(request, sse): + await sse.send('foo') + await sse.send(1 / 0) + + client = TestClient(app) + self.assertRaises(ZeroDivisionError, self._run, client.get('/sse')) From f5d3d931edfbacedebf5fdf938ef77c5ee910380 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sun, 18 May 2025 18:26:38 +0100 Subject: [PATCH 39/39] Support for SSE responses in the test client --- src/microdot/sse.py | 2 ++ src/microdot/test_client.py | 44 +++++++++++++++++++++++++++++++++---- tests/test_sse.py | 25 +++++++++++++++++++++ 3 files changed, 67 insertions(+), 4 deletions(-) diff --git a/src/microdot/sse.py b/src/microdot/sse.py index 33a88b4..6376ee0 100644 --- a/src/microdot/sse.py +++ b/src/microdot/sse.py @@ -63,6 +63,8 @@ def sse_response(request, event_function, *args, **kwargs): async def sse_task_wrapper(): try: await event_function(request, sse, *args, **kwargs) + except asyncio.CancelledError: # pragma: no cover + pass except Exception as exc: # the SSE task raised an exception so we need to pass it to the # main route so that it is re-raised there diff --git a/src/microdot/test_client.py b/src/microdot/test_client.py index 0f2d0fc..909bd55 100644 --- a/src/microdot/test_client.py +++ b/src/microdot/test_client.py @@ -1,3 +1,4 @@ +import asyncio from microdot.microdot import Request, Response, AsyncBytesIO try: @@ -32,6 +33,11 @@ def __init__(self): #: The body of the JSON response, decoded to a dictionary or list. Set #: ``Note`` if the response does not have a JSON payload. self.json = None + #: The body of the SSE response, decoded to a list of events, each + #: given as a dictionary with a ``data`` key and optionally also + #: ``event`` and ``id`` keys. Set to ``None`` if the response does not + #: have an SSE payload. + self.events = None def _initialize_response(self, res): self.status_code = res.status_code @@ -41,10 +47,13 @@ def _initialize_response(self, res): async def _initialize_body(self, res): self.body = b'' iter = res.body_iter() - async for body in iter: # pragma: no branch - if isinstance(body, str): - body = body.encode() - self.body += body + try: + async for body in iter: # pragma: no branch + if isinstance(body, str): + body = body.encode() + self.body += body + except asyncio.CancelledError: # pragma: no cover + pass if hasattr(iter, 'aclose'): # pragma: no branch await iter.aclose() @@ -60,6 +69,32 @@ def _process_json_body(self): if content_type.split(';')[0] == 'application/json': self.json = json.loads(self.text) + def _process_sse_body(self): + if 'Content-Type' in self.headers: # pragma: no branch + content_type = self.headers['Content-Type'] + if content_type.split(';')[0] == 'text/event-stream': + self.events = [] + for sse_event in self.body.split(b'\n\n'): + data = None + event = None + event_id = None + for line in sse_event.split(b'\n'): + if line.startswith(b'data:'): + data = line[5:].strip() + elif line.startswith(b'event:'): + event = line[6:].strip().decode() + elif line.startswith(b'id:'): + event_id = line[3:].strip().decode() + if data: + data_json = None + try: + data_json = json.loads(data) + except ValueError: + pass + self.events.append({ + "data": data, "data_json": data_json, + "event": event, "event_id": event_id}) + @classmethod async def create(cls, res): test_res = cls() @@ -68,6 +103,7 @@ async def create(cls, res): await test_res._initialize_body(res) test_res._process_text_body() test_res._process_json_body() + test_res._process_sse_body() return test_res diff --git a/tests/test_sse.py b/tests/test_sse.py index cf2f8db..0586b72 100644 --- a/tests/test_sse.py +++ b/tests/test_sse.py @@ -42,6 +42,31 @@ async def handle_sse(request, sse): 'data: [42, "foo", "bar"]\n\n' 'data: foo\n\n' 'data: foo\n\n')) + self.assertEqual(len(response.events), 8) + self.assertEqual(response.events[0], { + 'data': b'foo', 'data_json': None, 'event': None, + 'event_id': None}) + self.assertEqual(response.events[1], { + 'data': b'bar', 'data_json': None, 'event': 'test', + 'event_id': None}) + self.assertEqual(response.events[2], { + 'data': b'bar', 'data_json': None, 'event': 'test', + 'event_id': 'id42'}) + self.assertEqual(response.events[3], { + 'data': b'bar', 'data_json': None, 'event': None, + 'event_id': 'id42'}) + self.assertEqual(response.events[4], { + 'data': b'{"foo": "bar"}', 'data_json': {'foo': 'bar'}, + 'event': None, 'event_id': None}) + self.assertEqual(response.events[5], { + 'data': b'[42, "foo", "bar"]', 'data_json': [42, 'foo', 'bar'], + 'event': None, 'event_id': None}) + self.assertEqual(response.events[6], { + 'data': b'foo', 'data_json': None, 'event': None, + 'event_id': None}) + self.assertEqual(response.events[7], { + 'data': b'foo', 'data_json': None, 'event': None, + 'event_id': None}) def test_sse_exception(self): app = Microdot()

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 Date: Sun, 16 Mar 2025 20:39:50 +0000 Subject: [PATCH 19/39] Additional urldecode tests --- tests/test_urlencode.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_urlencode.py b/tests/test_urlencode.py index a32e8d4..2a9a1d4 100644 --- a/tests/test_urlencode.py +++ b/tests/test_urlencode.py @@ -9,3 +9,5 @@ def test_urlencode(self): def test_urldecode(self): self.assertEqual(urldecode('%3Ffoo%3Dbar%26x'), '?foo=bar&x') self.assertEqual(urldecode(b'%3Ffoo%3Dbar%26x'), '?foo=bar&x') + self.assertEqual(urldecode('dot%e2%80%a2dot'), 'dot•dot') + self.assertEqual(urldecode(b'dot%e2%80%a2dot'), 'dot•dot') From 11a91a60350518e426b557fae8dffe75912f8823 Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Sat, 22 Mar 2025 12:24:12 +0000 Subject: [PATCH 20/39] Support for multipart/form-data requests (#287) --- README.md | 5 +- docs/api.rst | 6 + docs/extensions.rst | 96 +++++- examples/uploads/README.md | 3 + examples/uploads/formdata.html | 17 + examples/uploads/formdata.py | 26 ++ .../{index.html => simple_uploads.html} | 0 .../uploads/{uploads.py => simple_uploads.py} | 2 +- src/microdot/__init__.py | 2 +- src/microdot/microdot.py | 20 +- src/microdot/multipart.py | 291 ++++++++++++++++++ tests/__init__.py | 1 + tests/test_multipart.py | 192 ++++++++++++ 13 files changed, 649 insertions(+), 12 deletions(-) create mode 100644 examples/uploads/formdata.html create mode 100644 examples/uploads/formdata.py rename examples/uploads/{index.html => simple_uploads.html} (100%) rename examples/uploads/{uploads.py => simple_uploads.py} (95%) create mode 100644 src/microdot/multipart.py create mode 100644 tests/test_multipart.py diff --git a/README.md b/README.md index 7146f6d..ca0ebe6 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,8 @@ describes the backwards incompatible changes that were made. The following features are planned for future releases of Microdot, both for MicroPython and CPython: -- Support for forms encoded in `multipart/form-data` format +- Authentication support, similar to [Flask-Login](https://github.com/maxcountryman/flask-login) for Flask (**Added in version 2.1**) +- Support for forms encoded in `multipart/form-data` format (**Added in version 2.2**) - OpenAPI integration, similar to [APIFairy](https://github.com/miguelgrinberg/apifairy) for Flask In addition to the above, the following extensions are also under consideration, @@ -52,4 +53,4 @@ but only for CPython: - Database integration through [SQLAlchemy](https://github.com/sqlalchemy/sqlalchemy) - Socket.IO support through [python-socketio](https://github.com/miguelgrinberg/python-socketio) -Do you have other ideas to propose? Let's [discuss them](https://github.com/miguelgrinberg/microdot/discussions/new?category=ideas)! +Do you have other ideas to propose? Let's [discuss them](https://github.com/:miguelgrinberg/microdot/discussions/new?category=ideas)! diff --git a/docs/api.rst b/docs/api.rst index 07a070d..f8fbea9 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -14,6 +14,12 @@ Core API :members: +Multipart Forms +--------------- + +.. automodule:: microdot.multipart + :members: + WebSocket --------- diff --git a/docs/extensions.rst b/docs/extensions.rst index 495cf2c..c8bfffd 100644 --- a/docs/extensions.rst +++ b/docs/extensions.rst @@ -5,8 +5,82 @@ Microdot is a highly extensible web application framework. The extensions described in this section are maintained as part of the Microdot project in the same source code repository. +Multipart Forms +~~~~~~~~~~~~~~~ + +.. list-table:: + :align: left + + * - Compatibility + - | CPython & MicroPython + + * - Required Microdot source files + - | `multipart.py `_ + | `helpers.py `_ + + * - Required external dependencies + - | None + + * - Examples + - | `formdata.py `_ + +The multipart extension handles multipart forms, including those that have file +uploads. + +The :func:`with_form_data ` decorator +provides the simplest way to work with these forms. With this decorator added +to the route, whenever the client sends a multipart request the +:attr:`request.form ` and +:attr:`request.files ` properties are populated with +the submitted data. For form fields the field values are always strings. For +files, they are instances of the +:class:`FileUpload ` class. + +Example:: + + from microdot.multipart import with_form_data + + @app.post('/upload') + @with_form_data + async def upload(request): + print('form fields:', request.form) + print('files:', request.files) + +One disadvantage of the ``@with_form_data`` decorator is that it has to copy +any uploaded files to memory or temporary disk files, depending on their size. +The :attr:`FileUpload.max_memory_size ` +attribute can be used to control the cutoff size above which a file upload +is transferred to a temporary file. + +A more performant alternative to the ``@with_form_data`` decorator is the +:class:`FormDataIter ` class, which iterates +over the form fields sequentially, giving the application the option to parse +the form fields on the fly and decide what to copy and what to discard. When +using ``FormDataIter`` the ``request.form`` and ``request.files`` attributes +are not used. + +Example:: + + + from microdot.multipart import FormDataIter + + @app.post('/upload') + async def upload(request): + async for name, value in FormDataIter(request): + print(name, value) + +For fields that contain an uploaded file, the ``value`` returned by the +iterator is the same ``FileUpload`` instance. The application can choose to +save the file with the :meth:`save() ` +method, or read it with the :meth:`read() ` +method, optionally passing a size to read it in chunks. The +:meth:`copy() ` method is also available to +apply the copying logic used by the ``@with_form_data`` decorator, which is +inefficient but allows the file to be set aside to be processed later, after +the remaining form fields. + WebSocket -~~~~~~~~- +~~~~~~~~~ .. list-table:: :align: left @@ -16,6 +90,7 @@ WebSocket * - Required Microdot source files - | `websocket.py `_ + | `helpers.py `_ * - Required external dependencies - | None @@ -32,12 +107,14 @@ messages respectively. Example:: - @app.route('/echo') - @with_websocket - async def echo(request, ws): - while True: - message = await ws.receive() - await ws.send(message) + from microdot.websocket import with_websocket + + @app.route('/echo') + @with_websocket + async def echo(request, ws): + while True: + message = await ws.receive() + await ws.send(message) Server-Sent Events ~~~~~~~~~~~~~~~~~~ @@ -50,6 +127,7 @@ Server-Sent Events * - Required Microdot source files - | `sse.py `_ + | `helpers.py `_ * - Required external dependencies - | None @@ -65,6 +143,8 @@ asynchronous method to send an event to the client. Example:: + from microdot.sse import with_sse + @app.route('/events') @with_sse async def events(request, sse): @@ -213,6 +293,7 @@ Secure User Sessions * - Required Microdot source files - | `session.py `_ + | `helpers.py `_ * - Required external dependencies - | CPython: `PyJWT `_ @@ -369,6 +450,7 @@ User Logins * - Required Microdot source files - | `login.py `_ | `session.py `_ + | `helpers.py `_ * - Required external dependencies - | CPython: `PyJWT `_ | MicroPython: `jwt.py `_, diff --git a/examples/uploads/README.md b/examples/uploads/README.md index 5c61185..62977b1 100644 --- a/examples/uploads/README.md +++ b/examples/uploads/README.md @@ -1 +1,4 @@ This directory contains file upload examples. + +- `simple_uploads.py` demonstrates how to upload a single file. +- `formdata.py` demonstrates how to process a form that includes file uploads. diff --git a/examples/uploads/formdata.html b/examples/uploads/formdata.html new file mode 100644 index 0000000..5411811 --- /dev/null +++ b/examples/uploads/formdata.html @@ -0,0 +1,17 @@ + + + + Microdot Multipart Form-Data Example + + + +