THRIFT-4348 - Allow custom HTTP headers to be set in Perl HTTP client.
Client: Perl
This closes #1376
diff --git a/lib/perl/lib/Thrift/HttpClient.pm b/lib/perl/lib/Thrift/HttpClient.pm
index 2ad618f..6e6a631 100644
--- a/lib/perl/lib/Thrift/HttpClient.pm
+++ b/lib/perl/lib/Thrift/HttpClient.pm
@@ -45,6 +45,7 @@
out => $out,
timeout => 100,
handle => undef,
+ headers => {},
};
return bless($self,$classname);
@@ -74,6 +75,14 @@
$self->setTimeout($timeout);
}
+sub setHeader
+{
+ my $self = shift;
+ my ($name, $value) = @_;
+
+ $self->{headers}->{$name} = $value;
+}
+
#
# Tests whether this is open
#
@@ -176,6 +185,7 @@
my $buf = join('', <$out>);
my $request = new HTTP::Request(POST => $self->{url}, undef, $buf);
+ map { $request->header($_ => $self->{headers}->{$_}) } keys %{$self->{headers}};
my $response = $ua->request($request);
my $content_ref = $response->content_ref;