Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-12-06 | cowboy_http_protocol shouldn't crash if the client sends HTTP responses | Loïc Hoguin | |
It was replying back the correct error, but with a crash message in the console. This patch prevents it from crashing. Fixes issue #94 reported by oribrost. | |||
2011-12-05 | Add experimental Webmachine based REST protocol support | Loïc Hoguin | |
As with everything experimental, it probably has a lot of bugs and may not even work. Like Websocket, REST must be upgraded from a standard resource through the init/3 function. A key difference between Webmachine and Cowboy's REST protocol handler is that in Cowboy the resource has direct access to the request object. This makes a small change in a few places where you were expected to return headers or body in Webmachine and are now expected to set them directly yourself if needed (options/2, for example). Another difference is that the functions rest_init/2 will always be called when starting to process a request. Similarly, rest_terminate/2 will be called when the process completes successfully. The Cowboy REST support also includes automatic language selection, thanks to the languages_provided/2 callback. Finally, Cowboy REST expects full URIs to be given at all times, and will not try to reconstruct URIs from fragments. Note that REST requests cannot be chained (keepalive) at this time. This is a design issue in cowboy_http_protocol that will be fixed soon. Check out the source for more details. It has been designed to be very easy to read and understand so if you don't understand something, it's probably a bug. Thanks in advance for all the great bug reports, pull requests and comments you'll forward my way! | |||
2011-12-05 | The semantics for a missing 'If-Match' aren't the same as '*' | Loïc Hoguin | |
2011-12-05 | Fix specs to allow headers as iodata() and not just binary() | Loïc Hoguin | |
2011-12-01 | Change the returned value for language_range parsing | Loïc Hoguin | |
Considering how it must be used, a simple binary is much better than a tag and a list of subtags. We still parse them like this to make sure they follow the specs, though. | |||
2011-11-28 | Weekdays are binaries and not lists | Loïc Hoguin | |
Spotted by devinus on IRC. | |||
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. |