From 343b23a4cc9bfa53175f4ac6ec99a07ce55e9b8f Mon Sep 17 00:00:00 2001 From: franck cuny Date: Fri, 6 May 2011 09:30:03 +0200 Subject: new middleware Signed-off-by: franck cuny --- lib/Net/HTTP/Spore/Middleware/Auth/Header.pm | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/Net/HTTP/Spore/Middleware/Auth/Header.pm (limited to 'lib/Net/HTTP') diff --git a/lib/Net/HTTP/Spore/Middleware/Auth/Header.pm b/lib/Net/HTTP/Spore/Middleware/Auth/Header.pm new file mode 100644 index 0000000..95cff9e --- /dev/null +++ b/lib/Net/HTTP/Spore/Middleware/Auth/Header.pm @@ -0,0 +1,32 @@ +package Net::HTTP::Spore::Middleware::Auth::Header; + +# ABSTRACT: middleware for authentication with specific header + +use Moose; +extends 'Net::HTTP::Spore::Middleware::Auth::Auth'; + +has header_name => (isa => 'Str', is => 'rw', required => 1); +has header_value => (isa => 'Str', is => 'rw', required => 1); + +sub call { + my ($self, $req) = @_; + + return unless $self->should_authenticate($req); + + $req->header($self->header_name => $self->header_value); +} + +1; + +=head1 SYNOPSIS + + my $client = Net::HTTP::Spore->new_from_spec('api.json'); + $client->enable( + 'Auth::Header', + header_name => 'X-API-Auth', + header_value => '12345' + ); + +=head1 DESCRIPTION + +Net::HTTP::Spore::Middleware::Auth::Header is a middleware to handle authentication mechanism that requires a specific header name. -- cgit 1.4.1