aboutsummaryrefslogtreecommitdiffstats
path: root/guide
AgeCommit message (Collapse)Author
2014-06-04Add a REST principles chapter to the guideLoïc Hoguin
This is a complex subject so hopefully I did not introduce errors while trying to explain it.
2014-06-02Add request body reading optionsLoïc Hoguin
The options were added to allow developers to fix timeout issues when reading large bodies. It is also a cleaner and easier to extend interface. This commit deprecates the functions init_stream, stream_body and skip_body which are no longer needed. They will be removed in 1.0. The body function can now take an additional argument that is a list of options. The body_qs, part and part_body functions can too and simply pass this argument down to the body call. There are options for disabling the automatic continue reply, setting a maximum length to be returned (soft limit), setting the read length and read timeout, and setting the transfer and content decode functions. The return value of the body and body_qs have changed slightly. The body function now works similarly to the part_body function, in that it returns either an ok or a more tuple depending on whether there is additional data to be read. The body_qs function can return a badlength tuple if the body is too big. The default size has been increased from 16KB to 64KB. The default read length and timeout have been tweaked and vary depending on the function called. The body function will now adequately process chunked bodies, which means that the body_qs function will too. But this means that the behavior has changed slightly and your code should be tested properly when updating your code. The body and body_qs still accept a length as first argument for compatibility purpose with older code. Note that this form is deprecated and will be removed in 1.0. The part and part_body function, being new and never having been in a release yet, have this form completely removed in this commit. Again, while most code should work as-is, you should make sure that it actually does before pushing this to production.
2014-04-26Change wording in the guide to remove ambiguityLoïc Hoguin
2014-03-03Update and improve Websocket chapters in the guideLoïc Hoguin
2014-02-06Add and document the new multipart codeLoïc Hoguin
The old undocumented API is removed entirely. While a documentation exists for the new API, it will not be considered set in stone until further testing has been performed, and a file upload example has been added. The new API should be a little more efficient than the old API, especially with smaller messages.
2013-11-15Merge branch 'patch-1' of git://github.com/alco/cowboyLoïc Hoguin
2013-11-15Fix link to the Ranch guide in getting startedLoïc Hoguin
2013-11-14Fix grammar in "how it looks like"Alexei Sholik
2013-11-02Review, improve and document the static files handlerLoïc Hoguin
Changes include: * Much simplified route configuration. * Etag generation is now enabled by default. * Web mimetypes are now detected by default. A bigger list of mimetypes can be detected without any additional library. * Mimetypes can no longer be specified as a list. Copying this list for new connections is too costy. You can easily convert it into a function and pass that function to the handler instead. * You can however specify a single hardcoded mimetype. Mostly useful when serving a single file, like an index.html file, to avoid extra operations. * Specifying a path as a list of tokens is not possible anymore. Use either a binary or a string. * Using a private directory will not work if the application was not started properly. Cowboy will not attempt to find the location of this directory if the VM doesn't know it, as this caused issues in some setups. * Overall the code has been much simplified and clarified, and of course has now been documented.
2013-10-14erlang.mk now has built-in support for relxLoïc Hoguin
2013-09-23Greatly expand on the Req objectLoïc Hoguin
Cut in four different chapters: request, request body, response and cookies.
2013-09-18Remove unnecessary titlesLoïc Hoguin
2013-09-18Greatly improve the HTTP handlers chapterLoïc Hoguin
2013-09-18Added a chapter about life of HTTP requestsLoïc Hoguin
Reworked the table of contents also.
2013-09-10Fix SPDY push explanationsLoïc Hoguin
2013-09-07Much improved Getting started chapterLoïc Hoguin
We now describe how to build a hello world application from start to finish, including setting up erlang.mk for building, and using relx for generating the release. All concepts are not explained in details of course, but we don't need to at this point, we just want things to be working.
2013-09-04Make cowlib a proper dependencyLoïc Hoguin
Start moving a few functions from Cowboy into cowlib.
2013-08-27Fix some explanations around response bodiesLoïc Hoguin
2013-06-27Minor corrections of the guideMatthias Endler
2013-06-27Greatly improve the guide introductionLoïc Hoguin
2013-06-23Reword the clean erlang code partLoïc Hoguin
We don't care about parameterized modules anymore. They're gone!
2013-05-16Make the HTTP version type more practicalLoï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-15Remove cowboy_req:fragment/1Loï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-04-26Fix a small error in the REST part of the guideLoïc Hoguin
2013-04-26Update the REST chapter of the guideLoïc Hoguin
2013-04-25Improve static file handler guide chapterLoïc Hoguin
Add more infos about MIME types and the file option.
2013-04-25Document meta values set by RESTLoïc Hoguin
You can use these values to perform a reply using the negotiated content-type and language for non-HEAD/GET methods.
2013-04-19Add section about REST methodsLoïc Hoguin
2013-04-12Add default operations for OPTIONS method in RESTLoïc Hoguin
It defaults to setting the Allow header to "HEAD, GET, OPTIONS".
2013-04-11Merge branch 'eventsource-helper' of git://github.com/jdavisp3/cowboyLoïc Hoguin
2013-04-11Fix static handler snippet in the guideLoïc Hoguin
Thanks to Martin Törnwall for pointing this out.
2013-04-11First draft of the REST chapter in the guideLoïc Hoguin
2013-04-11Remove cowboy_req:peer_addr/1Loï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-06Add a reference to an eventsource helper utility.Dave Peticolas
2013-04-03Update Ranch to 0.8.0Loïc Hoguin
2013-04-02Replace init_stream/5 with stream_body/2Loï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-22Add a guide section for resource linksLoïc Hoguin
2013-03-06Check the length before reading the body in body/1 and body_qs/1rambocoder
2013-03-05Make streamed chunk size configurableLoï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-02Describe arguments of the HTTP handler callbacksLoïc Hoguin
2013-03-02Explain what are listeners and acceptors in Getting StartedLoïc Hoguin
2013-03-02Add a recommendation about static files in production to the guideLoïc Hoguin
2013-03-01Add an example of onresponse hooksAdam Cammack
Also fix the guide entry on hooks.
2013-03-01Fix an error in the guide introductionLoïc Hoguin
Reported by Joe Armstrong.
2013-02-27Add a Supported platforms section to the guide introductionLoïc Hoguin
2013-02-20Add cowboy:set_env/3Loïc Hoguin
2013-02-16Add sub protocol behaviourJames Fish
2013-02-12Merge branch 'static_doc' of git://github.com/acammack/cowboyLoïc Hoguin
2013-02-11Fix examples in cowboy_static edoc and guideAdam Cammack
2013-02-11Add a few directions in the REST chapter in the guideLoïc Hoguin
This is obviously not proper documentation. We will properly document it when the API stabilizes.