aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-04-26No longer error out when the owner exitsLoïc Hoguin
No need to have the error repeated in the logs by the Gun process.
2019-04-25Document an issue with OTP-20.3 on WindowsLoïc Hoguin
2019-04-25Fix failures resulting from connect error delays on WindowsLoïc Hoguin
On Windows when the connection is refused the OS will retry 3 times before giving up, with a 500ms delay between tries. This adds approximately 1 second to connection failures.
2019-04-25Fix Websocket upgrade host header when it's an IP addressSergey Tupchiy
2019-04-25Remove explicit call to dbg:start/0Alexander Mihajlovic
This fixes a bug in `gun` when trying to open 2 connections with tracing enabled. You can recreate it like so: > application:ensure_all_started(gun). > gun:open("localhost", 80, #{trace => true}). > gun:open("localhost", 80, #{trace => true}). The second call fails with a cause clause exception. You'll observe the same exception by: > dbg:start(). > dbg:start(). Ultimately this may be a bug in OTP, but since `dbg:start/0` is undocumented I'm inclined to give it the benefit of the doubt. Regardless, since the docs[1] clearly state that calling `dbg:tracer/0` is the proper way to start the default tracer message receiver, I argue that calling `dbg:start/0` is a bug in `gun`. [1]: http://erlang.org/doc/man/dbg.html
2019-04-24Fix Dialyzer warningsLoïc Hoguin
2019-04-24Prevent ssl:setopts from blocking gun_tls_proxyLoïc Hoguin
2019-04-22Use ssl:ssl_accept/2 in tests to support OTP 20+Loïc Hoguin
ssl:handshake/2 was introduced in OTP 21.
2019-04-22Add origin_scheme checks to testsLoïc Hoguin
2019-04-22Make gun_tls_proxy work for HTTP/2 connectionsLoïc Hoguin
2019-04-22Fix two tests that write to the Gun state directlyLoïc Hoguin
2019-04-22Make gun_tls_proxy a gen_statemLoïc Hoguin
There is now a not_connected state that is used to postpone events that can't be processed when the proxy socket is not ready.
2019-04-19Integrate gun_tls_proxy into gun properLoïc Hoguin
Still need to add ALPN support and to wait before trying to send data on a proxied TLS connection that didn't complete its handshake.
2019-03-25Add the gun_tls_proxy transport for TLS over TLS supportLoïc Hoguin
2019-01-10Fix init_per_suite return value for skippingLoïc Hoguin
2019-01-10Use a different method for ignoring h2specd build errorsLoïc Hoguin
2019-01-10Don't fail in previous h2specd steps eitherLoïc Hoguin
2019-01-10Don't fail tests if we can't build h2specdLoïc Hoguin
2019-01-10Skip h2specd_SUITE if h2specd doesn't existLoïc Hoguin
Better skip than fail when a distribution has a too old Go.
2019-01-10Tweak another timeoutLoïc Hoguin
2019-01-10Tweak more test timeoutsLoïc Hoguin
2019-01-10Update Erlang.mkLoïc Hoguin
2019-01-10Tweak timeouts to fix intermittent failuresLoïc Hoguin
2019-01-09Improve documentation about gun:headers/4,5Loïc Hoguin
2019-01-09Add function gun:stream_info/2Loïc Hoguin
2019-01-06Lowercase header names automatically and accept more typesLoïc Hoguin
Header names can now be provided as binary, string or atom and Gun no longer requires them to be in lowercase. The list of headers can also be provided as a map as well.
2019-01-06Don't output unrelated errors in successful testsLoïc Hoguin
We need to close the Gun connection to avoid owner_gone errors.
2019-01-06Add a timeout to prevent an intermittent failureLoïc Hoguin
2019-01-06Fix KilledStreams value for HTTP for connection: close responsesLoïc Hoguin
2019-01-06Increase the connect_h2 test delayLoïc Hoguin
When it's testing h2 it has to do both ssl and h2 handshakes and that can take a while.
2019-01-05Fix atom hostnamesLoïc Hoguin
2019-01-05Fix transfer-encoding precedence over content-lengthLoïc Hoguin
2019-01-05Clarify option errors in the manual for gun:open/open_unixLoïc Hoguin
Also fix an http into http2 for one option.
2019-01-05Don't send empty data chunksLoïc Hoguin
This was a bug in the case of HTTP/1.1 and an inconvenience in the case of HTTP/2.
2019-01-05Ensure Gun retries connecting immediatelyLoïc Hoguin
2019-01-03Update copyright yearsLoïc Hoguin
2019-01-03Bump supported Erlang/OTP to 20.0+Loïc Hoguin
In particular the switch to gen_statem broke things with Erlang/OTP before 19.3.
2019-01-03Consolidate origin server test helpersLoïc Hoguin
Also fixes an issue with switch_transport introduced when converting the Gun process to gen_statem.
2019-01-02Don't send the default port in the host header for HTTP/2Loïc Hoguin
2019-01-02Don't send the default port in the host header for HTTP/1.1Loïc Hoguin
2018-12-31Disable keepalive by default for HTTP/1.1Loïc Hoguin
This is safer as servers may reject too many extra empty lines.
2018-12-31Separate request/4,5,6 into headers/4,5 and request/5,6Loïc Hoguin
This cleaner separation gets rid of the implicit body check that was causing issues for many users. Now the body is either given explicitly or it is expected via future gun:data/3 calls.
2018-12-31Fix stripping stream reference in gun_httpPiotr Bober
An invalid stream reference (the websocket tuple wrapper) was sent in the gun_data message. Also moves autobahn to its own test suite.
2018-12-31Ignore socket errors in gun_ws:close/2Loïc Hoguin
2018-12-19Convert the gun process to gen_statemLoïc Hoguin
2018-12-19Get rid of duplicates in h2specd outputLoïc Hoguin
I'm not sure what caused the duplicates to appear, but they should be gone now.
2018-12-19Update erlang.mkLoïc Hoguin
2018-10-31The method must be a binary in cow_http2_machineLoïc Hoguin
2018-10-31Fix the error sent when we receive an RST_STREAMLoïc Hoguin
2018-10-30Switch to cow_http2_machine for HTTP/2Loïc Hoguin
A common state machine for Gun and Cowboy will be easier to maintain. This fixes numerous issues including some test failures that were hidden because the h2specd_SUITE was flawed. We temporarily depend on Cowlib master until a new version is released.