aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2020-10-19Fix cookies for tunnelsLoïc Hoguin
There are still small issues left to fix. In particular the set_cookie command should be replaced with doing the same in the protocol itself so that the scheme is correct. So CookieStore must be propagated to all callbacks.
2020-10-16Remove commented codeLoïc Hoguin
2020-10-16Remove the transport_changed eventLoïc Hoguin
It doesn't provide any new information compared to the other events.
2020-10-16Add or fix events inside or related to CONNECT tunnelsLoïc Hoguin
2020-10-07Propagate timeouts to the right layer in HTTP/2 tunnelsLoïc Hoguin
This temporarily depends on Cowlib master.
2020-10-07Default keepalive to infinity for all protocolsLoïc Hoguin
For HTTP/2 some servers are not fond of receiving pings, especially if there's no stream at the time. (particularly gRPC servers). This is an odd decision for sure. Rather than trying to accomodate for their logic the ping is no longer sent by default. For Websocket sending a ping is a new feature in Gun 2.0 so I'm just being conservative there.
2020-10-07Include content_handlers in optsTomas Abrahamsson
2020-10-07Export declared event types in gun_eventAndrew Mayorov
2020-10-07Normalize headers in ws_upgraderinpatch
In the documentation headers passed to ws_upgrade are typed as gun:req_headers(), however if a map of headers is passed (which is allowed by the type), the gun process will crash when trying to operate on it as if it were a list.
2020-10-05Improve some 'todo' return values and argumentsLoïc Hoguin
While most of this functionality isn't implemented this is not a reason to let them return invalid values.
2020-10-03Fix Dialyzer warningsLoïc Hoguin
2020-10-03Fix test suites failing due to previous breaking changesLoïc Hoguin
2020-10-03Add tunnel_SUITE testing all 3-layer combinationsLoïc Hoguin
The test suite is 216 tests with a tunnel created via two proxies leading to one origin server. The tests are for example socks5_h2_https where socks5 identifies the first SOCKS5 proxy, h2 the second HTTP/2 CONNECT proxy and https the secure HTTP/1.1 origin server. The test not only sets up the tunnel and does a request (or sends/receives data in the case of raw origin servers) but also confirms that the stream_info and info data is correct.
2020-09-21Ensure the right stream_ref is passed around HTTP/2 tunnelsLoïc Hoguin
2020-09-21Fix compilation and Dialyzer warningsLoïc Hoguin
2020-09-21Fix gun:stream_info/2 when gun_tunnel is involvedLoïc Hoguin
2020-09-21Initial success for h2 CONNECT -> https CONNECT -> httpsLoïc Hoguin
2020-09-21Add test HTTP/2 CONNECT -> HTTP/1.1 CONNECT -> originLoïc Hoguin
Implements gun:connect with a tunnel.
2020-09-21Add more HTTP/2 CONNECT testsLoïc Hoguin
2020-09-21Add a gun:stream_ref() type and fix DialyzerLoïc Hoguin
2020-09-21Refactor protocol handling via gun_protocolsLoïc Hoguin
2020-09-21Few more tests and fixesLoïc Hoguin
2020-09-21Replace gun_tunnel_up/3 message with /4 variantLoïc Hoguin
Also fixes all the tests. Lots of work remain around protocols (how best to pass the base stream_ref to them? maybe the current solution, maybe a new argument to Protocol:init) and strengthen the concept of stream_ref, at least with its own type.
2020-09-21Rename the 3-arity gun_socks_up to gun_tunnel_upLoïc Hoguin
2020-09-21Add gun_tunnel_up message to HTTP/2 CONNECTLoïc Hoguin
2020-09-21First working HTTPS over secure HTTP/2Loïc Hoguin
Has a timer:sleep/1 though because there is currently no way to wait for the TLS handshake to complete.
2020-09-21Make gun_socks_up stream-specific for HTTP/2 CONNECTLoïc Hoguin
2020-09-21Make HTTP/2 CONNECT to a SOCKS server workLoïc Hoguin
2020-09-21Add HTTP/2 CONNECT tests with Cowboy as originLoïc Hoguin
2020-09-21Add the base_stream_ref to gun_http/gun_http2Loïc Hoguin
2020-09-21HTTP/2 over HTTP/2 CONNECTLoïc Hoguin
2020-09-21Improve HTTP/2 CONNECT to non-HTTP originLoïc Hoguin
Now has a proper StreamRef given to it by the CONNECT stream.
2020-09-21Make gun:stream_info/2 return intermediaries for HTTP/2 CONNECTLoïc Hoguin
2020-09-21Initial HTTP/2 CONNECT implementationLoïc Hoguin
2020-04-20Update the WPT cookie testsLoïc Hoguin
2020-04-16Empty the commands queue when returningLoïc Hoguin
2020-04-16Add tests for cookie_ignore_informational optionLoïc Hoguin
2020-03-28Fix a Dialyzer warning introduced in the previous commitLoïc Hoguin
2020-03-28Make intermediaries return tls not tls_proxyLoïc Hoguin
Also add a test for CONNECT to TLS via 2 TLS proxies.
2020-03-28Disable the gun_tls_proxy EUnit testsLoïc Hoguin
There are better counterparts in the rfc7231_SUITE.
2020-03-27Increase the gun_tls_proxy tests timeoutLoïc Hoguin
2020-03-27Fix time related intermittent error in gun_cookies:gc_testLoïc Hoguin
If we set Max-Age to 1 we may end up GCing the cookie immediately. Instead we set it to 2 and increase all time values by 1 second.
2020-03-25Fix host/:authority header when connecting to an IPv6 addressLoïc Hoguin
2020-03-25Fix crash in gun:info/1 when socket is closedLoïc Hoguin
The call to Transport:sockname/1 can return an error if the socket was closed as we were gathering info. In that case we simply do not fill in the address and port information.
2020-03-19Fix gun_public_suffix compile problemLoïc Hoguin
There's no need to have idna listed in ALL_DEPS_DIR we only use it for "make gen" which does not require it.
2020-03-15Document the cookie store option and related modulesLoïc Hoguin
Also contains a few small changes and Dialyzer fixes.
2020-03-12Make Gun use the cookie store when configured toLoïc Hoguin
2020-03-06Add additional cookie expiration testsLoïc Hoguin
2020-03-05Implement gun_cookies:gc/1 and :session_gc/1Loïc Hoguin
2020-03-05Add the public suffix check to set_cookieLoïc Hoguin