aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Collapse)Author
2015-07-25Disable half the OTP versions temporarilyLoïc Hoguin
To allow CircleCI to not timeout...
2015-07-25Add CircleCI to the 1.0 branchLoïc Hoguin
Let's hope it works on first try. LOTS of OTP versions to test!
2014-08-01Update to erlang.mk 1.0.0Loïc Hoguin
2014-07-06Provide installable man pagesLoïc Hoguin
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-06-10Update Ranch to 0.10.0Loïc Hoguin
2014-06-10Update cowlib to 0.6.2Loïc Hoguin
Fixes parsing of Google Analytics cookies.
2014-04-26Make loop handlers work with SPDYLoïc Hoguin
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-21Silence expected test error reports from the console outputLoïc Hoguin
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-20Enable Autobahn Test Suite by defaultLoïc Hoguin
Includes a variety of small changes that are a first step to improving the test system heavily.
2014-03-27Update cowlib to 0.6.1Loïc Hoguin
2014-03-27Add +warn_missing_spec and fix specsLoïc Hoguin
2014-03-23Update cowlib to 0.6.0Loïc Hoguin
2014-02-19Update cowlib to 0.5.1 to fix multipart issuesLoïc Hoguin
2014-02-06Add and document the new multipart codeLoïc Hoguin
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.
2013-11-14Update Ranch to 0.9.0Loïc Hoguin
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.