aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
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
2020-03-04Initial implementation of the gun_cookies cookie storeLoïc Hoguin
2020-02-27Remove two unnecessary clausesLoïc Hoguin
As reported by Dialyzer.
2020-02-27Use specific error when HTTP/2 receives HTTP/1 responseLoïc Hoguin
2020-02-27Detect invalid HTTP/2 preface errorsLoïc Hoguin
And make sure all HTTP/2 connection_error(s) result in a gun_down message containing the error. In the preface case we do not send a gun_error message (because there's no stream open yet) and gun_down was always saying normal. Also make sure the human readable reason is included in the gun_error message, if any.
2020-02-10Handle cow_http2_machine timeoutsLoïc Hoguin
2019-11-04Fix a crash introduced in the previous commitLoïc Hoguin
2019-10-17Use maps for looking up HTTP/2 streamsLoïc Hoguin
This should be much faster than using lists:keyfind and friends. This matters for connections that have a lot of concurrent streams.