Skip to content

Releases: awslabs/aws-c-http

Stats and other fixes

11 Feb 01:32
31b5dd6
Compare
Choose a tag to compare
Stats and other fixes Pre-release
Pre-release
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.

30 Jan 18:46
5e33ddf
Compare
Choose a tag to compare
Pre-release
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

24 Jan 18:41
4abad0d
Compare
Choose a tag to compare
Pre-release
v0.4.22

Fix cmake config template. (#178)

Build improvements

06 Jan 21:54
232f335
Compare
Choose a tag to compare
Build improvements Pre-release
Pre-release
Include aws_string (#173)

* Include aws_string.

* fix missing inclusion in test.

Make build friendly to in-source builds.

03 Jan 00:50
73782be
Compare
Choose a tag to compare
v0.4.20

enabled in-source builds. (#172)

Improved integration tests

18 Dec 20:40
386d741
Compare
Choose a tag to compare
Pre-release
CI wasn't running elasticurl tests. (#171)

Also suppress output unless test fails

Client bootstrap API changes

10 Dec 18:19
32f49a5
Compare
Choose a tag to compare
Pre-release

Adapt to API changes in aws-c-io v0.4.20

Fix shared lib builds

23 Nov 00:40
aa3f83c
Compare
Choose a tag to compare
Fix shared lib builds Pre-release
Pre-release
v0.4.17

Added missing dll exports. (#167)

Fix linker error with most recent aws-c-common

21 Nov 20:37
Compare
Choose a tag to compare

aws_byte_buf_append_and_update is now implemented in common, so don't redefine it.

request with headers

20 Nov 01:01
c83309f
Compare
Choose a tag to compare
request with headers Pre-release
Pre-release
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.