aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2017-04-30Monitor owner and terminate when it diesJuan Facorro
2017-04-30Allow infinity for connect_timeoutLoïc Hoguin
2017-04-30Fix retry_timeout value checkLoïc Hoguin
2017-04-30Add connect timeoutsugus-seu
2017-04-30Ignore errors from Transport:setopts/2Yuki Ito
2017-04-30Propagate the last connection failure reasonLoïc Hoguin
Based on a patch by Pablo Polvorin. Thanks!
2017-04-30Fix the retry=0 case, add general gun test suiteLoïc Hoguin
2017-04-28Add 'user_opts' options for use in Websocket handlersLoïc Hoguin
2017-04-28Fix a type and variable name in gun_content_handlerLoïc Hoguin
2017-04-28Add Gun Websocket handlers and protocol supportLoïc Hoguin
This functionality can be used to implement custom protocols on top of Websocket, but may also be used to decode frame contents on the fly if necessary. The default_protocol option defines what module should be used when no protocol was selected. The protocols option is a list of key/value pairs used to select the handler depending on the protocol that the server accepted. The feature is currently experimental.
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