aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2025-03-21Respect remote concurrency limit for headers/connect/ws_upgraderespect-remote-concurrency-limitLoïc Hoguin
In order to simplify the implementation the CookieStore is given to the connect function now, even though it's not currently used.
2025-03-18HTTP/2: Respect remote MAX_CONCURRENT_STREAMSViktor Söderqvist
If the limit has been reached, new requests are failed immediately, so that the application can retry them on a different connection. Co-authored-by: Björn Svensson <[email protected]>
2025-02-27Do not ignore data received immediately after switching to rawDenys Knertser
LH: Minor tweaks.
2025-02-27Include event handler state in gun:info/1 resultViktor Söderqvist
Adds event_handler and event_handler_state in the map returned by gun:info/1. Signed-off-by: Viktor Söderqvist <[email protected]>
2025-02-26Add docs for notify_settings_changed in http2_opts()Björn Svensson
LH: I have expanded and documented gun_notify in its own page.
2025-02-26Allow specifying functions for reply_toViktor Söderqvist
LH: I have fixed types, extended tests and tweaked a bit.
2025-02-25Improve graceful_shutdown_goaway_no_error test reliabilityLoïc Hoguin
2025-02-25Send NO_ERROR in client-initiated graceful shutdownViktor Söderqvist
2025-02-25Add state_name field to gun:info/1Viktor Söderqvist
2025-01-13Increase the ping loop in send_errors_SUITELoïc Hoguin
2025-01-13Increase another send_errors timeoutLoïc Hoguin
2025-01-13Increase a send_errors test timeoutLoïc Hoguin
Depending on the environment the send buffer may not be configured as low as we want, so the test will take longer.
2025-01-02HTTP/2: Fix tunneled streams bugsLoïc Hoguin
* Tunneled streams can now close the stream. * Data received on tunneled streams now result in WINDOW_UPDATE frames being sent if necessary, and flow control is handled. This was detected as part of writing a new Cowboy test suite for benchmarking Websocket, but should help other uses too.
2024-11-27Update Discord link to a permanent inviteLoïc Hoguin
2024-11-15Add Discord server to READMELoïc Hoguin
2024-11-08CI: Add concurrency rulesLoïc Hoguin
2024-11-08CI: Fix master build deletionLoïc Hoguin
Some things likely changed and made it not work anymore. Also seems that the macOS runner is now ARM64.
2024-11-06Fix a Dialyzer warningLoïc Hoguin
2024-11-06Update Erlang.mkLoïc Hoguin
2024-03-26Initial HTTP/3 implementationhttp3Loïc Hoguin
Since quicer, which provides the QUIC implementation, is a NIF, Gun cannot depend directly on it. In order to enable QUIC and HTTP/3, users have to set the GUN_QUICER environment variable: export GUN_QUICER=1 Gun is now tested using GitHub Actions. As a result OTP-24+ is now required. In addition, the number of OTP releases tested has been reduced; only the latest of each major version is now tested. This also updates Erlang.mk.
2024-03-14Tweak user guide migration linkLoïc Hoguin
2024-03-14Gun 2.1.02.1.0Loïc Hoguin
2024-03-14Use public_key:cacerts_get/0 when possibleLoïc Hoguin
Also "fix" many TLS test failures due to yet more changes in the default options for TLS. Also small changes to make Dialyzer happy.
2024-03-14Remove client_preferred_next_protocolsViktor Söderqvist
2024-03-14Update Cowlib to 2.13.0Loïc Hoguin
2024-02-27Update Erlang.mkLoïc Hoguin
2023-06-05Fix crash when TLS connection closes very earlyLoïc Hoguin
And ensure that we don't infinite loop when retries are enabled, by decrementing the retry count instead of using a new one. Also check for ssl:negotiated_protocol {error,closed} which was possible but was not documented in OTP before this change. Thanks @voluntas for the help.
2023-04-28Gun 2.0.12.0.1Loïc Hoguin
2023-03-29Update Cowlib to 2.12.1Loïc Hoguin
2023-01-23Update version to 2.0.02.0.0Loïc Hoguin
2023-01-23Update READMELoïc Hoguin
2023-01-23Update public domain suffix listLoïc Hoguin
2023-01-23Update copyright lines in preparation for releaseLoïc Hoguin
2023-01-23Update the migration guide for 2.0Loïc Hoguin
2023-01-23Fix intermittent error in stream_info_http testLoïc Hoguin
2023-01-23Selective receive in test to avoid receiving wrong messageLoïc Hoguin
2023-01-23Linger a little at the end of a shutdown test connectionLoïc Hoguin
This is to avoid the TCP close eating data.
2023-01-23Increase times by factor 10 to fix timing issueViktor Söderqvist
2023-01-16Use Cowlib 2.12.0Loïc Hoguin
2023-01-09Tweak some test outputsLoïc Hoguin
2023-01-09Skip degraded configuration test on WindowsLoïc Hoguin
2022-12-12macOS: Error out on eaddrnotavail instead of retryingLoïc Hoguin
This is to avoid reconnecting forever in a loop on bad configuration (such as IP in a different subnet).
2022-12-06Add keepalive_tolerance http2 optionViktor Söderqvist
The number of unacknowledged pings that can be tolerated before the connection is forcefully closed. When a keepalive ping is sent to the peer, a counter is incremented and if this counter exceeds the tolerance limit, the connection is forcefully closed. The counter is decremented whenever a ping ack is received from the peer. By default, the mechanism for closing the connection based on ping and ping ack is disabled. Loïc Hoguin: I have edited a lot of the code and renamed a few things as well as simplified the docs and increased test timeouts to avoid race conditions.
2022-12-05Add tests for ws subprotocol negotiationViktor Söderqvist
2022-12-05Document Websocket subprotocol negotiationLoïc Hoguin
2022-11-21Don't infinite loop gun_pool on bad configurationLoïc Hoguin
We leave the pool in a degraded state if the configuration given is invalid and a lookup/connect can't be made.
2022-11-21Support positive HTTP/1.0 responses to CONNECT requestsLoïc Hoguin
2022-11-21Enable send timeouts by defaultLoïc Hoguin
When no TCP options are provided, Gun will enable send timeouts at 15s. The value was chosen large enough to be safe while still allowing Gun to detect send errors eventually. Different applications may need to tweak and lower this value.
2022-11-14Implement gun_raw:down/1, gun_raw:update_flow/4Denys Knertser
Loïc: I have reworded a couple things and reordered the tests. It would be great to also test these things over proxies.
2022-11-08Include Websocket StreamRef in gun_down messagesWei Huang