Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-07-26 | Add tls_handshake events for CONNECT through TLS proxies | Loïc Hoguin | |
2019-07-25 | Add tls_handshake events for CONNECT through TCP proxies | Loïc Hoguin | |
2019-07-25 | Fix missing response_end event for HTTP/1.0 body_close | Loïc Hoguin | |
2019-07-24 | Add the cancel event for local/remote stream cancellation | Loïc Hoguin | |
2019-07-24 | Add push_promise_start/push_promise_end events | Loïc Hoguin | |
2019-07-22 | Split domain lookup/connect/TLS handshake and add events | Loïc Hoguin | |
This changes the way we connect to servers entirely. We now have three states when connecting (domain_lookup, connect and tls_handshake when applicable) and as a result three corresponding timeout options. Each state has a start/end event associated and the event data was tweaked to best match each event. Since the TLS handshake is separate, the transport_opts option was also split into two: tcp_opts and tls_opts. | |||
2019-07-15 | Add Websocket frames related events | Loïc Hoguin | |
2019-07-13 | Add ws_upgrade/protocol_changed events | Loïc Hoguin | |
And ensure that Websocket triggers all the request/response events. | |||
2019-07-03 | Add the response_trailers event | Loïc Hoguin | |
2019-07-03 | Add the response_start event | Loïc Hoguin | |
Thought it needed cow_http2_machine changes but everything was available. For HTTP/1.1 it is triggered when receiving data while expecting headers. For HTTP/2 it is triggered after we have received a HEADERS frame for streams in idle state. | |||
2019-07-02 | Add response_inform/response_headers/response_end events | Loïc Hoguin | |
This covers many scenarios but more need to be added. | |||
2019-06-02 | Add request_start, request_headers and request_end events | Loïc Hoguin | |
2019-05-13 | Add the terminate event | Loïc Hoguin | |
2019-05-13 | Add the disconnect event callback | Loïc Hoguin | |
2019-05-08 | Add event_handler with init/connect_start/connect_end | Loïc Hoguin | |
2019-04-26 | Add upgrade/ws tuples to gun:await/2,3,4 | Loïc Hoguin | |
2019-04-26 | Add specs to await functions, document error type better | Loïc Hoguin | |
2019-04-26 | Distinguish between error types in await functions | Loïc Hoguin | |
2019-04-26 | Rename owner_gone into owner_down | Loïc Hoguin | |
2019-04-26 | Add the supervise option to start without supervisor | Loïc Hoguin | |
2019-04-26 | No longer error out when the owner exits | Loïc Hoguin | |
No need to have the error repeated in the logs by the Gun process. | |||
2019-04-25 | Fix Websocket upgrade host header when it's an IP address | Sergey Tupchiy | |
2019-04-25 | Remove explicit call to dbg:start/0 | Alexander 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-24 | Fix Dialyzer warnings | Loïc Hoguin | |
2019-04-24 | Prevent ssl:setopts from blocking gun_tls_proxy | Loïc Hoguin | |
2019-04-22 | Use ssl:ssl_accept/2 in tests to support OTP 20+ | Loïc Hoguin | |
ssl:handshake/2 was introduced in OTP 21. | |||
2019-04-22 | Add origin_scheme checks to tests | Loïc Hoguin | |
2019-04-22 | Make gun_tls_proxy work for HTTP/2 connections | Loïc Hoguin | |
2019-04-22 | Make gun_tls_proxy a gen_statem | Loï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-19 | Integrate gun_tls_proxy into gun proper | Loï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-25 | Add the gun_tls_proxy transport for TLS over TLS support | Loïc Hoguin | |
2019-01-09 | Add function gun:stream_info/2 | Loïc Hoguin | |
2019-01-06 | Lowercase header names automatically and accept more types | Loï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-06 | Fix KilledStreams value for HTTP for connection: close responses | Loïc Hoguin | |
2019-01-05 | Fix atom hostnames | Loïc Hoguin | |
2019-01-05 | Fix transfer-encoding precedence over content-length | Loïc Hoguin | |
2019-01-05 | Clarify option errors in the manual for gun:open/open_unix | Loïc Hoguin | |
Also fix an http into http2 for one option. | |||
2019-01-05 | Don't send empty data chunks | Loïc Hoguin | |
This was a bug in the case of HTTP/1.1 and an inconvenience in the case of HTTP/2. | |||
2019-01-05 | Ensure Gun retries connecting immediately | Loïc Hoguin | |
2019-01-03 | Update copyright years | Loïc Hoguin | |
2019-01-03 | Consolidate origin server test helpers | Loïc Hoguin | |
Also fixes an issue with switch_transport introduced when converting the Gun process to gen_statem. | |||
2019-01-02 | Don't send the default port in the host header for HTTP/2 | Loïc Hoguin | |
2019-01-02 | Don't send the default port in the host header for HTTP/1.1 | Loïc Hoguin | |
2018-12-31 | Disable keepalive by default for HTTP/1.1 | Loïc Hoguin | |
This is safer as servers may reject too many extra empty lines. | |||
2018-12-31 | Separate request/4,5,6 into headers/4,5 and request/5,6 | Loï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-31 | Fix stripping stream reference in gun_http | Piotr 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-31 | Ignore socket errors in gun_ws:close/2 | Loïc Hoguin | |
2018-12-19 | Convert the gun process to gen_statem | Loïc Hoguin | |
2018-10-31 | The method must be a binary in cow_http2_machine | Loïc Hoguin | |
2018-10-31 | Fix the error sent when we receive an RST_STREAM | Loïc Hoguin | |