From 5050a18a0057df4cda6f6b00483d12d29cb59239 Mon Sep 17 00:00:00 2001 From: James Warne <15948170+bebleo@users.noreply.github.com> Date: Mon, 18 Apr 2022 08:52:01 -0400 Subject: [PATCH] evaluate --cert before --key --- CHANGES.rst | 2 ++ src/flask/cli.py | 5 ++++- tests/test_cli.py | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 0d96a61e71..68ef94fd2a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -7,6 +7,8 @@ Unreleased - Fix type annotation for ``json.loads``, it accepts str or bytes. :issue:`4519` +- The ``--cert`` and ``--key`` options on ``flask run`` can be given + in either order. :issue:`4459` Version 2.1.1 diff --git a/src/flask/cli.py b/src/flask/cli.py index 972698dfa1..36c4f1b6dc 100644 --- a/src/flask/cli.py +++ b/src/flask/cli.py @@ -763,7 +763,10 @@ def convert(self, value, param, ctx): @click.option("--host", "-h", default="127.0.0.1", help="The interface to bind to.") @click.option("--port", "-p", default=5000, help="The port to bind to.") @click.option( - "--cert", type=CertParamType(), help="Specify a certificate file to use HTTPS." + "--cert", + type=CertParamType(), + help="Specify a certificate file to use HTTPS.", + is_eager=True, ) @click.option( "--key", diff --git a/tests/test_cli.py b/tests/test_cli.py index 6271c72a59..f9f3673a67 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -553,9 +553,14 @@ def test_run_cert_path(): with pytest.raises(click.BadParameter): run_command.make_context("run", ["--key", __file__]) + # cert specified first ctx = run_command.make_context("run", ["--cert", __file__, "--key", __file__]) assert ctx.params["cert"] == (__file__, __file__) + # key specified first + ctx = run_command.make_context("run", ["--key", __file__, "--cert", __file__]) + assert ctx.params["cert"] == (__file__, __file__) + def test_run_cert_adhoc(monkeypatch): monkeypatch.setitem(sys.modules, "cryptography", None)