From 3cede06283a2b7b33ec822526341a9261574a2bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 1 Feb 2015 19:36:13 +0100 Subject: Use cowlib master --- src/cowboy_protocol.erl | 16 +++++++--------- src/cowboy_req.erl | 2 ++ src/cowboy_spdy.erl | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/cowboy_protocol.erl b/src/cowboy_protocol.erl index 558dcc3..b1cdc3a 100644 --- a/src/cowboy_protocol.erl +++ b/src/cowboy_protocol.erl @@ -55,6 +55,7 @@ }). -include_lib("cowlib/include/cow_inline.hrl"). +-include_lib("cowlib/include/cow_parse.hrl"). %% API. @@ -264,13 +265,12 @@ match_colon(<< _, Rest/bits >>, N) -> match_colon(_, _) -> nomatch. +parse_hd_name(<< $:, Rest/bits >>, S, M, P, Q, V, H, SoFar) -> + parse_hd_before_value(Rest, S, M, P, Q, V, H, SoFar); +parse_hd_name(<< C, Rest/bits >>, S, M, P, Q, V, H, SoFar) when ?IS_WS(C) -> + parse_hd_name_ws(Rest, S, M, P, Q, V, H, SoFar); parse_hd_name(<< C, Rest/bits >>, S, M, P, Q, V, H, SoFar) -> - case C of - $: -> parse_hd_before_value(Rest, S, M, P, Q, V, H, SoFar); - $\s -> parse_hd_name_ws(Rest, S, M, P, Q, V, H, SoFar); - $\t -> parse_hd_name_ws(Rest, S, M, P, Q, V, H, SoFar); - ?INLINE_LOWERCASE(parse_hd_name, Rest, S, M, P, Q, V, H, SoFar) - end. + ?LOWER(parse_hd_name, Rest, S, M, P, Q, V, H, SoFar). parse_hd_name_ws(<< C, Rest/bits >>, S, M, P, Q, V, H, Name) -> case C of @@ -429,9 +429,7 @@ parse_host(<< $:, Rest/bits >>, false, Acc) -> parse_host(<< $], Rest/bits >>, true, Acc) -> parse_host(Rest, false, << Acc/binary, $] >>); parse_host(<< C, Rest/bits >>, E, Acc) -> - case C of - ?INLINE_LOWERCASE(parse_host, Rest, E, Acc) - end. + ?LOWER(parse_host, Rest, E, Acc). %% End of request parsing. %% diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index a197110..880c567 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -906,6 +906,8 @@ maybe_reply(Stacktrace, Req) -> ok end. +do_maybe_reply([{erlang, binary_to_integer, _, _}, {cow_http_hd, parse_content_length, _, _}|_], Req) -> + cowboy_req:reply(400, Req); do_maybe_reply([{cow_http_hd, _, _, _}|_], Req) -> cowboy_req:reply(400, Req); do_maybe_reply(_, Req) -> diff --git a/src/cowboy_spdy.erl b/src/cowboy_spdy.erl index 91c4f4a..cd43399 100644 --- a/src/cowboy_spdy.erl +++ b/src/cowboy_spdy.erl @@ -387,7 +387,7 @@ delete_child(Pid, State=#state{children=Children}) -> -> ok. request_init(FakeSocket, Peer, OnResponse, Env, Middlewares, Method, Host, Path, Version, Headers) -> - {Host2, Port} = cow_http:parse_fullhost(Host), + {Host2, Port} = cow_http_hd:parse_host(Host), {Path2, Qs} = cow_http:parse_fullpath(Path), Version2 = cow_http:parse_version(Version), Req = cowboy_req:new(FakeSocket, ?MODULE, Peer, -- cgit v1.2.3