Releases: awslabs/aws-c-http
Releases · awslabs/aws-c-http
Proxy refactor
- Significant refactor of proxy support, including
-
- Tunneling vs. forwarding is an explicit configuration choice, and no longer implicit based on tls properties. The behavior of existing applications should remain unchanged.
-
- Implemented a new proxy "strategy" system for authentication. Strategies exist for no authentication, basic authentication, and synchronous strategies are now in place to support kerberos and ntlm authentication. Strategies can be linked together in a chain and attempted sequentially. Existing authentication controls remain in place but are deprecated and now map to the new strategy types.
Timeout the integration test
- Add timeout for our integration test about http
New managed thread API
Convert to new managed thread system for threads that cannot be reliably explicitly joined.
Nested tls support
- Adds support for nested tls (via proxy) by fixing tls channel handler attachment in the nested case
Host resolver creation update
- updates tests to use the new default host resolver creation function
Ref counting updates
- Test case updates for new ref-counting semantics on a number of types (aws_event_loop_group, aws_host_resolver primarily)
Websocket close time out task
Websocket close timeout (#283) Cancel the CLOSE frame when it is blocked
New windowing implementation
- New windowing implementation that allows http streams on the same connection to have independent windows
HTTP/1 Chunk Encoder & Task Scheduling Revamp
HTTP/1 chunk encoder & task scheduling revamp (#272) This fixes issue https://github.com/awslabs/aws-c-http/issues/270 Encoder changes: - Combine the 2 state machines into 1. - Encoder no longer deals with the lock when getting new chunks. The stream will be responsible for getting new chunks into the thread. Task-Scheduling changes: - HTTP/1 connection shares 1 lock with all its streams. - connection has new `cross_thread_work_task` that moves work from `synced_data` to `thread_data`. - kicks off the `outgoing_stream_task` if necessary - similarly, stream has a `cross_thread_work_task` for moving work from `synced_data` to `thread_data`. - it can also kick off the connection's `outgoing_stream_task` if necessary
Minor fixes
- Fix for uninitialized state of connection monitoring options