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

1358 commits

Author SHA1 Message Date
Loïc Hoguin
ae95e87eb1 Update examples to the new interface 2016-08-10 14:33:43 +02:00
Loïc Hoguin
00f3ae7d20 Remove logic to always send a response in cowboy_loop
This is taken care of at the protocol level now.
2016-08-10 13:55:35 +02:00
Loïc Hoguin
3a057683af Add a lot of todos 2016-08-10 11:52:41 +02:00
Loïc Hoguin
ae0dd61673 Add tests for responses and request body reading
This is a large commit. The cowboy_req interface has largely
changed, and will change a little more. It's possible that
some examples or tests have not been converted to the new
interface yet. The documentation has not yet been updated.
All of this will be fixed in smaller subsequent commits.

Gotta start somewhere...
2016-08-10 11:49:31 +02:00
Loïc Hoguin
0ba3a9a222 Add forgotten changes to a test handler 2016-06-22 13:10:33 +02:00
Loïc Hoguin
99a0e0fc46 Move TERM= declaration to make variable side 2016-06-22 13:09:27 +02:00
Loïc Hoguin
3c7766119d Update OTP versions tested 2016-06-22 12:33:58 +02:00
Loïc Hoguin
4657d7bbbe Remove cowboy_req:get and set 2016-06-22 11:27:32 +02:00
Loïc Hoguin
8905cc44f2 Remove cowboy_req:append_buffer/2 2016-06-22 11:22:34 +02:00
Loïc Hoguin
0e68b2a3f5 Remove unused local function in cowboy_req 2016-06-22 10:54:22 +02:00
Loïc Hoguin
2201b7e423 Remove cowboy_req:set_bindings/4 2016-06-22 10:44:24 +02:00
Loïc Hoguin
7e84719095 Remove cowboy_req:lock/1 2016-06-22 10:42:43 +02:00
Loïc Hoguin
34e5f5853a Remove cowboy_req:to_list/1 2016-06-22 10:35:20 +02:00
Loïc Hoguin
63c7d05eb2 Add tests for cowboy_req: match_cookies and match_qs 2016-06-22 09:27:29 +02:00
Loïc Hoguin
bcff1262d0 Remove the meta functions from cowboy_req
Now that we have a public map they are pretty much pointless.
2016-06-21 22:43:29 +02:00
Loïc Hoguin
19468d0503 Add cowboy_req:uri/1,2
Along with more cowboy_req tests.

This commit also removes cowboy_req:url/1 and cowboy_req:host_url/1
in favor of the much more powerful new set of functions.
2016-06-21 19:04:52 +02:00
Loïc Hoguin
3a7643782e Remove cowboy_req:new/14
This internal function is no longer necessary.
2016-06-21 19:03:18 +02:00
Loïc Hoguin
d9cad866f2 Add initial req suite 2016-06-20 17:31:31 +02:00
Loïc Hoguin
26c75b57b1 Add cowboy_req:scheme/1 2016-06-20 17:29:53 +02:00
Loïc Hoguin
c33b4cec96 Properly parse the host/port in HTTP/2 2016-06-20 17:29:25 +02:00
Loïc Hoguin
4fed8637b6 Fix cowboy_req:peer/1 2016-06-20 17:28:59 +02:00
Loïc Hoguin
57901a7116 Fix upload example 2016-06-16 22:17:14 +02:00
Loïc Hoguin
44f16f3b1e Make sure a response is always sent with HTTP/2
Previously only DATA was sent, with missing HEADERS.
2016-06-16 19:46:57 +02:00
Loïc Hoguin
dfcfe2cb88 Mark broken examples as such in their README 2016-06-16 19:44:38 +02:00
Loïc Hoguin
43ccea87bc Fix rest_pastebin example 2016-06-15 13:27:31 +02:00
Loïc Hoguin
5003bae369 Fix eventsource example 2016-06-14 17:05:41 +02:00
Loïc Hoguin
84fb85e2e4 Fix cookie example 2016-06-14 16:23:51 +02:00
Loïc Hoguin
a55679b231 Fix rest_basic_auth example 2016-06-14 11:30:42 +02:00
Loïc Hoguin
a4fb56018e Fix websocket example 2016-06-13 18:10:33 +02:00
Loïc Hoguin
352cfce663 Fix markdown_middleware example 2016-06-13 17:35:26 +02:00
Loïc Hoguin
6f75598b70 Fix chunked_hello_world example 2016-06-13 16:26:00 +02:00
Loïc Hoguin
b82bb92f7e Fix streaming HTTP/2 responses
Error reporting for connection processes has been improved,
using a similar proc_lib hack as was done for the stream
processes.
2016-06-13 16:00:17 +02:00
Loïc Hoguin
88227898ed Merge static_world and web_server examples
The new example is called file_server and it's basically
the same as web_server was. The name is clearer than the
original, all examples being "Web servers".

The new example is also tested and the test suite has
been refactored a little.
2016-06-13 13:26:24 +02:00
Loïc Hoguin
4293a40d9e Fix rest_hello_world example 2016-06-09 16:33:31 +02:00
Loïc Hoguin
5ca49fefa9 Fix small issue in echo_get example 2016-06-09 16:25:00 +02:00
Loïc Hoguin
def0bc530b Add HTTP/2 snippets to all working examples 2016-06-09 11:21:07 +02:00
Loïc Hoguin
4ced1d0994 Fix echo_post example 2016-06-08 23:35:02 +02:00
Loïc Hoguin
1470f88319 Fix request body reading in HTTP/2 2016-06-08 23:09:14 +02:00
Loïc Hoguin
98323c2d72 Fix echo_get example 2016-06-08 20:18:09 +02:00
Loïc Hoguin
fd07b38952 Add a test suite that checks examples are working 2016-06-08 14:28:52 +02:00
Loïc Hoguin
49e1bb3149 Merge branch 'minor-gitignore-update' of https://github.com/katsel/cowboy 2016-06-07 16:26:50 +02:00
Loïc Hoguin
e291c3bb94 Add the static_handler test suite 2016-06-06 17:41:26 +02:00
Loïc Hoguin
f14c45151d Escape reserved filename characters
Note that this commit has currently only been tested on Linux.
It might be incomplete for other platforms.
2016-06-06 17:39:06 +02:00
Loïc Hoguin
a82495fa5c Static: Fix status code returned with empty path_info 2016-06-06 17:38:39 +02:00
Loïc Hoguin
c9f5603650 Router: properly handle path segments
The path segments . and .. are now removed according to the
rules found in RFC3986.

The path segments are now percent-decoded using the correct
algorithm (the one in RFC3986 and not the "query string" one).
2016-06-06 17:35:48 +02:00
Loïc Hoguin
493794145e REST: Ignore If...Since if If...Match header exists
The If-Modified-Since and If-Unmodified-Since headers are
only used when If-None-Match or If-Match were not found,
respectively. The latter are preferred by the standard
and the former is only there for compatibility with older
clients.
2016-06-06 17:33:46 +02:00
Loïc Hoguin
6d63557235 REST: If-None-Match uses weak Etag comparison
Was badly implemented previously.
2016-06-06 17:33:03 +02:00
Loïc Hoguin
68c57430da REST: If-Match uses strong Etag comparison
Weak Etag never matches.
2016-06-06 17:32:04 +02:00
Loïc Hoguin
84b3b61b39 Remove the environment from cowboy_rest crash reports
It only serves to pollute logs.
2016-06-06 17:30:13 +02:00
Loïc Hoguin
725bdb9774 HTTP/2: Separate path and query components 2016-06-06 17:28:56 +02:00