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

Add a test confirming push requests have no body

This commit is contained in:
Loïc Hoguin 2020-02-05 18:06:00 +01:00
parent 752297b153
commit 47ecfd7318
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 14 additions and 0 deletions

View file

@ -4044,6 +4044,18 @@ reject_duplicate_content_length_header(Config) ->
% PUSH_PROMISE frame as a connection error (Section 5.4.1) of type
% PROTOCOL_ERROR.
push_has_no_request_body(Config) ->
doc("PUSH_PROMISE frames include the complete set of request headers "
"and the request can never include a body. (RFC7540 8.2.1)"),
ConnPid = gun_open(Config),
Ref = gun:get(ConnPid, "/resp/push/read_body"),
{push, PushRef, <<"GET">>, _, _} = gun:await(ConnPid, Ref),
{response, fin, 200, _} = gun:await(ConnPid, Ref),
%% We should not get a body in the pushed resource
%% since there was no body in the request.
{response, fin, 200, _} = gun:await(ConnPid, PushRef),
ok.
%% (RFC7540 8.2.1)
% The header fields in PUSH_PROMISE and any subsequent CONTINUATION
% frames MUST be a valid and complete set of request header fields