Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-11-28 | Fix a websocket test handler that was throwing an unwanted error | Loïc Hoguin | |
The test still worked because we expect the websocket connection to fail, but it didn't fail exactly the way we wanted it to. | |||
2011-11-28 | Add set_resp_header/3 and set_resp_body/2 to cowboy_http_req | Loïc Hoguin | |
These functions allow to set response headers and body in advance, before calling any of the reply functions. Also add has_resp_header/2 and has_resp_body/1 to check if the given response headers have already been set. | |||
2011-11-24 | Fix default parsed values for the Accept and Accept-* headers | Loïc Hoguin | |
2011-11-24 | Fix specs for cowboy_http:language_range_ret/3 | Loïc Hoguin | |
2011-11-10 | Merge branch 'content-type' of https://github.com/nox/cowboy | Loïc Hoguin | |
2011-11-10 | Support 'Content-Type' in parse_header/2 | Anthony Ramine | |
2011-11-10 | Introduce cowboy_http:media_type/2 | Anthony Ramine | |
2011-11-10 | Introduce cowboy_http:word/2 | Anthony Ramine | |
Used to parse either a token or a quoted string in parameters values. | |||
2011-11-09 | Add 'If-Match' and 'If-None-Match' to parse_header/2 | Loïc Hoguin | |
2011-11-07 | Fix reading the request body when Length < byte_size(Buffer) | Loïc Hoguin | |
2011-11-07 | Add 'Accept-Language' to cowboy_http_req:parse_header/2 | Loïc Hoguin | |
2011-11-05 | Remove the IS_DIGIT macro | Loïc Hoguin | |
2011-11-05 | Add 'If-Modified-Since' and 'If-Unmodified-Since' to parse_header/2 | Loïc Hoguin | |
Implementing the full HTTP-date type (RFC1123, RFC850, asctime). | |||
2011-11-04 | Merge branch 'parse_header-content-length' of https://github.com/nox/cowboy | Loïc Hoguin | |
Conflicts: src/cowboy_http.erl | |||
2011-11-04 | Support 'Content-Length' in parse_header/2 | Anthony Ramine | |
2011-11-04 | Remove unneeded whitespaces according to the HTTP spec | Loïc Hoguin | |
2011-11-04 | Rename cowboy_http:charset/2 to conneg/2 and use it for Accept-Encoding | Loïc Hoguin | |
Sorry I apparently used an outdated RFC when I was doing this. | |||
2011-11-01 | Merge branch 'chrome-15' of https://github.com/puzza007/cowboy | Loïc Hoguin | |
2011-11-01 | Set the cowboy_listener process priority to high | Loïc Hoguin | |
See comment added with it for more information. | |||
2011-10-30 | update record spec for version 13 | Paul Oliver | |
2011-10-30 | Merge branch 'chunk-spec' of https://github.com/puzza007/cowboy | Loïc Hoguin | |
2011-10-29 | Fix cowboy_http_req:chunk/2 spec | Paul Oliver | |
2011-10-28 | Merge branch 'supervisor-relup-fix' of https://github.com/smarkets/cowboy | Loïc Hoguin | |
2011-10-28 | fix supervisor spec for non dynamic modules | Steven Gravell | |
a release upgrade on a vm running cowboy where any other appup includes an {update, Mod, {advanced, Extra}} instruction will hang forever due to these child specs being wrong. The gen_servers should be [Mod] and the non gen_server needs to be [] since there is no callback to handle this. | |||
2011-10-26 | Add 'Accept-Charset' to cowboy_http_req:parse_header/2 | Loïc Hoguin | |
2011-10-26 | Rename private function quality/2 into qvalue/2 | Loïc Hoguin | |
2011-10-26 | cowboy_http:media_range/2 should expect to not have whitespace before it | Loïc Hoguin | |
2011-10-26 | Add 'Accept-Encoding' to cowboy_http_req:parse_header/2 | Loïc Hoguin | |
2011-10-26 | Add 'Accept' header parsing | Loïc Hoguin | |
Rework the cowboy_http_req:parse_header/2 function while I was at it. | |||
2011-10-25 | Rewrite list/tokens parsing with an added whitespace function | Loïc Hoguin | |
2011-10-24 | Merge pull request #79 from athoune/patch-1 | Loïc Hoguin | |
Update README.md | |||
2011-10-25 | Update README.md | Mathieu Lecarme | |
2011-10-24 | Make sure the correct callback name is displayed in websocket errors | Loïc Hoguin | |
2011-10-24 | Merge branch 'chrome-15' of https://github.com/puzza007/cowboy | Loïc Hoguin | |
2011-10-24 | Accept Sec-WebSocket-Version: 13 header on Chrome 15 through 17 | Paul Oliver | |
2011-10-24 | We don't need to retrieve the Origin header for hybi-7+ websocket drafts | Loïc Hoguin | |
2011-10-20 | Parse Connection header tokens in a case-insensitive manner | Loïc Hoguin | |
2011-10-20 | Add a cowboy_http_req:upgrade_reply/3 function and use it for websockets | Loïc Hoguin | |
This function doesn't try to add any additional header besides the Connection: Upgrade header. It also doesn't accept a body. It should be used for the intermediate reply to an upgrade process, before the real reply is sent (if any, for example when using TLS). | |||
2011-10-20 | "websocket" must be treated in a case insensitive manner for upgrades | Loïc Hoguin | |
Fixed according to the websocket draft specs. | |||
2011-10-20 | Make sure the hixie-76 websocket code works properly with proxies | Loïc Hoguin | |
2011-10-19 | Add a max_line_length to the HTTP protocol | Loïc Hoguin | |
Allows to limit the size of request and header lines, thus preventing Cowboy from infinitely reading from the socket and never finding an end of line. Defaults to 4096 bytes. | |||
2011-10-19 | Fix the init_shutdown test | Loïc Hoguin | |
2011-10-17 | Rewrite the token list parsing into separate, modulable functions | Loïc Hoguin | |
Introduce cowboy_http's list/2, nonempty_list/2, token/2 functions. | |||
2011-10-13 | Add shortcuts to reply functions | Loïc Hoguin | |
New functions are reply/2, reply/3, chunked_reply/2 in cowboy_http_req. | |||
2011-10-13 | Rename a variable from Code to Status | Loïc Hoguin | |
2011-10-11 | Fix a misnamed variable for {loop, ...} returns in init/3 | Loïc Hoguin | |
2011-10-11 | Bump quoted to version 1.2.0 | Loïc Hoguin | |
2011-10-11 | Fix specs after erlang:hibernate/3 calls were added | Loïc Hoguin | |
This however does not fix the related Dialyzer warnings. I have no idea what the warnings are about nor how to fix them, so feel free to work on it and submit a patch! | |||
2011-10-10 | Add support for loops in standard HTTP handlers | Loïc Hoguin | |
Now init/3 can return one of the following values to enable loops: - {loop, Req, State} - {loop, Req, State, hibernate} - {loop, Req, State, Timeout} - {loop, Req, State, Timeout, hibernate} Returning one of these tuples will activate looping in the HTTP handler. When looping, handle/2 is never called. Instead, Cowboy will listen for Erlang messages and forward them to the info/3 function of the handler. If a timeout is defined, Cowboy will also close the connection when no message has been received for Timeout milliseconds. The info/3 function is defined as info(Msg, Req, State). It can return either of the following tuples: - {ok, Req, State} - {loop, Req, State} - {loop, Req, State, hibernate} The first one ends the connection, calling terminate/2 before closing. The others continue the loop. Loops are useful when writing long-polling handlers that need to wait and don't expect to receive anything. Therefore it is recommended to set a timeout to close the connection if nothing arrives after a while and to enable hibernate everywhere. Normal HTTP handlers shouldn't need to use this and as such info/3 was made optional. | |||
2011-10-10 | Add {shutdown, Req} to websocket_init/3 to fail a websocket upgrade | Loïc Hoguin | |
This change allows application developers to refuse websocket upgrades by returning {shutdown, Req}. The application can also send a reply with a custom error before returning from websocket_init/3, otherwise an error 400 is sent. Note that right now Cowboy closes the connection immediately. Also note that neither terminate/3 nor websocket_terminate/3 will be called when the connection is shutdown by websocket_init/3. |