aboutsummaryrefslogtreecommitdiffstats
path: root/guide
AgeCommit message (Collapse)Author
2014-06-30Tweak the REST principles chapter following feedbackLoïc Hoguin
2014-06-30Return 422 instead of 400 when AcceptResource returns falseLoïc Hoguin
422 is undefined for HTTP and interpreted as 400.
2014-06-30Fix typoLoïc Hoguin
2014-06-30Update erlang.mk and update paths to start the releaseLoïc Hoguin
Fixes a couple invalid instructions at the same time.
2014-06-25Wrap-up the user guideLoïc Hoguin
2014-06-23Add a multipart intro chapter to the guideLoïc Hoguin
2014-06-22Write the guide chapter rest_flowcharts explaining the diagramsLoïc Hoguin
2014-06-21Add a missing "true" labelLoïc Hoguin
2014-06-21Add a stub chapter with all the REST flowchartsLoïc Hoguin
The detailed explanations will be written at a later time.
2014-06-21Add more details about the 304 in cond diagramLoïc Hoguin
2014-06-21Add REST diagram for PUT/POST/PATCHLoïc Hoguin
2014-06-20Add REST diagram for DELETE methodLoïc Hoguin
2014-06-20Add REST diagram for GET and HEADLoïc Hoguin
2014-06-19Add REST diagram for the part about conditional requestsLoïc Hoguin
2014-06-19Add variances to the conneg diagramLoïc Hoguin
2014-06-19Add more REST diagramsLoïc Hoguin
2014-06-18Add REST diagram for OPTIONS methodLoïc Hoguin
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.