aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_http.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-04-29 01:20:24 +0200
committerLoïc Hoguin <[email protected]>2012-04-29 15:22:20 +0200
commitee8c50c5ab97dcaebc8932d093741fdb496e00f7 (patch)
tree8e2b4e48361681cad25042ba85a22187ec452154 /src/cowboy_http.erl
parent845d306df68f37bb5246b0ce21b2a70456f042c4 (diff)
downloadcowboy-ee8c50c5ab97dcaebc8932d093741fdb496e00f7.tar.gz
cowboy-ee8c50c5ab97dcaebc8932d093741fdb496e00f7.tar.bz2
cowboy-ee8c50c5ab97dcaebc8932d093741fdb496e00f7.zip
Fix and rework the HTTP test suite
Use a proper HTTP client to run all tests. This client is currently undocumented and should not be used. Includes a few fixes: * Fix a bug in the max_keepalive test * Fix a bug with max_keepalive handling * Fix a bug in stream_body/1 where data was lost under some conditions The tests now run quite faster than before. All the tests now run twice: once for TCP, once for SSL.
Diffstat (limited to 'src/cowboy_http.erl')
-rw-r--r--src/cowboy_http.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl
index 2f4f982..0289ef3 100644
--- a/src/cowboy_http.erl
+++ b/src/cowboy_http.erl
@@ -26,7 +26,8 @@
-export([te_chunked/2, te_identity/2, ce_identity/1]).
%% Interpretation.
--export([connection_to_atom/1, urldecode/1, urldecode/2, urlencode/1,
+-export([connection_to_atom/1, version_to_binary/1,
+ urldecode/1, urldecode/2, urlencode/1,
urlencode/2, x_www_form_urlencoded/2]).
-type method() :: 'OPTIONS' | 'GET' | 'HEAD'
@@ -773,6 +774,11 @@ connection_to_atom([<<"close">>|_Tail]) ->
connection_to_atom([_Any|Tail]) ->
connection_to_atom(Tail).
+%% @doc Convert an HTTP version tuple to its binary form.
+-spec version_to_binary(version()) -> binary().
+version_to_binary({1, 1}) -> <<"HTTP/1.1">>;
+version_to_binary({1, 0}) -> <<"HTTP/1.0">>.
+
%% @doc Decode a URL encoded binary.
%% @equiv urldecode(Bin, crash)
-spec urldecode(binary()) -> binary().