view release on metacpan or search on metacpan
lib/Ceph/RadosGW/Admin/HTTPRequest.pm view on Meta::CPAN
use Moose::Util::TypeConstraints;
use URI::Escape qw( uri_escape_utf8 );
use URI::QueryParam;
use URI;
use Digest::HMAC_SHA1;
use Digest::MD5 ();
# this is almost a direct copy of
# https://metacpan.org/pod/Net::Amazon::S3::HTTPRequest
# ABSTRACT: Create a signed HTTP::Request
my $METADATA_PREFIX = 'x-amz-meta-';
my $AMAZON_HEADER_PREFIX = 'x-amz-';
enum 'HTTPMethod' => [ qw(DELETE GET HEAD PUT POST) ];
has 'url' => ( is => 'ro', isa => 'Str', required => 1 );
has 'method' => ( is => 'ro', isa => 'HTTPMethod', required => 1 );
has 'path' => ( is => 'ro', isa => 'Str', required => 1 );
has 'access_key' => ( is => 'ro', isa => 'Str', required => 1 );
lib/Ceph/RadosGW/Admin/HTTPRequest.pm view on Meta::CPAN
has 'headers' =>
( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
has 'content' =>
( is => 'ro', isa => 'Str|CodeRef', required => 0, default => '' );
has 'metadata' =>
( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
__PACKAGE__->meta->make_immutable;
# make the HTTP::Request object
sub http_request {
my $self = shift;
my $method = $self->method;
my $path = $self->path;
my $headers = $self->headers;
my $content = $self->content;
my $metadata = $self->metadata;
my $uri = $self->url . $path;
my $http_headers = $self->_merge_meta( $headers, $metadata );
$self->_add_auth_header( $http_headers, $method, $path )
unless exists $headers->{Authorization};
my $request
= HTTP::Request->new( $method, $uri, $http_headers, $content );
#my $req_as = $request->as_string;
#$req_as =~ s/[^\n\r\x20-\x7f]/?/g;
#$req_as = substr( $req_as, 0, 1024 ) . "\n\n";
#warn $req_as;
return $request;
}
sub query_string_authentication_uri {
lib/Ceph/RadosGW/Admin/HTTPRequest.pm view on Meta::CPAN
}
1;
__END__
=pod
=head1 NAME
Ceph::RadosGW::Admin::HTTPRequest::HTTPRequest - Create a signed HTTP::Request
=head1 VERSION
version 0.60
=head1 SYNOPSIS
my $http_request = Ceph::RadosGW::Admin::HTTPRequest::HTTPRequest->new(
method => 'PUT',
path => $self->bucket . '/',
headers => $headers,
content => $content,
)->http_request;
=head1 DESCRIPTION
This module creates an HTTP::Request object that is signed
appropriately for Amazon S3.
=for test_synopsis no strict 'vars'
=head1 METHODS
=head2 http_request
This method creates, signs and returns a HTTP::Request object.
=head2 query_string_authentication_uri
This method creates, signs and returns a query string authentication
URI.
=head1 AUTHOR
Pedro Figueiredo <me@pedrofigueiredo.org>
t/admin_ops.tape view on Meta::CPAN
use HTTP::Response;
use HTTP::Request;
$VAR1 = [
{
'response' => bless( {
'_content' => '{"user_id":"test_user","display_name":"Liquidweb Test User","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user","access_key":"NUWN1AA59CR96EZXLLFF","secret_key":"hTtx...
'_msg' => 'OK',
'_request' => bless( {
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:o5VrnHhyYPBky7HGiWQIZ/r4GzA=',
'date' => 'Mon, 15 Dec 2014 22:45:54 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user')}, 'URI::https' ),
'_content' => '',
'_method' => 'GET',
'_uri' => do{my $o}
}, 'HTTP::Request' ),
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-peer' => '10.30.77.228:443',
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'connection' => 'close',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cipher' => 'Client-SSL-Cipher',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:55 GMT',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:I6sLeDQU+8D70TtjCQgPlq4+o9Q=',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'client-peer' => '10.30.77.228:443',
'content-type' => 'application/json',
'connection' => 'close',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-warning' => 'Client-SSL-Warning',
t/admin_ops.tape view on Meta::CPAN
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:I6sLeDQU+8D70TtjCQgPlq4+o9Q=',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:55 GMT'
}, 'HTTP::Headers' ),
'_uri' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user3')}, 'URI::https' ),
'_method' => 'GET',
'_content' => '',
'_uri_canonical' => do{my $o}
}, 'HTTP::Request' ),
'_content' => '{"user_id":"test_user3","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user3","access_key":"TL4WVZOSOXR3HFXLYJU7","secret_key":"M+Ug2KJs0ShEzB...
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
},
{
'request' => bless( {
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user3')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:lXnDIky/X+C2fVJLEGdn0bJ3MCE=',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:55 GMT'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_rc' => 200,
'_content' => '',
'_msg' => 'OK',
'_request' => {},
'_headers' => bless( {
'date' => 'Mon, 15 Dec 2014 22:45:55 GMT',
'client-transfer-encoding' => [
'chunked'
],
t/admin_ops.tape view on Meta::CPAN
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:riFaV/C9Pw8EkQFCe+Jd0ZxfVvk=',
'date' => 'Mon, 15 Dec 2014 22:45:55 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?display-name=display&format=json&uid=test_user3')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'PUT'
}, 'HTTP::Request' ),
'response' => bless( {
'_rc' => 200,
'_msg' => 'OK',
'_request' => {},
'_content' => '{"user_id":"test_user3","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user3","access_key":"VM384QBNQ71C74ZFB17J","secret_key":"i4jHi79iaRIJvT...
'_headers' => bless( {
'date' => 'Mon, 15 Dec 2014 22:45:56 GMT',
'client-transfer-encoding' => [
'chunked'
],
t/admin_ops.tape view on Meta::CPAN
},
'date' => 'Mon, 15 Dec 2014 22:45:56 GMT',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:bjzVgfaHYH5VnsIdcuaGgwHPnko='
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?display-name=display&format=json&uid=test_user4')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'PUT'
}, 'HTTP::Request' ),
'response' => bless( {
'_headers' => bless( {
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'client-peer' => '10.30.77.228:443',
'content-type' => 'application/json',
'connection' => 'close',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-transfer-encoding' => 'Client-Transfer-Encoding',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:J3f6Bn5aSt6be5ocbEpLaTjV48A=',
'content-type' => 'text/plain',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:56 GMT'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_msg' => 'OK',
'_headers' => bless( {
'client-date' => 'Mon, 15 Dec 2014 22:45:57 GMT',
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-response-num' => 1,
'server' => 'Apache/2.2.22 (Ubuntu)',
'client-ssl-cipher' => 'AES128-SHA',
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
'chunked'
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'date' => 'Mon, 15 Dec 2014 22:45:57 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:JPxHyCJ+XSebztRju6vQOQCFldo='
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'content-type' => 'application/json',
'connection' => 'close',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-warning' => 'Client-SSL-Warning',
'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
'client-peer' => 'Client-Peer',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:JPxHyCJ+XSebztRju6vQOQCFldo=',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:57 GMT'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_headers' => bless( {
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'client-peer' => '10.30.77.228:443',
'accept-ranges' => 'bytes',
'content-type' => 'application/json',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
'client-peer' => 'Client-Peer',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:57 GMT',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:f3BhwWSOb7+aKmmsnUdyjyYQGTw=',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_content' => '{"user_id":"test_user5","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user5","access_key":"FHDPPL8SX6E9EQ7482GF","secret_key":"PDiQy1l5R9A8uD...
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'server' => 'Apache/2.2.22 (Ubuntu)',
'client-response-num' => 1,
'client-date' => 'Mon, 15 Dec 2014 22:45:57 GMT',
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
'chunked'
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:JPxHyCJ+XSebztRju6vQOQCFldo=',
'date' => 'Mon, 15 Dec 2014 22:45:57 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_request' => {},
'_msg' => 'OK',
'_content' => '{"user_id":"test_user5","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user5","access_key":"FHDPPL8SX6E9EQ7482GF","secret_key":"PDiQy1l5R9A8uD...
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-date' => 'Mon, 15 Dec 2014 22:45:58 GMT',
'client-response-num' => 1,
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:ZDsAnIltbfheOxzNkbids6iPIII=',
'date' => 'Mon, 15 Dec 2014 22:45:58 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_content' => '',
'_msg' => 'OK',
'_request' => {},
'_rc' => 200,
'_headers' => bless( {
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-date' => 'Mon, 15 Dec 2014 22:45:58 GMT',
'client-response-num' => 1,
'server' => 'Apache/2.2.22 (Ubuntu)',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:hV18cjlaj89oARrwD9g28ytkFCI=',
'date' => 'Mon, 15 Dec 2014 22:45:58 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_headers' => bless( {
'content-type' => 'application/json',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cipher' => 'Client-SSL-Cipher',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
'client-date' => 'Client-Date',
'client-response-num' => 'Client-Response-Num',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:45:58 GMT',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:gl6J2pyFKdOmC6atXjTxgwC0svQ='
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_content' => '{"user_id":"test_user6","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user6","access_key":"L04ZLN7VD9N44UEMPDLA","secret_key":"XQukAn1G1HYTYU...
'_msg' => 'OK',
'_request' => {},
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'date' => 'Mon, 15 Dec 2014 22:45:59 GMT',
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
t/admin_ops.tape view on Meta::CPAN
'date' => 'Mon, 15 Dec 2014 22:45:59 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' ),
'_content' => '',
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user6')}, 'URI::https' ),
'_uri' => do{my $o},
'_method' => 'DELETE'
}, 'HTTP::Request' ),
'_content' => ''
}, 'HTTP::Response' ),
'request' => {}
},
{
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-response-num' => 1,
'server' => 'Apache/2.2.22 (Ubuntu)',
t/admin_ops.tape view on Meta::CPAN
},
'date' => 'Mon, 15 Dec 2014 22:45:59 GMT',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:oOjDzr/OWlLHHCvvnAfaPAn+FpQ='
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?display-name=display&format=json&uid=test_user7')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'PUT'
}, 'HTTP::Request' ),
'_content' => '{"user_id":"test_user7","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user7","access_key":"IKO18ZS47FCSK6YMLHY8","secret_key":"Py0ARBjW4TOoae...
}, 'HTTP::Response' ),
'request' => {}
},
{
'response' => bless( {
'_request' => bless( {
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:Zqeb9gek8ctCdBvVSLe8+umAH/0=',
t/admin_ops.tape view on Meta::CPAN
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'date' => 'Mon, 15 Dec 2014 22:45:59 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' ),
'_method' => 'POST',
'_uri' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?display-name=new+display+name&format=json&max-buckets=1000&suspended=1&uid=test_user7')}, 'URI::https' ),
'_content' => '',
'_uri_canonical' => do{my $o}
}, 'HTTP::Request' ),
'_msg' => 'OK',
'_content' => '{"user_id":"test_user7","display_name":"new display name","email":"","suspended":1,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user7","access_key":"IKO18ZS47FCSK6YMLHY8","secret_key":"Py0AR...
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-response-num' => 1,
'server' => 'Apache/2.2.22 (Ubuntu)',
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
'date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:A+SlyV6tSwHXlm68hWPTTvSO7Go=',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_request' => {},
'_msg' => 'OK',
'_content' => '{"user_id":"test_user7","display_name":"new display name","email":"","suspended":1,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user7","access_key":"IKO18ZS47FCSK6YMLHY8","secret_key":"Py0AR...
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'server' => 'Apache/2.2.22 (Ubuntu)',
'client-response-num' => 1,
'client-date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
t/admin_ops.tape view on Meta::CPAN
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:A+SlyV6tSwHXlm68hWPTTvSO7Go=',
'date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' ),
'_content' => '',
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user7')}, 'URI::https' ),
'_uri' => do{my $o},
'_method' => 'GET'
}, 'HTTP::Request' ),
'response' => bless( {
'_content' => '{"user_id":"test_user7","display_name":"new display name","email":"","suspended":1,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user7","access_key":"IKO18ZS47FCSK6YMLHY8","secret_key":"Py0AR...
'_msg' => 'OK',
'_request' => {},
'_rc' => 200,
'_headers' => bless( {
'client-ssl-cipher' => 'AES128-SHA',
'client-transfer-encoding' => [
'chunked'
],
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:LMapGyPPmP+McYO5cTD0iNHfIpw=',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_content' => '',
'_headers' => bless( {
'client-peer' => '10.30.77.228:443',
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'connection' => 'close',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
'client-peer' => 'Client-Peer',
'client-ssl-warning' => 'Client-SSL-Warning',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:ylIB2vfCKCjBxOHO0d8pN1BNSZw=',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'date' => 'Mon, 15 Dec 2014 22:46:00 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_rc' => 200,
'_content' => '{"user_id":"test_user8","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user8","access_key":"TM6F06II9RCKDCPW07NY","secret_key":"obViaAYrRtLMcg...
'_msg' => 'OK',
'_request' => {},
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'client-peer' => '10.30.77.228:443',
'content-type' => 'application/json',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:8KhEdHGQ+retJlYz5Ad+ZhQGwlE=',
'date' => 'Mon, 15 Dec 2014 22:46:01 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
},
{
'request' => bless( {
'_headers' => bless( {
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:cQvs+ktXYjWwhN3UCrxDl3uE408=',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:01 GMT',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' ),
'_uri' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user8')}, 'URI::https' ),
'_method' => 'GET',
'_content' => '',
'_uri_canonical' => do{my $o}
}, 'HTTP::Request' ),
'response' => bless( {
'_content' => '{"user_id":"test_user8","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user8","access_key":"TM6F06II9RCKDCPW07NY","secret_key":"obViaAYrRtLMcg...
'_msg' => 'OK',
'_request' => {},
'_rc' => 200,
'_headers' => bless( {
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cipher' => 'Client-SSL-Cipher',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:6SYI4fQMVPrBvfYymsLau0x7cy8=',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'date' => 'Mon, 15 Dec 2014 22:46:01 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
}
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_headers' => bless( {
'client-ssl-cipher' => 'AES128-SHA',
'client-transfer-encoding' => [
'chunked'
],
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'date' => 'Mon, 15 Dec 2014 22:46:02 GMT',
'client-date' => 'Mon, 15 Dec 2014 22:46:02 GMT',
'client-ssl-socket-class' => 'IO::Socket::SSL',
'server' => 'Apache/2.2.22 (Ubuntu)',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:HHXuiG1MTq0qqklfDCtbghrPcDs=',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:02 GMT'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
'chunked'
],
'date' => 'Mon, 15 Dec 2014 22:46:02 GMT',
'client-ssl-cipher' => 'AES128-SHA',
'server' => 'Apache/2.2.22 (Ubuntu)',
t/admin_ops.tape view on Meta::CPAN
'content-type' => 'text/plain',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:02 GMT'
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?access-key=FUPCU3FHC96GF3A3VIOK&format=json&key=&uid=test_user9')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'DELETE'
}, 'HTTP::Request' ),
'_headers' => bless( {
'content-type' => 'application/json',
'client-ssl-warning' => 'Peer certificate not verified',
'connection' => 'close',
'::std_case' => {
'client-response-num' => 'Client-Response-Num',
'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
'client-date' => 'Client-Date',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
t/admin_ops.tape view on Meta::CPAN
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:ha2AEmZVc6MFttyEbiOfeKN7Jjs=',
'content-type' => 'text/plain'
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user9')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'GET'
}, 'HTTP::Request' ),
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
},
{
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cipher' => 'AES128-SHA',
'client-transfer-encoding' => [
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:03 GMT',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:5QcQLi/TkdFerNajkU8xqnQGe1A='
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_msg' => 'OK',
'_content' => '{"user_id":"test_user9","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[],"swift_keys":[],"caps":[]}',
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
},
{
'request' => bless( {
'_uri' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user9')}, 'URI::https' ),
'_method' => 'DELETE',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:03 GMT',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:wgHiaaif4Qa/r9WmnXbOE76TbJ8='
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_rc' => 200,
'_request' => {},
'_msg' => 'OK',
'_content' => '',
'_headers' => bless( {
'client-peer' => '10.30.77.228:443',
'client-ssl-cert-issuer' => '/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'date' => 'Mon, 15 Dec 2014 22:46:03 GMT',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:Yjko6tx83BsyvD3xhoUorCHP3yU=',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_msg' => 'OK',
'_content' => '{"user_id":"test_user10","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user10","access_key":"NT23BMB54POGU9QPT97V","secret_key":"5lMLFJLgzpiM...
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
},
{
'request' => bless( {
'_headers' => bless( {
'user-agent' => 'libwww-perl/6.08',
t/admin_ops.tape view on Meta::CPAN
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:03 GMT'
}, 'HTTP::Headers' ),
'_content' => '',
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/usage?format=json&uid=test_user10')}, 'URI::https' ),
'_method' => 'GET',
'_uri' => do{my $o}
}, 'HTTP::Request' ),
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-response-num' => 'Client-Response-Num',
'client-date' => 'Client-Date',
'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
t/admin_ops.tape view on Meta::CPAN
'content-type' => 'text/plain',
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:04 GMT'
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user10')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'GET'
}, 'HTTP::Request' ),
'response' => bless( {
'_request' => {},
'_msg' => 'OK',
'_content' => '{"user_id":"test_user10","display_name":"display","email":"","suspended":0,"max_buckets":1000,"subusers":[],"keys":[{"user":"test_user10","access_key":"NT23BMB54POGU9QPT97V","secret_key":"5lMLFJLgzpiM...
'_rc' => 200,
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cipher' => 'AES128-SHA',
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
t/admin_ops.tape view on Meta::CPAN
},
'date' => 'Mon, 15 Dec 2014 22:46:04 GMT',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:Ylrqq7tcxFez8lSDdD8QZA3hCcc='
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user10')}, 'URI::https' ),
'_content' => '',
'_method' => 'DELETE',
'_uri' => do{my $o}
}, 'HTTP::Request' ),
'_content' => '',
'_headers' => bless( {
'client-ssl-warning' => 'Peer certificate not verified',
'connection' => 'close',
'::std_case' => {
'client-ssl-warning' => 'Client-SSL-Warning',
'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
'client-peer' => 'Client-Peer',
'client-ssl-cipher' => 'Client-SSL-Cipher',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
t/admin_ops.tape view on Meta::CPAN
'date' => 'Mon, 15 Dec 2014 22:46:04 GMT',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:9D9BZTziKJcOqV+hOuVC2aQ082s=',
'content-type' => 'text/plain',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' ),
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?display-name=display&format=json&uid=test_user11')}, 'URI::https' ),
'_content' => '',
'_uri' => do{my $o},
'_method' => 'PUT'
}, 'HTTP::Request' ),
'response' => bless( {
'_headers' => bless( {
'content-type' => 'application/json',
'client-ssl-warning' => 'Peer certificate not verified',
'::std_case' => {
'client-ssl-cipher' => 'Client-SSL-Cipher',
'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
'client-transfer-encoding' => 'Client-Transfer-Encoding',
'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
'client-date' => 'Client-Date',
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'content-type' => 'text/plain',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:yQ/uCXZCQGHjeZ/uo6OI8Vwr0nQ=',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'response' => bless( {
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-cert-subject' => '/OU=Domain Control Validated/CN=*.rados2.dev.liquidweb.com',
'client-transfer-encoding' => [
'chunked'
],
'date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'client-ssl-cipher' => 'AES128-SHA',
'client-response-num' => 1,
t/admin_ops.tape view on Meta::CPAN
'_headers' => bless( {
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'content-type' => 'text/plain',
'authorization' => 'AWS HBPZ3Y50A64RT5E09AY7:rsmsT5INw9OSg9TIcTGbRxHVEzA=',
'content-md5' => '1B2M2Y8AsgTpgAmY7PhCfg',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' )
}, 'HTTP::Request' ),
'_msg' => 'OK',
'_protocol' => 'HTTP/1.1',
'_headers' => bless( {
'client-ssl-socket-class' => 'IO::Socket::SSL',
'client-date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'client-response-num' => 1,
'server' => 'Apache/2.2.22 (Ubuntu)',
'client-ssl-cipher' => 'AES128-SHA',
'date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'client-transfer-encoding' => [
t/admin_ops.tape view on Meta::CPAN
'::std_case' => {
'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
},
'date' => 'Mon, 15 Dec 2014 22:46:05 GMT',
'user-agent' => 'libwww-perl/6.08'
}, 'HTTP::Headers' ),
'_content' => '',
'_uri_canonical' => bless( do{\(my $o = 'https://rados2.dev.liquidweb.com/admin/user?format=json&uid=test_user11')}, 'URI::https' ),
'_uri' => do{my $o},
'_method' => 'DELETE'
}, 'HTTP::Request' ),
'_rc' => 200
}, 'HTTP::Response' ),
'request' => {}
}
];
$VAR1->[0]{'response'}{'_request'}{'_uri'} = $VAR1->[0]{'response'}{'_request'}{'_uri_canonical'};
$VAR1->[0]{'request'} = $VAR1->[0]{'response'}{'_request'};
$VAR1->[1]{'request'}{'_uri'} = $VAR1->[1]{'request'}{'_uri_canonical'};
$VAR1->[1]{'response'}{'_request'} = $VAR1->[1]{'request'};
$VAR1->[2]{'response'}{'_request'}{'_uri_canonical'} = $VAR1->[2]{'response'}{'_request'}{'_uri'};