Age | Commit message (Collapse) | Author |
|
This commit is not only an early preview of HTTP/2, it is an
early preview of the new Cowboy architecture that will be
presented tomorrow in my talk. If you have found it before
the talk, great! It's not complete so you better go watch
the talk anyway.
|
|
|
|
This is a large commit.
The rfc7230 test suite adds many tests from the RFC7230 document.
Gun has been updated quite a bit recently, which broke the Cowboy
suites. This is now fixed with this commit.
A new hook onfirstrequest has been added. It was very useful during
debugging of the test suites.
The initial process code has changed a little; more changes are
expected with the switch to maps for options.
|
|
The Websocket text frames should also be less resource intensive
to validate now, with a binary concatenation avoided.
|
|
|
|
Updates Cowlib to 1.1.0
|
|
|
|
|
|
|
|
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/.
|
|
|
|
Fixes parsing of Google Analytics cookies.
|
|
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.
|
|
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.
|
|
Includes a variety of small changes that are a first step to
improving the test system heavily.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
* 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
|
|
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.
|
|
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.
|
|
Start moving a few functions from Cowboy into cowlib.
|
|
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.
|
|
|
|
|
|
|
|
The SPDY connection processes are also supervisors.
Missing:
* sendfile support
* request body reading support
|
|
|
|
|
|
|
|
|
|
|
|
We now have the suite specific modules in the data folder.
Compilation is performed by the Makefile instead of ct_run.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also small other changes like how we build the PLT.
|