aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)Author
2013-11-08Optimize query string parsingLoïc Hoguin
* 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-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-23Move cookie parsing/building code to cowlibLoïc Hoguin
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-09-04Make cowlib a proper dependencyLoïc Hoguin
Start moving a few functions from Cowboy into cowlib.
2013-09-02Add request body support for SPDYLoïc Hoguin
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-08-31Use gun to test the SPDY implementation in CowboyLoïc Hoguin
2013-08-24Update Ranch to 0.8.5Loïc Hoguin
2013-06-20Update Ranch to 0.8.4Loïc Hoguin
2013-05-30Add experimental and incomplete SPDY supportLoïc Hoguin
The SPDY connection processes are also supervisors. Missing: * sendfile support * request body reading support
2013-05-16Update Ranch to 0.8.3Loïc Hoguin
2013-05-01Update Ranch to 0.8.2 and use ct_helper for testing SSLLoïc Hoguin
2013-05-01Spin-off erlang.mk as a separate projectLoïc Hoguin
2013-04-30Make getting deps a function in the MakefileLoïc Hoguin
2013-04-26Removed asserts from unit testsEgobrain
2013-04-22Reorganize the websocket test suiteLoïc Hoguin
We now have the suite specific modules in the data folder. Compilation is performed by the Makefile instead of ct_run.
2013-04-12Update Ranch to 0.8.1Loïc Hoguin
2013-04-03Update Ranch to 0.8.0Loïc Hoguin
2013-03-06Update Ranch to 0.6.2Loïc Hoguin
2013-03-02Allow overriding ERLC_OPTSLoïc Hoguin
2013-03-02Disable cover in tests by defaultLoïc Hoguin
2013-03-02Disable the shell for ct_runLoïc Hoguin
2013-02-21Added warn compile options. Fixed compile warnings.Egobrain
2013-02-20Merge branch 'fix_ranch_vsn' of git://github.com/nevar/cowboyLoïc Hoguin
2013-02-20Compile cowboy_sub_protocol behaviour before modules using itLoïc Hoguin
2013-02-18Fix ranch version in MakefileSlava Yurin
2013-02-06Makefile: separate deps compilation from app compilationLoïc Hoguin
2013-01-29Makefile verbosity tweaksLoïc Hoguin
2013-01-29Makefile: only recompile files newer than the .appLoïc Hoguin
2013-01-17Add recursive dependency fetching to the MakefileLoïc Hoguin
Also small other changes like how we build the PLT.
2013-01-10Update autobahntestsuite to 0.5.2Loïc Hoguin
Also small mostly insignificant changes to tests.
2013-01-07Add optional automatic response body compressionLoïc Hoguin
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-05Stop using rebar in the MakefileLoïc Hoguin
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-04Use erl -eval instead of rebar for generating edoc documentationLoïc Hoguin
2013-01-04Use ct_run instead of rebar ct for running ct testsLoïc Hoguin
Small tweak to the autobahn test file, we look for the python2 executable now. It'll make my life easier.
2012-09-26Optimize cowboy_protocolLoïc Hoguin
* #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-08-27Switch to Ranch for connection handlingLoïc Hoguin
This is the first of many API incompatible changes. You have been warned.
2012-04-13Add a clean-docs target to the MakefileLoïc Hoguin
2012-04-12Use a separate rebar.config file for running testsLoïc Hoguin
2012-01-31Merge branch 'autobahn-suite' of https://github.com/klaar/cowboyLoïc Hoguin
This needs python2 to be the default python in /usr/bin/python.
2012-01-31Pass --no_native option to dialyzer to improve dialyzing timesLoïc Hoguin
Goes from 36s to 24s on my laptop.
2012-01-25Add Autobahn test suite for websocketsMagnus Klaar
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.
2011-12-16Remove -Wbehaviours dialyzer option unavailable in R15BLoïc Hoguin
2011-12-15Skip dependencies when running ct testsLoïc Hoguin
2011-10-05Skip deps when generating docsLoïc Hoguin
2011-07-26Add a PropEr test for cowboy_dispatcher:split_host/1Loïc Hoguin
Mostly thanks to Magnus Klaar as it took me a while to figure out how PropEr tests had to be written.
2011-07-20URL decode query stringsLoïc Hoguin
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-06Add documentation for the public interface.Loïc Hoguin
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-06-21Use dialyzer directly instead of through rebarLoïc Hoguin
Rebar recently removed their dialyzer support options so we're switching to plain dialyzer. And as a bonus it works much better!
2011-05-16Makefile: Clean build the application before starting tests.Loïc Hoguin
2011-05-04Makefile: Add separate eunit and ct test rules.Loïc Hoguin