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

448 commits

Author SHA1 Message Date
Loïc Hoguin
0c2e2224e3 Update version to 0.6.0
Also update the CHANGELOG and copyright years.
2012-05-23 14:53:48 +02:00
Loïc Hoguin
1a1b01c7c4 Remove a dumb warning when running the tests 2012-05-21 16:46:18 +02:00
Loïc Hoguin
a95245d9c9 Merge branch 'cookie_slash' of https://github.com/bfrog/cowboy 2012-05-21 16:42:22 +02:00
Loïc Hoguin
295dc64eaa Merge branch 'serve-static-file' of https://github.com/klaar/cowboy
Fix alphabetical order since @klaar seems to have issues with it. ;)
2012-05-21 16:33:37 +02:00
Loïc Hoguin
040c6dc31a Merge branch 'fix/relax-conneg-parsing' of https://github.com/tillitech/cowboy 2012-05-21 15:24:40 +02:00
Loïc Hoguin
cc6c4e39de Fix a bug preventing 'onresponse' from being called on errors 2012-05-21 15:17:24 +02:00
Loïc Hoguin
ca9278bc27 Make multipart code use stream_body 2012-05-21 14:43:45 +02:00
Loïc Hoguin
8363e8995a Small updates to the ROADMAP and doc comments 2012-05-21 08:49:22 +02:00
Tom Burdick
7ffd324799 Only ignore slashes in cookie values for the path
* Ensures cookie encoding errors are caught earlier
* Fix separator misspelling
2012-05-14 08:41:36 -05:00
Loïc Hoguin
4f78be6da6 Merge pull request #216 from nox/rfc6585
Add new HTTP status codes from RFC 6585
2012-05-14 03:43:13 -07:00
Anthony Ramine
de89550c23 Add new HTTP status codes from RFC 6585
See http://tools.ietf.org/html/rfc6585 for further details.
2012-05-06 13:12:58 +02:00
Loïc Hoguin
90bae59307 Add a test checking requests with size around the MTU 2012-05-05 07:53:17 +02:00
Loïc Hoguin
5ffeb9e7e9 Merge branch 'patch-1' of https://github.com/yrashk/cowboy 2012-05-05 07:11:05 +02:00
Loïc Hoguin
376d5372e1 Add a test for empty path segments 2012-05-05 05:12:57 +02:00
Yurii Rashkovskii
d495582029 Fixes invalid type specification for cowboy_http_req:multipart_data/1 2012-05-04 09:33:55 -07:00
Loïc Hoguin
14b45fd8a9 Add a note about crypto websocket usage in the doc comments 2012-05-04 11:03:57 +02:00
Loïc Hoguin
0406a632dc Merge branch 'response-hook' 2012-05-04 06:32:12 +02:00
Loïc Hoguin
57fda14217 Add an 'onresponse' hook
This new protocol option is a fun.

It expects 3 args: the Status code used in the reply (this is the
cowboy_http:status() type, it can be an integer or a binary), the
headers that will be sent in the reply, and the Req. It should
only return a possibly modified Req. This can be used for many
things like error logging or custom error pages.

If a reply is sent inside the hook, then Cowboy will discard the
reply initially sent. Extra caution must be used in the handlers
making use of inline chunked replies as they will throw an error.

This fun cannot be used as a filter, you can either observe the
reply sent or discard it to send a different one instead.

The hook will not be called for replies sent from inside the hook.
2012-05-04 06:24:10 +02:00
Loïc Hoguin
1524ba4f39 Merge branch 'cancel-timer' of https://github.com/etrepum/cowboy 2012-05-04 01:25:58 +02:00
Loïc Hoguin
dab6648290 Add a test for HTTP handlers loop timeouts 2012-05-02 20:27:44 +02:00
Loïc Hoguin
7ed93fcc8f Refactor the reply functions 2012-05-01 00:00:44 +02:00
Magnus Klaar
8168ae96c8 Add file option to cowboy_http_static 2012-04-30 23:50:23 +02:00
Loïc Hoguin
48a2b177f5 Merge branch 'cowboy-client' 2012-04-30 22:24:52 +02:00
Loïc Hoguin
ee8c50c5ab Fix and rework the HTTP test suite
Use a proper HTTP client to run all tests. This client is currently
undocumented and should not be used.

Includes a few fixes:

* Fix a bug in the max_keepalive test
* Fix a bug with max_keepalive handling
* Fix a bug in stream_body/1 where data was lost under some conditions

The tests now run quite faster than before.

All the tests now run twice: once for TCP, once for SSL.
2012-04-29 15:22:20 +02:00
Loïc Hoguin
845d306df6 Add .cowboy.plt to the gitignore 2012-04-29 01:20:05 +02:00
Bob Ippolito
4a8ba147fb use erlang:start_timer/3 instead of erlang:send_after/3 for handling timeouts 2012-04-24 11:38:27 -07:00
Loïc Hoguin
bc2d53d2a5 Add a clean-docs target to the Makefile 2012-04-13 12:29:13 +02:00
Loïc Hoguin
1219837e91 Cleanup the .gitignore 2012-04-12 22:05:54 +02:00
Loïc Hoguin
4b27d3ec43 Use a separate rebar.config file for running tests 2012-04-12 22:04:58 +02:00
Ali Sabil
4b43d06384 Make charsets parsing more relaxed
Certain user agents send invalid Accept-Charset headers, like the
following: "ISO-8859-1;utf-8;q=0.7,*;q=0.7"

The user agent with which this behavior was observed presented itself
with the User-Agent string: "Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-US; rv:1.9) Gecko/2008052906 Firefox/3.0" Although this doesn't
appear to be correct. The request might have been mangled by a
transparent proxy.
2012-04-08 11:51:51 +02:00
Loïc Hoguin
85ed79eb59 Merge branch 'adt-add-sockname' of https://github.com/Vagabond/cowboy 2012-04-06 22:58:12 +02:00
Loïc Hoguin
e8ee64777c Merge branch 'websocket-fragments' of https://github.com/klaar/cowboy 2012-04-06 22:18:09 +02:00
Andrew Thompson
06a2d636bc Add sockname/1 to the TCP and SSL transports 2012-04-06 13:24:02 -04:00
Magnus Klaar
80c67bff33 Update autobahn suite to use autobahntestsuite 2012-04-06 17:53:53 +02:00
Magnus Klaar
0b15ed914d Add support for fragmented websocket messages 2012-04-05 22:02:04 +02:00
Loïc Hoguin
95e05d822f Add chunked transfer encoding support and rework the body reading API
Introduces 3 low level functions and updates the existing higher
levels functions. The new primitives are has_body/1, body_length/1
and stream_body/1. In addition to that, a helper function
init_stream/4 has been added.

Streaming a body implies to decode the Transfer-Encoding and
Content-Encoding used for the body. By default, Cowboy will try
to figure out what was used and decode them properly. You can
override this if you want to disable this behavior or simply
support more encodings by calling the init_stream/4 function
before you start streaming the body.
2012-04-01 21:25:55 +02:00
Loïc Hoguin
ba75e8b8ae Merge branch 'log-proplist-req' 2012-04-01 17:58:04 +02:00
Magnus Klaar
5a7040ee1c Convert request to proplist when logging 2012-04-01 17:57:00 +02:00
Loïc Hoguin
4fb2a6face Merge branch 'add-ssl-ciphers-configuration' of https://github.com/tillitech/cowboy 2012-03-23 12:48:05 +01:00
Ali Sabil
0c2cb207b9 Update the edoc for cowboy_ssl_transport:listen/1 2012-03-23 07:32:44 +01:00
Loïc Hoguin
7b2793b344 Merge branch 'patch-1' of https://github.com/si14/cowboy 2012-03-23 01:55:30 +01:00
Dmitry Groshev
6e0b764e0a Fixing badmatch when browser closes connection earlier than file was fully sent 2012-03-22 18:48:15 +04:00
Ali Sabil
9ac784df3b Add support for specifying the ciphers for the SSL transport 2012-03-21 09:49:39 +01:00
Ali Sabil
98c58280f6 Simplify the options filtering code in cowboy_ssl_transport 2012-03-21 09:46:10 +01:00
Loïc Hoguin
7e74582432 Don't close requests when the replied body is chunked 2012-03-15 23:05:40 +01:00
Loïc Hoguin
8e2cc3d7f1 Add an 'onrequest' hook for HTTP
This new protocol option is a fun.

It expects a single arg, the Req, and should only return a possibly
modified Req. This can be used for many things like URL rewriting,
access logging or listener-wide authentication.

If a reply is sent inside the hook, then Cowboy will consider the
request handled and will move on to the next one.
2012-03-15 22:29:38 +01:00
Loïc Hoguin
36a6823e50 Do not send chunked Transfer-Encoding replies for HTTP/1.0
Fixes compatibility issue #140 reported by @majek.
2012-03-13 03:00:05 +01:00
Loïc Hoguin
e87f51e542 Merge branch 'content-type-accepted-asterisk-atom' of https://github.com/dysinger/cowboy
Added a comment explaining the '*' always matching.
2012-03-13 01:43:15 +01:00
Loïc Hoguin
133564d028 Merge branch 'fix/relax-media-type-parsing' of https://github.com/tillitech/cowboy 2012-03-12 22:57:47 +01:00
Loïc Hoguin
3885912d9b Rename inet:ip_port() to inet:port_number()
Thanks go to @superbobry for pointing it out.
2012-03-12 21:57:07 +01:00