1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/lib
Andy Green e5b191be35 h2: post buflist: track rx_content_length
On h2 server POST, there's a race to see if the POST body is going to be
received coalesced with the headers.

The problem is on h2, we can't action the stream http request or body until
the stream is writeable, since we may start issuing the response right away;
there's already DEFERRING_ACTION state to manage this.  And indeed, the
coalesced, not-immediately-actionable POST body is buflisted properly.

However when we come to action the POST using buflisted data, we don't follow
the same pattern as dealing with the incoming data immediately.

This patch aligns the pattern dumping the buflist content to track
expected rx_content_length and handle BODY_COMPLETION if we got to
the end of it, along with removal from the pt list of wsi with pending
buflists if we used it up.
2021-01-18 19:49:02 +00:00
..
abstract cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
core peer-limits: only run clean up sul if any entries 2021-01-17 19:23:48 +00:00
core-net h2: post buflist: track rx_content_length 2021-01-18 19:49:02 +00:00
drivers lws_netdev: fix rssi averaging 2020-07-21 08:16:01 +01:00
event-libs service: restrict effective wait to platform resolution 2021-01-17 11:32:48 +00:00
jose type comparisons: fixes 2021-01-05 10:56:38 +00:00
misc peer-limits: only run clean up sul if any entries 2021-01-17 19:23:48 +00:00
plat service: restrict effective wait to platform resolution 2021-01-17 11:32:48 +00:00
roles h2: post buflist: track rx_content_length 2021-01-18 19:49:02 +00:00
secure-streams h2: make sure we see END_STREAM with END_HEADERS on client 2021-01-15 19:54:14 +00:00
system smd-add-ss-rx-forwarder-helper 2021-01-05 10:56:38 +00:00
tls h2: post buflist: track rx_content_length 2021-01-18 19:49:02 +00:00
CMakeLists.txt cmake: add windows version resources to library 2020-10-19 16:35:03 +01:00
README.md cleaning 2020-01-05 22:17:58 +00:00

Library sources layout

Code that goes in the libwebsockets library itself lives down ./lib

Path Sources
lib/core Core lws code related to generic fd and wsi servicing and management
lib/core-net Core lws code that applies only if networking enabled
lib/event-libs Code containing optional event-lib specific adaptations
lib/jose JOSE / JWS / JWK / JWE implementations
lib/misc Code for various mostly optional miscellaneous features
lib/plat Platform-specific adaptation code
lib/roles Code for specific optional wsi roles, eg, http/1, h2, ws, raw, etc
lib/system Code for system-level features, eg, dhcpclient
lib/tls Code supporting the various TLS libraries