Skip to content

Ignore error due to data being received after stream is already closed#312

Open
Gruek wants to merge 1 commit into
pgjones:mainfrom
Gruek:main
Open

Ignore error due to data being received after stream is already closed#312
Gruek wants to merge 1 commit into
pgjones:mainfrom
Gruek:main

Conversation

@Gruek
Copy link
Copy Markdown

@Gruek Gruek commented Jul 19, 2025

No description provided.

@TomiBelan
Copy link
Copy Markdown

#312 and #334 are exactly equivalent PRs, so I'll comment on both:
The fix LGTM, but I have a small pedantic suggestion. How about get() instead of except KeyError? In theory, it could suppress some other KeyError in nested calls.
(I am a random passerby. This is not some official review. Current version is fine too.)

            elif isinstance(event, h2.events.DataReceived):
                stream = self.streams.get(event.stream_id)
                if not stream:
                    # Data received while already closed, nothing to do.
                    continue
                await stream.handle(Body(stream_id=event.stream_id, data=event.data))
                self.connection.acknowledge_received_data(
                    event.flow_controlled_length, event.stream_id
                )
            elif isinstance(event, h2.events.StreamEnded):
                stream = self.streams.get(event.stream_id)
                if not stream:
                    # Response sent before full request received,
                    # nothing to do already closed.
                    continue
                await stream.handle(EndBody(stream_id=event.stream_id))

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.

2 participants