Age | Commit message (Collapse) | Author |
|
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.
|
|
Oops!
|
|
|
|
Thanks @petrohi for the initial patch.
|
|
Oops! Thanks everyone who reported/submitted patches.
|
|
|
|
When we stream content we need to set this header manually
from Gun.
|
|
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
Per extend/gun#22 we need to return body until server closes
connection when server doesn't specify content-length and
transfer-encoding
|
|
A linebreak was sometimes introduced in the middle of the request
body.
|
|
This happens because handle/2 is actually a loop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This way the issue fixed by the previous commit won't happen again.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Thanks David Cartt for reporting it.
|
|
|
|
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.
|
|
|