0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00
Commit graph

1229 commits

Author SHA1 Message Date
Danielle Sucher
37e98f019d Clarify error msg for route lacking starting slash 2013-11-08 22:56:09 +01:00
Loïc Hoguin
a485e152eb Merge branch 'adrianroe-streaming-http1.1-compat' 2013-11-08 21:59:41 +01:00
Adrian Roe
c2e946708e Add a workaround to disable chunked transfer-encoding
This is an undocumented workaround to disable chunks when using HTTP/1.1.
It can be used when the client advertises itself as HTTP/1.1 despite not
understanding the chunked transfer-encoding.

Usage can be found looking at the test for it. When activated, Cowboy
will still advertise itself as HTTP/1.1, but will send the body the same
way it would if it was HTTP/1.0.
2013-11-08 21:56:37 +01:00
Loïc Hoguin
9d2096cd35 Add link to the repository of elixir Cowboy examples 2013-11-08 20:50:09 +01:00
Loïc Hoguin
8d546dacbc Optimize query string parsing
*  Parsing code was moved to cowlib: cowboy_qs:parse_qs/1
 *  A function was added to build query strings: cowboy_qs:qs/1
 *  Also added cowboy_qs:urlencode/1 and cowboy_qsurldecode/1
2013-11-08 18:47:05 +01:00
Loïc Hoguin
6672ea0415 Review, improve and document the static files handler
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-11-02 14:41:46 +01:00
Loïc Hoguin
faf64524c6 Move cookie parsing/building code to cowlib
The code for parsing has also been rewritten to be more efficient
and to be able to handle cookie values with space inside them properly.

Update cowlib to 0.2.0.
2013-10-23 16:35:23 +02:00
Loïc Hoguin
aab63d605c Remove the elixir_hello_world example
Elixir examples will be in a separate repository maintained
by Elixir capable developers.
2013-10-22 09:15:57 +02:00
Loïc Hoguin
e7d4cff848 Add relx to the ignore list 2013-10-22 09:15:03 +02:00
Loïc Hoguin
96755dd973 No need for relx in path for examples anymore 2013-10-22 09:14:32 +02:00
Loïc Hoguin
36ba174224 Convert the markdown_middleware example to a release 2013-10-22 09:10:24 +02:00
Loïc Hoguin
4769412daa erlang.mk now has built-in support for relx 2013-10-14 16:05:19 +02:00
Loïc Hoguin
2b2829f585 Greatly expand on the Req object
Cut in four different chapters: request, request body,
response and cookies.
2013-09-23 15:44:10 +02:00
Loïc Hoguin
eb4843a46b Remove unnecessary titles 2013-09-18 20:30:11 +02:00
Loïc Hoguin
7906f30d83 Greatly improve the HTTP handlers chapter 2013-09-18 20:29:48 +02:00
Loïc Hoguin
8754f7636c Small roadmap update 2013-09-18 20:29:01 +02:00
Loïc Hoguin
7319526de6 Added a chapter about life of HTTP requests
Reworked the table of contents also.
2013-09-18 12:02:37 +02:00
Loïc Hoguin
40b87545f6 Fix SPDY push explanations 2013-09-10 12:08:18 +02:00
Loïc Hoguin
1a4e7a8618 Fix the list of registered processes in the examples 2013-09-09 16:46:21 +02:00
Loïc Hoguin
bbe42d9bc5 Fix value for header content-encoding in a test
Not that it matters for the test, but still.
2013-09-09 16:28:37 +02:00
Loïc Hoguin
dc3fd01fb4 Add files generated by examples to the .gitignore 2013-09-09 16:27:25 +02:00
Loïc Hoguin
834056402a Convert the websocket example to a release 2013-09-09 16:21:53 +02:00
Loïc Hoguin
6a90d00cee Convert the web_server example to a release
Temporary mimetypes list here too.
2013-09-09 16:10:58 +02:00
Loïc Hoguin
8bb7c180ff Fix command to start the static_world release 2013-09-09 15:56:02 +02:00
Loïc Hoguin
28f90b81fa Convert the static handler example to a release
Temporarily hardcode the list of mimetypes.
2013-09-09 15:51:41 +02:00
Loïc Hoguin
24a22fa657 Convert the SSL hello world example to a release 2013-09-08 20:17:25 +02:00
Loïc Hoguin
1f8119ef31 Fix the command to start the release in rest_basic_auth example 2013-09-08 19:51:41 +02:00
Loïc Hoguin
7a7e144a0d Convert the REST streaming example to a release 2013-09-08 19:50:31 +02:00
Loïc Hoguin
630a805541 Convert the REST pastebin example to a release 2013-09-08 19:08:37 +02:00
Loïc Hoguin
dacaf5d293 Add missing files to the REST basic auth example 2013-09-08 12:22:52 +02:00
Loïc Hoguin
81843414b0 Convert the REST hello world example to a release 2013-09-08 12:22:30 +02:00
Loïc Hoguin
49acfce8b9 Convert the EventSource example to a release 2013-09-08 11:48:48 +02:00
Loïc Hoguin
6b7b0efd24 Conver the error hook example to a release 2013-09-08 11:30:47 +02:00
Loïc Hoguin
57e6d1f416 Convert the POST echo example to a release 2013-09-08 11:07:01 +02:00
Loïc Hoguin
e2b11bbeed Convert the GET echo example to a release 2013-09-07 22:26:40 +02:00
Loïc Hoguin
340f0a5112 Convert the cookie example to a release 2013-09-07 21:58:03 +02:00
Loïc Hoguin
2f25c654b0 Convert the compressed response example to a release 2013-09-07 20:45:21 +02:00
Loïc Hoguin
4b20f5cd08 Convert the chunked hello world example to a release 2013-09-07 20:26:26 +02:00
Loïc Hoguin
bb9a2e975e Rename the basic_auth example to rest_basic_auth 2013-09-07 16:23:13 +02:00
Loïc Hoguin
51ce122858 Convert the basic auth example to a release 2013-09-07 16:18:51 +02:00
Loïc Hoguin
335676876b Convert the hello world example to a release 2013-09-07 15:33:40 +02:00
Loïc Hoguin
7ab12d1b66 Fix wrong header sent in echo_post example 2013-09-07 14:13:51 +02:00
Loïc Hoguin
299c93f661 Implement recv timeout for SPDY 2013-09-07 14:01:19 +02:00
Loïc Hoguin
c7f7e4456e Much improved Getting started chapter
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-07 12:54:55 +02:00
Loïc Hoguin
4a30198f90 Make cowlib a proper dependency
Start moving a few functions from Cowboy into cowlib.
2013-09-04 19:24:54 +02:00
Loïc Hoguin
bd0de074c3 More SPDY code readability improvements 2013-09-04 12:47:27 +02:00
Loïc Hoguin
bf70b41282 Fix a badmatch issue when calling which_children on SPDY process 2013-09-04 12:30:45 +02:00
Loïc Hoguin
d83205243a Simplify the SPDY code by adding child management functions 2013-09-04 12:29:30 +02:00
Loïc Hoguin
9b52ccad03 Fix specs for SPDY 2013-09-02 20:14:48 +02:00
Loïc Hoguin
67410731e0 Merge branch 'ipv6-literal' of git://github.com/yamt/cowboy 2013-09-02 20:05:03 +02:00