diff --git a/docs/changelog.rst b/docs/changelog.rst index 71a8da00..9ff1ff82 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -21,6 +21,9 @@ To avail of fixes in an unreleased version, please download a ZIP file In progress (unreleased) ------------------------ +* :gh:issue:`1430` :mod:`mitogen`: Pickle :data:`mitogen.core.GET_RESOURCE` + parameters directly as textual strings (rather than ASCII in byte strings) + v0.3.38 (2026-01-23) -------------------- diff --git a/mitogen/core.py b/mitogen/core.py index 3bd23b35..2295b62a 100644 --- a/mitogen/core.py +++ b/mitogen/core.py @@ -1771,7 +1771,7 @@ class ResourceRequester(object): else: self._callbacks[(fullname, resource)] = [callback] msg = Message.pickled( - (b(fullname), b(resource)), + (fullname, resource), handle=GET_RESOURCE, ) self._context.send(msg) diff --git a/mitogen/master.py b/mitogen/master.py index 03c89771..b77372f6 100644 --- a/mitogen/master.py +++ b/mitogen/master.py @@ -1295,8 +1295,7 @@ class ResourceResponder(object): stream = self._router.stream_by_id(msg.src_id) if stream is None: return - fullname_b, resource_b = msg.unpickle() - fullname, resource = fullname_b.decode(), resource_b.decode() + fullname, resource = msg.unpickle() try: content = importlib.resources.read_binary(fullname, resource) except (FileNotFoundError, IsADirectoryError): diff --git a/mitogen/parent.py b/mitogen/parent.py index 9d1a0ce3..c3af721e 100644 --- a/mitogen/parent.py +++ b/mitogen/parent.py @@ -2826,9 +2826,7 @@ class ResourceForwarder(object): if msg.is_dead: return - fullname_b, resource_b = msg.unpickle() - fullname, resource = fullname_b.decode(), resource_b.decode() - + fullname, resource = msg.unpickle() callback = lambda: self._on_cache_callback(msg, fullname, resource) self.requester._request_resource(fullname, resource, callback)