aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun.erl
AgeCommit message (Collapse)Author
2017-05-01Add gun:info/11.0.0-pre.3Loïc Hoguin
So far only for getting the socket ip and port on the local side. More values may be added later on.
2017-05-01Add support for choosing a process to reply toAndrei Nesterov
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-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-01-02Implement HTTP/2 server pushLoï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 ssl:negotiated_next_protocol/1 is deprecated.Maxim Krentovskiy
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-29Fixes badarg when using gun:ws_upgrade/{2,3}Loïc Hoguin
Websocket options are a map.
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-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-03-26Default to TCP if port 80 is given, otherwise SSLLoïc Hoguin
2014-03-25Add gun:flush/1 to easily cleanup the mailboxLoïc Hoguin
It can cleanup all messages from a pid, or just the ones from a specific stream. The latter is useful in combination with cancel/2.
2014-03-23Fix crashes when Transport:setopts/2 returned an errorLoïc Hoguin
For some reason this only happened with SSL. I suppose the behavior is a little different from TCP.
2014-03-23NPN isn't supported on R15Loïc Hoguin
We branch out and don't try to use NPN when the function ssl:negotiated_next_protocol/1 isn't exported.
2014-03-21Update copyright yearsLoïc Hoguin
2014-03-21Improve the HTTP/1.1 and HTTP/1.0 supportLoïc Hoguin
2014-03-21Change the error name when there has been too many retriesLoïc Hoguin
'gone' is more explicit than 'too_many_retries'.
2014-03-21Add an interface to asynchronously wait for responsesLoïc Hoguin
The basic idea is that we do an async call and then optionally wait. If we already have a monitor for this connection, then we can reuse it across all await* calls, otherwise one is created automatically.
2014-03-21Fix a ws_loop/1 callLoïc Hoguin
2014-03-21Add a debug function to send raw dataLoïc Hoguin
2014-03-10Add gun_httpLoïc Hoguin
Support for HTTP/1.1 and compatibility with HTTP/1.0.
2014-03-10Improve behavior when losing the connectionLoïc Hoguin
2014-03-10Fix the client_preferred_next_protocols optionLoïc Hoguin
Was due to incorrect documentation before R16B03. Thanks Ingela for finding it!
2013-09-02Fix specs for headersLoïc Hoguin
2013-08-31Actually handle system messages instead of just dyingLoïc Hoguin
2013-08-27Add typespecs to the gun moduleLoïc Hoguin
2013-08-26Add gun:open/2Loïc Hoguin
2013-08-26Sync message signature with documentationLoïc Hoguin
2013-08-26Remove the response functionsLoïc Hoguin
SPDY unfortunately is still completely client-server and we can't do that according to the specs.
2013-08-22Initial commit with working SPDY clientLoïc Hoguin