Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-05-16 | Make the HTTP version type more practical | Loïc Hoguin | |
Now instead of {1, 1} we have 'HTTP/1.1', and instead of {1, 0} we have 'HTTP/1.0'. This is more efficient, easier to read in crash logs, and clearer in the code. | |||
2013-05-15 | Remove cowboy_req:fragment/1 | Loïc Hoguin | |
Clients do not send it. We skip the value if we receive it now, as it shouldn't happen, and won't for all the mainstream clients. | |||
2013-05-15 | Fix the cowboy_websocket:frame/0 type | Loïc Hoguin | |
It accepts iodata() and not binary() for the payload. | |||
2013-05-15 | Fix two incorrect comments in cowboy_req | Loïc Hoguin | |
2013-05-15 | The cookie value can only be binary() | Loïc Hoguin | |
2013-05-15 | The return value of cowboy_req:peer/1 is never undefined | Loïc Hoguin | |
2013-05-15 | Fix incorrect spec for the middleware callback | Loïc Hoguin | |
2013-05-15 | Add two missing terminate reasons to http/loop handlers specs | Loïc Hoguin | |
2013-05-15 | Change some module calls to local function calls | Loïc Hoguin | |
2013-04-29 | Fix a bug in REST when allowed_methods is defined when method is OPTIONS | Loïc Hoguin | |
2013-04-26 | Add chunked response body fun | James Fish | |
Adds a new type of streaming response fun. It can be set in a similar way to a streaming body fun with known length: Req2 = cowboy_req:set_resp_body_fun(chunked, StreamFun, Req) The fun, StreamFun, should accept a fun as its single argument. This fun, ChunkFun, is used to send chunks of iodata: ok = ChunkFun(IoData) ChunkFun should not be called with an empty binary or iolist as this will cause HTTP 1.1 clients to believe the stream is over. The final (0 length) chunk will be sent automatically - even if it has already been sent - assuming no exception is raised. Also note that the connection will close after the last chunk for HTTP 1.0 clients. | |||
2013-04-26 | Update to 0.8.4 | Loïc Hoguin | |
2013-04-26 | Merge branch 'range_header' of git://github.com/Egobrain/cowboy | Loïc Hoguin | |
2013-04-26 | Added range header parser | Egobrain | |
2013-04-26 | Merge branch 'remove_asserts' of git://github.com/Egobrain/cowboy | Loïc Hoguin | |
2013-04-26 | Removed asserts from unit tests | Egobrain | |
2013-04-26 | Merge branch 'pr-381-fix' of git://github.com/seletskiy/cowboy | Loïc Hoguin | |
2013-04-26 | Fix indenting issues in `cowboy_rest.erl` | Seletskiy Stanislav | |
2013-04-26 | Add default CTP: "text/html" maps to `to_html` | Seletskiy Stanislav | |
2013-04-25 | Cookie names are case sensitive | Loïc Hoguin | |
This should be more in line with what browsers are doing, and will prevent errors due to failed expectations. | |||
2013-04-22 | Fix an outdated comment | Loïc Hoguin | |
2013-04-20 | REST is no longer experimental | Loïc Hoguin | |
2013-04-20 | Fix POST behavior in REST | Loïc Hoguin | |
The resource accept callback can trigger the following responses: * returns true, new resource, location header set: 201 * returns true, otherwise: 200, 204 or 300 (depends on body) * returns false: 422 * returns URL, new resource: 201 * returns URL, otherwise: 303 | |||
2013-04-15 | Build Allow header with a binary comprehension | Loïc Hoguin | |
2013-04-12 | Add default operations for OPTIONS method in REST | Loïc Hoguin | |
It defaults to setting the Allow header to "HEAD, GET, OPTIONS". | |||
2013-04-12 | Don't receive data from the socket only once in the loop handler | Loïc Hoguin | |
2013-04-12 | Ensure we can fetch the body in the info/3 function of loop handlers | Loïc Hoguin | |
2013-04-12 | rest: reject incorrect content-type header | Vladimir Dronnikov | |
2013-04-12 | missing comma in documentation of static examples | Andrzej Sliwa | |
2013-04-11 | Merge branch 'iolist_path_support' of git://github.com/tsloughter/cowboy | Loïc Hoguin | |
2013-04-11 | Merge branch 'fix/sendfile-error-handling' of git://github.com/soundrop/cowboy | Loïc Hoguin | |
2013-04-11 | Don't accept TRACE or CONNECT methods by default in REST | Loïc Hoguin | |
For the simple reason that the REST code does nothing about them. | |||
2013-04-11 | Remove process_post, post_is_create, create_path, created_path callbacks | Loïc Hoguin | |
Instead it will always go through content_types_accepted and it is up to the resource code to do any creation and to return the created path if the method is POST and the client should be redirected to the created resource's location. This removes the meta value 'put_path' as it is not needed anymore. This fixes an issue with PATCH where content types were not normalized. | |||
2013-04-11 | Remove cowboy_req:peer_addr/1 | Loïc Hoguin | |
This kind of function is highly dependent on the proxy used, therefore parsing was added for x-forwarded-for instead and we just let users write the function that works for them. The code can be easily extracted if anyone was using the function. | |||
2013-04-11 | Parse the x-forwarded-for header as a list of tokens | Loïc Hoguin | |
2013-04-11 | Shorten the parse_header clauses | Loïc Hoguin | |
2013-04-11 | No need for fully qualified call to the same module | Loïc Hoguin | |
2013-04-09 | Switch the arguments to cowboy_req:stream_body/2 | Loïc Hoguin | |
Make them consistent with the rest of the module. | |||
2013-04-08 | Do not crash if connection times out while sending a file using sendfile | Ali Sabil | |
2013-04-03 | Update to 0.8.30.8.3 | Loïc Hoguin | |
2013-04-03 | Update Ranch to 0.8.0 | Loïc Hoguin | |
2013-04-02 | Replace init_stream/5 with stream_body/2 | Loïc Hoguin | |
This allows us to change the max chunk length on a per chunk basis instead of for the whole stream. It's also much easier to use this way even if we don't want to change the chunk size. | |||
2013-03-24 | add iolist support to route_match | Tristan Sloughter | |
2013-03-09 | Update to 0.8.20.8.2 | Loïc Hoguin | |
2013-03-06 | Merge branch 'check-body-length' of git://github.com/rambocoder/cowboy | Loïc Hoguin | |
2013-03-06 | Stop using binary:match in cowboy_protocol | Loïc Hoguin | |
It's been found slower than a custom equivalent to what we were using it for. As this is the critical path we prefer the custom solution. | |||
2013-03-06 | Check the length before reading the body in body/1 and body_qs/1 | rambocoder | |
2013-03-05 | Make streamed chunk size configurable | Loïc Hoguin | |
Defaults to a maximum of 1000000 bytes. Also standardize the te_identity and te_chunked decoding functions. Now they both try to read as much as possible (up to the limit), making body reading much faster when not using chunked encoding. | |||
2013-03-05 | Handle identity transfer-encoding when determining body length | Loïc Hoguin | |
2013-03-03 | Add '*' matcher for parameters | Slava Yurin | |
For get_type_provided: '*' will be match any parameters of media-range in "accept" header. If '*' matched, then '*' is replaced by the matching parameters. If Accept header is missing and '*' using, then in media_type in parameters will be '*' and reply content-type will be without any parameters. For content_types_accepted: '*' will be match any parameters in "content-type" header. |