Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-08-05 | Don't link gun_tls_proxy process to the ssl process | Loïc Hoguin | |
It is ignored by ssl for the purpose we want, and causes problems in the other direction. Also use a normal shutdown when TLS handshake errors occur. | |||
2019-08-05 | Add flow control | Loïc Hoguin | |
Flow control is disabled by default. The initial flow value must be set to enable it (either for the entire connection or on a per-request basis). Flow applies to all HTTP streams as well as Websocket. HTTP/2 pushed streams receive the same value as their originating stream. | |||
2019-07-27 | Fix ssl and other types | Loïc Hoguin | |
2019-07-27 | Add the retry_fun option for different backoff strategies | Loïc Hoguin | |
2019-07-27 | Postpone operations until connected | Tony Han | |
2019-07-26 | Add the origin_changed event | Loïc Hoguin | |
2019-07-26 | Add the transport_changed event | Loïc Hoguin | |
Also test protocol_changed over CONNECT. | |||
2019-07-26 | Data received after RST_STREAM counts toward window | Tony Han | |
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 | |