Age | Commit message (Collapse) | Author |
|
|
|
|
|
Based on a patch by Pablo Polvorin. Thanks!
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
Allow passing Websocket options through either open or ws_upgrade.
Document ws_upgrade/4.
|
|
|
|
|
|
The flush(Pid) function was enhanced to also discard Websocket
messages and the new up/down messages.
|
|
map:to_list -> maps:to_list
Only call maps:to_list once.
|
|
Fixes an issue introduced in the previous commit that broke
automatic reconnection.
Thanks to Adrian Roe/Steve Strong for the report.
|
|
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.
|
|
Websocket options are a map.
|
|
Should be simpler if the original stream reference is at the same
position in all messages.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
For some reason this only happened with SSL. I suppose the behavior
is a little different from TCP.
|
|
We branch out and don't try to use NPN when the function
ssl:negotiated_next_protocol/1 isn't exported.
|
|
|
|
|
|
'gone' is more explicit than 'too_many_retries'.
|
|
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.
|
|
|
|
|
|
Support for HTTP/1.1 and compatibility with HTTP/1.0.
|
|
|
|
Was due to incorrect documentation before R16B03. Thanks Ingela
for finding it!
|
|
|
|
|
|
|
|
|
|
|
|
SPDY unfortunately is still completely client-server
and we can't do that according to the specs.
|
|
|