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

73 commits

Author SHA1 Message Date
Loïc Hoguin
90ae31998e Update Cowlib to 1.2.0; adds Websocket permessage-deflate
The Websocket text frames should also be less resource intensive
to validate now, with a binary concatenation avoided.
2015-03-06 01:56:30 +01:00
Loïc Hoguin
8d2063bb2e Add +warn_untyped_record to the build options 2015-02-16 18:11:41 +01:00
Loïc Hoguin
dc8be8882c Use cow_ws for the Websocket parsing code
Updates Cowlib to 1.1.0
2015-02-16 15:48:04 +01:00
Loïc Hoguin
3cede06283 Use cowlib master 2015-02-03 18:54:26 +01:00
Loïc Hoguin
070ba032d1 Add a commented line to enable dialyze for tests in the Makefile 2014-10-04 13:25:07 +03:00
Loïc Hoguin
62de3a62f9 Update to erlang.mk 1.0.0 2014-08-01 14:26:51 +02:00
Loïc Hoguin
078d686a0a Provide installable man pages
make docs: generate Markdown and man pages in doc/
make install-docs: install man pages to be usable directly

Docs are generated from the ezdoc files in doc/src/.
2014-07-06 13:10:35 +02:00
Loïc Hoguin
c81b94160e Update Ranch to 0.10.0 2014-06-10 11:36:55 +02:00
Loïc Hoguin
6bbdbe4efa Update cowlib to 0.6.2
Fixes parsing of Google Analytics cookies.
2014-06-10 09:34:46 +02:00
Loïc Hoguin
980342f73c Make loop handlers work with SPDY
Adds a loop_handler test suite that runs all tests under HTTP, HTTPS,
SPDY each with and without the compress option enabled.

Fixes output filtering that used to filter more than it should have.
This forces us to parse the string sent by the emulator, which means
it's probably not perfect yet. But it should at least not hide errors
we want to see.

Fix a crash in the output filtering code that entirely disabled
output. Now when there is a crash the normal tty output is restored.

Handlers are now in test/handlers/ as they can be reused between
suites.

Only generate a single certificate for the whole ct run to speed
things up when we got many different test groups each needing
certificates.
2014-04-26 13:46:55 +02:00
Loïc Hoguin
75218c4be0 Silence expected test error reports from the console output
The errors are still logged by common_test to the report it creates.
The process that is going to crash has to call cowboy_error_h:ignore/3
with the MFA where the crash is expected to occur for it to be ignored.
Gun retry failures are also ignored. Only unexpected crashes are printed.
2014-04-21 21:24:43 +02:00
Loïc Hoguin
74512fc84c Enable Autobahn Test Suite by default
Includes a variety of small changes that are a first step to
improving the test system heavily.
2014-04-20 22:20:54 +02:00
Loïc Hoguin
0502452967 Update cowlib to 0.6.1 2014-03-27 11:39:09 +01:00
Loïc Hoguin
c9b9644aa3 Add +warn_missing_spec and fix specs 2014-03-27 11:30:44 +01:00
Loïc Hoguin
53ffd7b93e Update cowlib to 0.6.0 2014-03-23 21:51:29 +01:00
Loïc Hoguin
340cf8581f Update cowlib to 0.5.1 to fix multipart issues 2014-02-19 19:09:58 +01:00
Loïc Hoguin
917cf99e10 Add and document the new multipart code
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.
2014-02-06 19:36:25 +01:00
Loïc Hoguin
b8923de7c5 Update Ranch to 0.9.0 2013-11-14 15:32:02 +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
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
9eab26d835 Add request body support for SPDY
And various other improvements following the addition of two tests.

New dependency cowlib that will gradually receive most of the parse
code from SPDY but also HTTP and its headers.
2013-09-02 19:14:28 +02:00
Loïc Hoguin
d68b3de9d9 Use gun to test the SPDY implementation in Cowboy 2013-08-31 18:39:49 +02:00
Loïc Hoguin
694c9bfbfa Update Ranch to 0.8.5 2013-08-24 20:35:28 +02:00
Loïc Hoguin
2923de944f Update Ranch to 0.8.4 2013-06-20 16:01:53 +02:00
Loïc Hoguin
9a2d35c2e8 Add experimental and incomplete SPDY support
The SPDY connection processes are also supervisors.

Missing:
 *  sendfile support
 *  request body reading support
2013-05-30 20:21:01 +02:00
Loïc Hoguin
3d2f7218c5 Update Ranch to 0.8.3 2013-05-16 19:10:32 +02:00
Loïc Hoguin
6e33274c85 Update Ranch to 0.8.2 and use ct_helper for testing SSL 2013-05-01 18:30:00 +02:00
Loïc Hoguin
ed2efbc4a1 Spin-off erlang.mk as a separate project 2013-05-01 00:34:22 +02:00
Loïc Hoguin
31a7104668 Make getting deps a function in the Makefile 2013-04-30 18:50:36 +02:00
Egobrain
3bf5b46786 Removed asserts from unit tests 2013-04-26 17:08:53 +04:00
Loïc Hoguin
2e91677723 Reorganize the websocket test suite
We now have the suite specific modules in the data folder.
Compilation is performed by the Makefile instead of ct_run.
2013-04-22 17:03:54 +02:00
Loïc Hoguin
d063511a0e Update Ranch to 0.8.1 2013-04-12 15:24:59 +02:00
Loïc Hoguin
2b56bb498f Update Ranch to 0.8.0 2013-04-03 13:47:12 +02:00
Loïc Hoguin
e16fae1196 Update Ranch to 0.6.2 2013-03-06 20:19:15 +01:00
Loïc Hoguin
dbc1bc6d91 Allow overriding ERLC_OPTS 2013-03-02 20:59:05 +01:00
Loïc Hoguin
489073265f Disable cover in tests by default 2013-03-02 16:28:13 +01:00
Loïc Hoguin
70391e58db Disable the shell for ct_run 2013-03-02 14:40:00 +01:00
Egobrain
73c718dcb5 Added warn compile options. Fixed compile warnings. 2013-02-21 18:32:23 +04:00
Loïc Hoguin
3181382d72 Merge branch 'fix_ranch_vsn' of git://github.com/nevar/cowboy 2013-02-20 20:15:38 +01:00
Loïc Hoguin
76b5cfea3f Compile cowboy_sub_protocol behaviour before modules using it 2013-02-20 11:14:28 +01:00
Slava Yurin
389f52492c Fix ranch version in Makefile 2013-02-18 14:12:08 +07:00
Loïc Hoguin
60e94237c2 Makefile: separate deps compilation from app compilation 2013-02-06 18:29:20 +01:00
Loïc Hoguin
fd5a977a39 Makefile verbosity tweaks 2013-01-29 20:29:31 +01:00
Loïc Hoguin
747bfc29ee Makefile: only recompile files newer than the .app 2013-01-29 02:33:23 +01:00
Loïc Hoguin
563e7d91ce Add recursive dependency fetching to the Makefile
Also small other changes like how we build the PLT.
2013-01-17 16:04:03 +01:00
Loïc Hoguin
9bfef7c715 Update autobahntestsuite to 0.5.2
Also small mostly insignificant changes to tests.
2013-01-10 19:54:10 +01:00
Loïc Hoguin
01f57ad65d Add optional automatic response body compression
This behavior can be enabled with the `compress` protocol option.
See the `compress_response` example for more details.

All tests are now ran with and without compression for both HTTP
and HTTPS.
2013-01-07 22:42:16 +01:00
Loïc Hoguin
d8be610d4c Stop using rebar in the Makefile
First and foremost: yes, you can still use Cowboy as a rebar dependency.
This commit only removes the use of rebar when *developing* Cowboy, not
when *using* Cowboy.

Over the past two years I went from very happy with rebar to unsatisfied
and most recently found it counter productive in many ways, from having
insane default configuration to various unefficient operations. The earlier
reversal from 'rebar ct' to 'ct_run' made my workflow much more natural,
as I always needed to look at 'logs/raw.log' to find out what was wrong,
anyway. Why not let 'ct_run' output it directly instead? Removing rebar
made my life easier.

If you wonder why I don't patch rebar, there's two reasons. First is that
the direction taken by rebar isn't compatible with my views, and this
would be a huge fight to steer it in another direction. I got other,
more important fights to make. Second is that I'd rather patch OTP so
that everyone benefits from it, not just users of rebar.

Anyway this isn't my personal blog so I will stop babbling here. There's
a few important things to note relative to this commit:

 *  You don't need rebar to work on Cowboy anymore
 *  The eunit tests are now ran through common_test

Ping me if it doesn't work out for you.
2013-01-05 17:25:04 +01:00