TT#14501 Allow any value for the Prefer header

Return 'minimal' on unknown

Change-Id: I6247b7cbf1df7e477894bac6a4d3826d7f3a5c10
changes/53/18953/12
Irina Peshinskaya 8 years ago
parent 9b764c4abd
commit 14496cc465

@ -372,7 +372,8 @@ sub get_uploads {
sub require_preference {
my ($self, $c) = @_;
return 'minimal' unless $c->request->header('Prefer');
my $prefer_default = 'minimal';
return $prefer_default unless $c->request->header('Prefer');
my $ngcp_ua_header = $c->request->header("NGCP-UserAgent") // '';
my @preference = grep { 'return' eq $_->[0] } split_header_words($c->request->header('Prefer'));
return $preference[0][1]
@ -380,7 +381,7 @@ sub require_preference {
return $preference[0][1]
if 1 == @preference && $preference[0][1] eq 'internal' &&
$ngcp_ua_header eq "NGCP::API::Client";
$self->error($c, HTTP_BAD_REQUEST, "Header 'Prefer' must be either 'return=minimal' or 'return=representation'.");
return $prefer_default;
}
sub require_wellformed_json {

@ -196,12 +196,6 @@ my @allprofiles = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -283,11 +283,6 @@ my @allcontracts = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -197,12 +197,6 @@ my @allcontacts = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -317,11 +317,6 @@ my @allcustomers = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -287,11 +287,6 @@ my @allresellers = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -161,11 +161,6 @@ my @allcontacts = ();
$req->remove_header('Content-Type');
$req->header('Content-Type' => 'application/json');
# check if it fails with invalid Prefer
$req->header('Prefer' => "return=invalid");
$res = $ua->request($req);
is($res->code, 400, "check put invalid prefer");
$req->remove_header('Prefer');
$req->header('Prefer' => "return=representation");

@ -971,7 +971,7 @@ sub check_put_bundle{
my($self) = @_;
$self->check_put_content_type_empty;
$self->check_put_content_type_wrong;
$self->check_put_prefer_wrong;
#$self->check_put_prefer_wrong;
$self->check_put_body_empty;
}

Loading…
Cancel
Save