From 59484530bbc900d2ffb29d8dd916e31aa35e3c2f Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Tue, 28 Jan 2014 10:55:36 +0100 Subject: [PATCH] MT#5797 optionally skip Link in http_headers Too many Link headers break web servers and probably UAs. --- lib/Data/HAL.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/Data/HAL.pm b/lib/Data/HAL.pm index 3806cfb..44bcec1 100644 --- a/lib/Data/HAL.pm +++ b/lib/Data/HAL.pm @@ -175,7 +175,7 @@ sub as_json { } sub http_headers { - my ($self) = @_; + my ($self, %params) = @_; my @headers; if ($self->links) { if (my ($profile_link) = grep { 'profile' eq $_->relation->as_string } @{ $self->links }) { @@ -185,10 +185,12 @@ sub http_headers { } else { push @headers, 'Content-Type' => 'application/hal+json'; } - push @headers, - map { (Link => $_->as_http_link_value) } - grep { 'curies' ne $_->relation->as_string } - @{ $self->links }; + unless(exists $params{skip_links} && $params{skip_links}) { + push @headers, + map { (Link => $_->as_http_link_value) } + grep { 'curies' ne $_->relation->as_string } + @{ $self->links }; + } } return @headers; }