aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_http.erl
AgeCommit message (Collapse)Author
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-10Make Dialyzer happyLoï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-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-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-09close when handling response with no streams for extend/gun#15Unix1
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-03-25Fix handling of fin in gun_httpLoïc Hoguin
Thanks David Cartt for reporting it.
2014-03-23Fix a bug where the buffer was dropped in one chunked decoding caseLoïc Hoguin
2014-03-21Improve the HTTP/1.1 and HTTP/1.0 supportLoïc Hoguin
2014-03-10Add gun_httpLoïc Hoguin
Support for HTTP/1.1 and compatibility with HTTP/1.0.