FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix(nats): store decoded payload separately from body by eKsiK · Pull Request #7766 · hyperf/hyperf · GitHub

/ hyperf Public

fix(nats): store decoded payload separately from body - #7766

Open
eKsiK wants to merge 1 commit into
hyperf:masterfrom
eKsiK:fix-issue-nats-message
Open

fix(nats): store decoded payload separately from body#7766
eKsiK wants to merge 1 commit into
hyperf:masterfrom
eKsiK:fix-issue-nats-message

Conversation

eKsiK commented Jun 19, 2026

Copy link
Copy Markdown

What does this PR do?

This PR fixes a type incompatibility in Hyperf\Nats\EncodedConnection when an encoder decodes a message body into a non-string value.

Currently, EncodedConnection::subscribe() and queueSubscribe() pass the decoded value directly into Message::setBody(). This works only when the decoded payload is a string. For JSON objects, arrays, YAML structures, serialized arrays, or other non-string decoded values, this causes a TypeError, because Message::setBody() expects a string.

This PR keeps the existing Message::getBody(): string and Message::setBody(string $body) API unchanged for backward compatibility, and introduces a separate decoded payload API:

$message->getBody();    // raw/backward-compatible string body
$message->getPayload(); // decoded payload
$message->hasPayload(); // whether decoded payload was set

For backward compatibility, when the decoded payload is a string, the message body is still updated with that string. When the decoded payload is not a string, the original body remains unchanged and the decoded value is available through getPayload().

This avoids changing the public body type to mixed, while fixing decoded array/object payloads.

Fixes #5222.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] hyperf/nats decode

1 participant


Back | FazBrowse Home | New Git URL