Browse Source

Fix typespecs causing Dialyzer errors in user projects

Loïc Hoguin 6 years ago
parent
commit
7ee67df066
2 changed files with 8 additions and 4 deletions
  1. 3 3
      src/cow_http_te.erl
  2. 5 1
      src/cow_ws.erl

+ 3 - 3
src/cow_http_te.erl

@@ -128,10 +128,10 @@ horse_stream_identity_dripfeed() ->
 %% @doc Decode a chunked stream.
 
 -spec stream_chunked(Data, State)
-	-> more | {more, Data, State} | {more, Data, Len, State}
+	-> more | {more, Data, State} | {more, Data, non_neg_integer(), State}
 	| {more, Data, Data, State}
-	| {done, Len, Data} | {done, Data, Len, Data}
-	when Data::binary(), State::state(), Len::non_neg_integer().
+	| {done, HasTrailers, Data} | {done, Data, HasTrailers, Data}
+	when Data::binary(), State::state(), HasTrailers::trailers | no_trailers.
 stream_chunked(Data, State) ->
 	stream_chunked(Data, State, <<>>).
 

+ 5 - 1
src/cow_ws.erl

@@ -349,7 +349,11 @@ frag_state(_, 1, _, FragState) -> FragState.
 
 -spec parse_payload(binary(), mask_key(), utf8_state(), non_neg_integer(),
 		frame_type(), non_neg_integer(), frag_state(), extensions(), rsv())
-	-> {ok, binary(), utf8_state(), binary()} | {more, binary(), utf8_state()} | error.
+	-> {ok, binary(), utf8_state(), binary()}
+	| {ok, close_code(), binary(), utf8_state(), binary()}
+	| {more, binary(), utf8_state()}
+	| {more, close_code(), binary(), utf8_state()}
+	| {error, badframe | badencoding}.
 %% Empty last frame of compressed message.
 parse_payload(Data, _, Utf8State, _, _, 0, {fin, _, << 1:1, 0:2 >>},
 		#{inflate := Inflate, inflate_takeover := TakeOver}, _) ->