aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_http2.erl
AgeCommit message (Collapse)Author
2019-07-03Add the response_trailers eventLoïc Hoguin
2019-07-03Add the response_start eventLoï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-02Add response_inform/response_headers/response_end eventsLoïc Hoguin
This covers many scenarios but more need to be added.
2019-06-02Add request_start, request_headers and request_end eventsLoïc Hoguin
2019-04-22Make gun_tls_proxy work for HTTP/2 connectionsLoïc Hoguin
2019-01-09Add function gun:stream_info/2Loï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-03Update copyright yearsLoïc Hoguin
2019-01-02Don't send the default port in the host header for HTTP/2Loïc Hoguin
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-19Convert the gun process to gen_statemLoï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.
2018-10-01Remove unreachable clauses pointed out by DialyzerLoïc Hoguin
2018-10-01Fix the remaining h2specd test failuresLoïc Hoguin
2018-10-01Handle HTTP/2 continuation framesLoïc Hoguin
Fixes most h2specd tests.
2018-09-28Ignore HTTP/2 frames of unknown typesLoïc Hoguin
2018-09-26Don't crash on HEADERS frames with PRIORITY flag setLoïc Hoguin
2018-09-17Add HTTP/1.1 CONNECT supportLoïc Hoguin
Gun can now be used to connect through TCP HTTP/1.1 proxies using all supported protocols. It is also possible to create a tunnel through multiple proxies. Also updates Cowlib to 2.6.0.
2018-08-06Fix the status code passed to content handlersLoïc Hoguin
The integer form is expected, not the binary.
2018-08-06Fix some types that were referring to CowboyLoïc Hoguin
2018-06-04Support Unix domain sockets when building host headersSimon Thörnqvist
2018-06-04Update copyright yearsLoïc Hoguin
2018-06-04Add some todos for laterLoïc Hoguin
2018-06-04Remove the dependency on RanchLoïc Hoguin
We instead of two new modules, gun_tcp and gun_tls. They only have 6 functions so far, much less than what Ranch provided before. Also renames ssl to tls where applicable. It's still possible to use the ssl transport option but it's now undocumented.
2018-06-03Rename gun_data and gun_sse to gun_data_h and gun_sse_hLoïc Hoguin
2018-06-03Reorder the option checksLoïc Hoguin
2018-05-15Allow IP tuple for host #152Seudin Kasumovic
2018-05-07Import the HTTP/2 send_data function from CowboyLoïc Hoguin
Few changes were required so that's pretty good. It will be split off in a separate common module at a later time.
2017-11-15Add preliminary support for trailersLoïc Hoguin
The code is definitely not the best, but as long as it doesn't break anything it should be OK for now.
2017-10-29Add support for informational responsesLoïc Hoguin
2017-09-02Fix gun_http2:handle/2 when goaway is receivedEduardo Gurgel
2017-08-14Allow an infinity keepalive value1.0.0-pre.4Loïc Hoguin
This disables the keepalive mechanism entirely.
2017-05-19Add partial support for h2 flow controlLoïc Hoguin
Specifically we send WINDOW_UPDATE frames in order to receive more data, but we do not respect the flow control window when we are sending request bodies.
2017-05-01Add transform_header_name http option.Gustaf Sjoberg
2017-05-01Add support for choosing a process to reply toAndrei Nesterov
2017-04-27Add content handlers and built-in SSE supportLoïc Hoguin
Content handlers are a chain of modules implementing callbacks that receive the body of responses and may modify it (for example for decompressing the content) or act upon it (like sending a message to the owner process. The gun_sse content handler module can be used to translate text/event-stream events on the fly and deliver them to the owner process as a {gun_sse...} message. This feature is currently not documented and is only tested against a public server. It requires an up to date Cowlib.
2017-04-26Use the host header value for authority in h2, if anyLoïc Hoguin
2017-01-02Fix sending of data > 16384 with HTTP/21.0.0-pre.2Loïc Hoguin
2017-01-02Implement HTTP/2 server pushLoïc Hoguin
2016-06-20Send proper scheme for HTTP/2Loïc Hoguin
Clear connections send "http" and TLS connections "https".
2016-06-08Merge branch 'fix_badarg_on_ping' of https://github.com/philipstears/gunLoïc Hoguin
2016-06-06Fix badarg in http/2 ping generationPhilip Stears
2016-06-06gun_http2 erroneously using cow_spdy.Philip Stears
2016-06-06Handle RST_STREAM in HTTP/2 protocolLoïc Hoguin
2016-05-27Initial HTTP/2 supportLoïc Hoguin
A number of things are not implemented, but this is enough to connect to Twitter and get a response sent back. It also currently doesn't have tests.