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

521 commits

Author SHA1 Message Date
Loïc Hoguin
42bf0ea57d Refactor cowboy_listener for more consistency 2012-01-31 09:25:23 +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
Loïc Hoguin
e5aef5c1d7 Add cowboy:get_protocol_options/1 and cowboy_set_protocol_options/2
This allows any application to upgrade the protocol options without
having to restart the listener. This is most useful to update the
dispatch list of HTTP servers, for example.

The upgrade is done at the acceptor level, meaning only new connections
receive the new protocol options.
2012-01-31 08:49:15 +01:00
Loïc Hoguin
830cfc002e Move max_connections check directly inside cowboy_listener
This is a big change in the internal cowboy API. This should not
have any impact on existing applications as only the acceptor is
expected to use these API calls.

The function cowboy_listener:wait/3 has been removed. max_connections
checking now occurs directly in cowboy_listener:add_connection/3.
If the pool is full and the acceptor has to wait, then it doesn't
return, waiting for a free space to be available.

To accomodate these changes, it is now cowboy_listener that will
inform the new connection that it is ready by sending {shoot, self()}.
This should be a great improvement to the latency of responses as
there is one less message to wait for before the request process
can do its work.

Overall the performance under heavy load should also be improved as
we greatly reduce the number of messages sent between the acceptor
and the listener process.
2012-01-30 08:09:33 +01:00
Loïc Hoguin
bb08cf85e3 Remove a leftover ct:print 2012-01-26 23:27:34 +01:00
Loïc Hoguin
9d73160942 Merge branch 'rest_delete_no_call' of https://github.com/bfrog/cowboy 2012-01-26 18:25:45 +01:00
Tom Burdick
ca42ea1620 Handle delete better when no delete_resource function is implemented 2012-01-26 18:21:20 +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
4b93c2d19a Fix a case where request body wouldn't get cleaned up on keepalive
The body was still in the buffer that's being used for the next
request and was thus used as a request, causing errors.
2012-01-23 21:57:54 +01:00
Loïc Hoguin
dd08a90568 Merge branch 'master' of https://github.com/bfrog/cowboy 2012-01-23 21:57:20 +01:00
Tom Burdick
62de899c95 added test for posting to a rest controller where forbidden returns true on a keep alive socket 2012-01-23 12:42:04 -06:00
Loïc Hoguin
7b359352d4 Remove http_resp_body/0, inline it directly in the record definition 2012-01-23 09:46:40 +01:00
Loïc Hoguin
16d3cb76c7 Rename the type http_status/0 to cowboy_http:status/0 2012-01-23 09:43:26 +01:00
Loïc Hoguin
67e5713b2b Remove http_cookies/0, inline it directly in the record definition 2012-01-23 09:39:17 +01:00
Loïc Hoguin
a297d5e42b Rename the type http_header/0 to cowboy_http:header/0
At the same time rename http_headers/0 to cowboy_http:headers/0.
2012-01-23 09:36:59 +01:00
Loïc Hoguin
8622dff906 Rename the type http_version/0 to cowboy_http:version/0 2012-01-23 09:28:29 +01:00
Loïc Hoguin
314483a0b6 Rename the type http_uri/0 to cowboy_http:uri/0 2012-01-23 09:23:58 +01:00
Loïc Hoguin
9f40167487 Rename the type http_method/0 to cowboy_http:method/0
Exported types are much better than include files.
2012-01-23 09:21:33 +01:00
Loïc Hoguin
3667ec9451 Fix typespecs for calendar:datetime/0 in cowboy_http_static 2012-01-23 09:20:46 +01:00
Loïc Hoguin
dee19f11c3 Add {halt, Req, State} return value to most REST callbacks
Excluding generate_etag, last_modified, expires and variances.
2012-01-23 08:24:15 +01:00
Loïc Hoguin
0761ef67a1 Rename a lot of HandlerState2 variables to HandlerState 2012-01-23 08:11:29 +01:00
Loïc Hoguin
3078e94db6 Improve the return value for cowboy_http_rest:upgrade/4 2012-01-23 07:55:08 +01:00
Loïc Hoguin
7482c0de75 Improve the listener name in the README 2012-01-23 07:42:35 +01:00
Loïc Hoguin
b650ef8907 Merge branch 'multipart' of https://github.com/nox/cowboy
Conflicts:
	src/cowboy_http_req.erl
	test/http_SUITE.erl
2012-01-23 07:37:49 +01:00
Anthony Ramine
528507c7de Add multipart support 2012-01-23 07:20:35 +01:00
Loïc Hoguin
e68bbfac34 Welcome to new developments with 0.5.0 2012-01-12 20:08:35 +01:00
Loïc Hoguin
9ee120db78 Update version to 0.4.0 2012-01-09 08:13:20 +01:00
Loïc Hoguin
fed6727634 Make REST handlers' put_resource accept true or false return values
Followup to 0bb23f2400.
As discussed in #119.
2012-01-09 08:06:05 +01:00
Loïc Hoguin
348e22589e Merge branch 'static-etag-hook' of https://github.com/klaar/cowboy 2012-01-09 07:54:58 +01:00
Loïc Hoguin
9b620bbb4c Add HTTP handler loops to the README 2012-01-09 07:40:43 +01:00
Magnus Klaar
a7334d55c0 Add etag option to cowboy_http_static handler. 2012-01-07 23:07:45 +01:00
Loïc Hoguin
fd49215908 Update AUTHORS 2012-01-06 21:32:45 +01:00
Loïc Hoguin
45f37b8687 Update CHANGELOG 2012-01-06 21:29:35 +01:00
Loïc Hoguin
0bb23f2400 Make REST handlers' process_post accept true or false return values
They should return true when it has been processed successfully,
or false otherwise, in which case a 500 error is sent.

Fixes #119.
2012-01-06 21:05:58 +01:00
Loïc Hoguin
d2f13366a9 Fix the stream_body_set_resp test
It was failing from time to time due to the response being sent
as two separate packets.
2012-01-06 20:49:31 +01:00
Loïc Hoguin
fd211d3c03 Fix handler crashes handling
We try to send a 500 error only if we didn't send the response
headers yet. If they were, then we have no way to be sure the
response was fully sent, nor should we assume anything about
how this will be handled client-side, so we do nothing more
and in both cases close the connection.
2012-01-06 20:23:59 +01:00
Loïc Hoguin
ba87aa4193 Move the ensure_response call before ensure_body_processed
We want to reply as soon as possible.
2012-01-06 19:20:17 +01:00
Loïc Hoguin
5095c27c65 Merge branch 'issue-114-tests' of https://github.com/klaar/cowboy into gracefully-handle-crashes
Conflicts:
	test/http_SUITE.erl
2012-01-06 19:19:34 +01:00
Loïc Hoguin
5627277aa2 Merge branch 'static-updates' of https://github.com/klaar/cowboy 2012-01-05 01:04:12 +01:00
Magnus Klaar
1592adcd4e only run end_static_dir for http and https 2012-01-05 01:01:03 +01:00
Magnus Klaar
54d16c14ad Add test and doc for content types function. 2012-01-05 01:01:03 +01:00
Loïc Hoguin
8ab05058e6 Merge branch 'inet_parse_address_fix' of https://github.com/spawngrid/cowboy 2012-01-05 00:19:41 +01:00
Yurii Rashkovskii
ade1fb93ca inet_address:parse/1 does not accept binaries as an input, only strings 2012-01-04 15:13:14 -08:00
Loïc Hoguin
5c101560df Add R15B to travis-ci's configuration file 2012-01-04 23:23:22 +01:00
Loïc Hoguin
bd8f31ed07 Merge branch 'static-handler-split' of https://github.com/klaar/cowboy 2012-01-03 23:39:45 +01:00
Loïc Hoguin
063f64a02a Merge pull request #118 from klaar/travis-versions-fix
Remove R14B and R14B01 from .travis.yml
2012-01-03 13:51:49 -08:00
Magnus Klaar
5568a26d3c Remove R14B and R14B01 from .travis.yml 2012-01-03 16:49:07 +01:00
Magnus Klaar
89870b22d9 Add note on async threads to cowboy_http_static. 2012-01-03 16:29:32 +01:00
Magnus Klaar
50578254d5 Add tests for #114 2011-12-29 00:06:22 +01:00
Magnus Klaar
ea7ae14df8 Add built-in cowboy_http_static handler. 2011-12-28 18:17:15 +01:00