Releases: awslabs/aws-c-http
Releases · awslabs/aws-c-http
Stats and other fixes
Stat (#152) * Base statistics gathering and monitoring * Control rate of HTTP/1 writes (#180) * HTTP/1 only writes 1 message at a time. This avoids bloating memory with unsent messages. This also helps improve the accuracy of our upload stats. Still needs tweaking to deal with websocket upgrade edge-cases. * Install websocket handler the moment 101 response comes in, do not wait for stream to complete. Remove hacks where 101 response completed a stream, no 1xx response should complete a stream. * Simplify confusing list logic. Remove the server-only `waiting_stream_list`. Do a simple scan over available streams to find the next one to work on. This is O(N) when pipelining, but I hear that no one does HTTP/1 pipelining, so in that case O(N=1). We can always re-optimize if we have data that pipelining is super popular and this is a hotspot. * Update * Windows warning Co-authored-by: Michael Graeb <[email protected]>
Removed non-streaming h2 frame decoder.
Remove whole-frame h2 decoder (#179) We use the streaming decoder now. Most changes are rewriting tests that assumed the encoder/decoder were mirrors of each other. **REMOVE** - `aws_h2_frame_decoder_***()` functions - `fuzz_h2_frames.c` which just tested the old decoder. **ALTER** - Rewrite encoder tests (delete `test_h2_frames.c`, add `test_h2_encoder.c`). Old tests relied on whole-frame decoder. - Alter `test_h2_headers.c` to use new streaming decoder. - Add `aws_h2_encode_frame()` function that accepts all frames types, instead of needing to call the appropriate aws_h2_frame_XYZ_encode() function per frame type. **FIX** - Fix encoder bug with padding in DATA frame. - Fix decoder bug where header-value-string overwrote header-name-string.
fix cmake config template
v0.4.22 Fix cmake config template. (#178)
Build improvements
Include aws_string (#173) * Include aws_string. * fix missing inclusion in test.
Make build friendly to in-source builds.
v0.4.20 enabled in-source builds. (#172)
Improved integration tests
CI wasn't running elasticurl tests. (#171) Also suppress output unless test fails
Client bootstrap API changes
Adapt to API changes in aws-c-io v0.4.20
Fix shared lib builds
v0.4.17 Added missing dll exports. (#167)
Fix linker error with most recent aws-c-common
aws_byte_buf_append_and_update
is now implemented in common, so don't redefine it.
request with headers
Don't fire on_body for empty chunks of data. (#163) This was leading to the python crt passing None to the on_body callback instead of byte buffer. Seems simpler to nip this complexity at the source.