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

50 commits

Author SHA1 Message Date
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
Loïc Hoguin
4395c1b59d Use erl -eval instead of rebar for generating edoc documentation 2013-01-04 19:32:38 +01:00
Loïc Hoguin
7d2a481401 Use ct_run instead of rebar ct for running ct tests
Small tweak to the autobahn test file, we look for the python2
executable now. It'll make my life easier.
2013-01-04 17:56:49 +01:00
Loïc Hoguin
b2243aa544 Optimize cowboy_protocol
* #state{} changes are avoided where possible
* #state{} is now smaller and use less memory
* the Req object is created only after the whole request is parsed
* parsing makes use of a single binary match context
* external calls are avoided in the critical path
* URL fragment is now extracted properly (retrieval API next commit)
* argument orders to local functions modified to avoid extra operations
* dispatching waits as long as possible before tokenizing host/path
* handler opts are no longer shown in the error messages except in init

The code may not look as beautiful as it was before. But it really
is, for parsing code. The parsing section of the file may be skipped
if your eyes start to burn.
2012-09-26 14:20:29 +02:00
Loïc Hoguin
e4124de2c7 Switch to Ranch for connection handling
This is the first of many API incompatible changes.

You have been warned.
2012-08-27 11:50:35 +02:00
Loïc Hoguin
bc2d53d2a5 Add a clean-docs target to the Makefile 2012-04-13 12:29:13 +02:00
Loïc Hoguin
4b27d3ec43 Use a separate rebar.config file for running tests 2012-04-12 22:04:58 +02:00
Loïc Hoguin
9823450cc3 Merge branch 'autobahn-suite' of https://github.com/klaar/cowboy
This needs python2 to be the default python in /usr/bin/python.
2012-01-31 12:17:29 +01:00
Loïc Hoguin
e927a8228b Pass --no_native option to dialyzer to improve dialyzing times
Goes from 36s to 24s on my laptop.
2012-01-31 08:49:25 +01:00
Magnus Klaar
8808825173 Add Autobahn test suite for websockets
We're using the existing test suite for websocket servers from the
Autobahn project to verify that out websockets implementation is
sane. A CT test suite and python module wrapping the test suite has
been added. The test suite is run when the 'make inttests' target
is executed.
2012-01-25 12:10:05 +01:00
Loïc Hoguin
621411350a Remove -Wbehaviours dialyzer option unavailable in R15B 2011-12-16 01:26:19 +01:00
Loïc Hoguin
a7a6faf91e Skip dependencies when running ct tests 2011-12-15 20:47:08 +01:00
Loïc Hoguin
8eb7af0a0b Skip deps when generating docs 2011-10-05 16:06:50 +02:00
Loïc Hoguin
e5d4c1f22f Add a PropEr test for cowboy_dispatcher:split_host/1
Mostly thanks to Magnus Klaar as it took me a while to figure
out how PropEr tests had to be written.
2011-07-26 10:46:06 +02:00
Loïc Hoguin
fa20273b37 URL decode query strings
Should be good for both GET and POST query strings.

This adds https://github.com/klaar/quoted.erl as a dependency.
Props to klaar for this code.
2011-07-20 17:38:10 +02:00
Loïc Hoguin
108a491f55 Add documentation for the public interface.
This is probably not perfect yet but it should be better than
nothing. We'll improve things with feedback received from the
many users.
2011-07-06 17:42:20 +02:00
Loïc Hoguin
f03dbf4d06 Use dialyzer directly instead of through rebar
Rebar recently removed their dialyzer support options so we're switching
to plain dialyzer. And as a bonus it works much better!
2011-06-21 17:24:07 +02:00
Loïc Hoguin
4e4df58242 Makefile: Clean build the application before starting tests. 2011-05-16 12:16:26 +02:00
Loïc Hoguin
cc663df5db Makefile: Add separate eunit and ct test rules. 2011-05-04 11:50:46 +02:00
Loïc Hoguin
3a776b146e Initial work on a ct test suite for the HTTP protocol.
Handles two basic tests for both HTTP and HTTPS.
Also renames 'make test' into 'make tests'.
2011-04-08 16:30:37 +02:00
Loïc Hoguin
17613e5305 Add a dialyze verb to the Makefile for convenience. 2011-04-03 16:07:27 +02:00
Loïc Hoguin
d51170b4bc Use rebar instead of ./rebar by default in the Makefile. 2011-04-03 16:00:22 +02:00
Hans Ulrich Niedermann
07413113d5 Makefile: Use a REBAR variable
Using a REBAR variable makes it easy for the user to override
the REBAR to be called.
2011-03-23 10:54:09 +01:00
Loïc Hoguin
da72255940 Initial commit. 2011-03-17 00:29:35 +01:00