aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
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
2017-01-02Fix sending of body as iodata() with HTTPLoïc Hoguin
2016-11-16Update Erlang.mk and related changesLoïc Hoguin
2016-06-28Properly handle HTTP/1.1 HEAD requestsLoïc Hoguin
No response body is expected from now on.
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.
2015-08-17Fix compilation issueLoïc Hoguin
Oops!
2015-08-17Fix ssl:negotiated_next_protocol/1 is deprecated.Maxim Krentovskiy
2015-08-16Handle 204 responses properlyLoïc Hoguin
Thanks @petrohi for the initial patch.
2015-08-16Include user headers in HTTP/1 requestsLoïc Hoguin
Oops! Thanks everyone who reported/submitted patches.
2015-05-05Update to 1.0.0-pre.11.0.0-pre.1Loïc Hoguin
2015-05-03Add a missing Transfer-Encoding: chunked header in HTTPLoïc Hoguin
When we stream content we need to set this header manually from Gun.
2015-04-12Add a SPDY test and improve a few badstate messagesLoïc Hoguin
2015-04-10Add headers to gun_ws_upgrade messageLoïc Hoguin
Also improves the code and documentation about this message. It was incorrectly specified that a gun_ws_upgrade message could be sent on error; instead a gun_response is sent.
2015-04-10Add Websocket optionsLoïc Hoguin
Allow passing Websocket options through either open or ws_upgrade. Document ws_upgrade/4.
2015-04-10Make Dialyzer happyLoïc Hoguin
2015-04-10Add functions await_up/{1,2,3} for sync openLoïc Hoguin
2015-04-09Add gun_up and gun_down messagesLoïc Hoguin
The flush(Pid) function was enhanced to also discard Websocket messages and the new up/down messages.
2015-04-09Fix checking of protocol optionsLoïc Hoguin
map:to_list -> maps:to_list Only call maps:to_list once.
2015-04-09Don't clear out the transport on connection retryLoïc Hoguin
Fixes an issue introduced in the previous commit that broke automatic reconnection. Thanks to Adrian Roe/Steve Strong for the report.
2015-04-08Use maps for and improve optionsLoïc Hoguin
The type option has been removed. The transport and protocols options can be used in its place. The transport_opts option can be used to specify transport options. The http_opts and spdy_opts options can be used to specify protocol specific options. The keepalive option is now a protocol specific option. Defaults depending on the port number have changed. Now only port 443 uses ssl by default, other ports use tcp.
2015-03-30Merge branch 'fix-body-no-contentlength' of https://github.com/unix1/gunLoïc Hoguin
2015-03-29Improve request codeLoïc Hoguin
The content-type and content-length alone indicate whether a body is present for request/4. The host header can now be overriden. A number of headers like transfer-encoding are automatically deleted from the list of headers we receive. SPDY also deletes connection, keep-alive and proxy-connection. SPDY now sends the port in the :host header.
2015-03-29Fixes badarg when using gun:ws_upgrade/{2,3}Loïc Hoguin
Websocket options are a map.
2015-03-25Fix an undef crash with SPDYLoïc Hoguin
2015-03-25Fix the order of stream references in gun_push messageLoïc Hoguin
Should be simpler if the original stream reference is at the same position in all messages.
2015-03-12Update copyright yearsLoïc Hoguin
2015-03-12Add initial Websocket supportLoïc Hoguin
All autobahntestsuite tests pass including the permessage-deflate compression tests. Some of the tests pass in a non-strict fashion. They are testing for protocol errors and expect events to happen in a particular order, which is not respected by Gun. Gun fails earlier than is expected due to concurrent processing of frames. The implementation when error occurs during handshake is probably a bit rough at this point. The documentation is also incomplete and/or wrong at this time, though this is the general state of the Gun documentation and will be resolved in a separate commit.
2014-10-26Return body when content-length not specifiedUnix1
Per extend/gun#22 we need to return body until server closes connection when server doesn't specify content-length and transfer-encoding
2014-07-14Fix bug with HTTP and keepaliveLoïc Hoguin
A linebreak was sometimes introduced in the middle of the request body.
2014-06-10Don't close the connection on empty data in cow_http:handle/2Loïc Hoguin
This happens because handle/2 is actually a loop.
2014-06-10Update transfer encoding code to current cowlib interfaceLoïc Hoguin
2014-06-09Merge branch 'fix-keepalive-response' of git://github.com/unix1/gunLoïc Hoguin
2014-06-09close when handling response with no streams for extend/gun#15Unix1
2014-06-08continue after unexpected message for extend/gun#19Unix1
2014-06-08handle messages from previous socket for extend/gun#19Unix1
2014-06-06Merge branch 'fix-keepalive-schedule' of git://github.com/unix1/gunLoïc Hoguin
2014-06-06cancel keepalive on retry per extend/gun#16Unix1
2014-06-03Make sure the host value is of the correct type in openLoïc Hoguin
2014-05-01Use cow_http_te for creating chunksLoïc Hoguin
This way the issue fixed by the previous commit won't happen again.
2014-04-30Fix chunked transfer-encoding for HTTP/1.1Loïc Hoguin
2014-04-29Add cowlib in the .app deps for release inclusionLoïc Hoguin
2014-03-26Default to TCP if port 80 is given, otherwise SSLLoïc Hoguin