-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FrameLogger doesn't show the "Data" in KEEPALIVE frames #1114
Labels
Comments
The spec does allow KEEPALIVE frames to have data, but |
rstoyanchev
changed the title
FrameLogger doesn't show the received "Data" from the client
FrameLogger doesn't show the "Data" in KEEPALIVE frames
Jan 31, 2025
rstoyanchev
added a commit
to rstoyanchev/rsocket-java
that referenced
this issue
Jan 31, 2025
Fixes rsocketgh-1114 Signed-off-by: rstoyanchev <[email protected]>
Superseded by #1119. |
rstoyanchev
added a commit
that referenced
this issue
Jan 31, 2025
Fixes gh-1114 Signed-off-by: rstoyanchev <[email protected]>
OlegDokuka
pushed a commit
that referenced
this issue
Jan 31, 2025
Fixes gh-1114 Signed-off-by: rstoyanchev <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
When a client (e.g., an angular client) sends a KeepAlive Frame with Data attached (e.g., clientId) to the RSocket spring-boot server, the server receives it for sure because the "receiving" frame length is more than 14 bytes - in my case, it is 69 bytes. However, the rsocket FrameLogger does not show the received data in the "Data" field; it is always empty. So, I implemented a CustomFrameLogger which shows the Data field with the received data from the client as expected. Is there any other way to show the data in the Data field?
Expected Behavior
When a client sends a KEEPALIVE frame to the server with Data attached to it, the rsocket FrameLogger is expected to show the received Data from the client as shown in the below screenshot:
Actual Behavior
Instead, the Data field that is showing is always empty even though the frame's total length is 69 bytes, which is clearly shown in the field Length of FrameLogger (the length of the attached Data that I sent from the client is 54 bytes). That means, the rsocket server apparently receives the data but somehow it is not able to show it in the KEEPALIVE FrameLogger as shown in the below screenshot:
Steps to Reproduce
Attach some Data in Buffer to a KeepAlive Frame and send it via the send(Frame) method of a duplex connection from the client.
Possible Solution
Implementation of a CustomFrameLogger in Java and using it to show the received data in the KEEPALIVE frames.
Environment
java -version
): java: openjdk 21.0.5, OpenJDK Runtime Environment (build 21.0.5+11-Ubuntu-1ubuntu124.04)The text was updated successfully, but these errors were encountered: