From b3fa8f14078f93112ab289ac3ed8cac4c72ea334 Mon Sep 17 00:00:00 2001 From: Emily Zheng Date: Mon, 26 Jan 2026 10:18:51 +0800 Subject: [PATCH] Add expires message header The header is time in milliseconds to expire the message. --- src/pubtools/sign/signers/msgsigner.py | 1 + tests/test_msg_batch_signer.py | 1 + tests/test_msg_signer.py | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/pubtools/sign/signers/msgsigner.py b/src/pubtools/sign/signers/msgsigner.py index 4abae5d..2de53d0 100644 --- a/src/pubtools/sign/signers/msgsigner.py +++ b/src/pubtools/sign/signers/msgsigner.py @@ -214,6 +214,7 @@ def _construct_headers( "owner_id": self.creator, "mtype": sig_type.value, "source": "metadata", + "expires": self.timeout * self.retries * 1000, } if extra_attrs: headers.update(extra_attrs) diff --git a/tests/test_msg_batch_signer.py b/tests/test_msg_batch_signer.py index 338f529..884c1d8 100644 --- a/tests/test_msg_batch_signer.py +++ b/tests/test_msg_batch_signer.py @@ -261,6 +261,7 @@ def test_create_msg_batch_message(f_config_msg_batch_signer_ok): headers={ "service": "pubtools-sign", "environment": "prod", + "expires": 3000, "owner_id": "pubtools-sign-test", "mtype": "batch", "source": "metadata", diff --git a/tests/test_msg_signer.py b/tests/test_msg_signer.py index 32a3ae7..19f1315 100644 --- a/tests/test_msg_signer.py +++ b/tests/test_msg_signer.py @@ -489,6 +489,7 @@ def test__construct_headers(f_config_msg_signer_ok): assert ret == { "service": "pubtools-sign", "environment": "prod", + "expires": 3000, "owner_id": "pubtools-sign-test", "mtype": SignRequestType.CONTAINER, "source": "metadata", @@ -522,6 +523,7 @@ def test_create_msg_message(f_config_msg_signer_ok): "service": "pubtools-sign", "environment": "prod", "owner_id": "pubtools-sign-test", + "expires": 3000, "mtype": SignRequestType.CONTAINER, "source": "metadata", }, @@ -544,6 +546,7 @@ def test_create_msg_message(f_config_msg_signer_ok): "service": "pubtools-sign", "environment": "prod", "owner_id": "pubtools-sign-test", + "expires": 3000, "mtype": SignRequestType.CLEARSIGN, "source": "metadata", },