Net::Amazon::S3 を Park Place のホストに使う

| 0 Comments | 0 TrackBacks

ローカルに建てた Park Place で使いたかったので。

$ diff -u Net/Amazon/S3.pm.orig  Net/Amazon/S3.pm
--- Net/Amazon/S3.pm.orig       2008-03-27 17:40:40.000000000 +0900
+++ Net/Amazon/S3.pm    2008-06-18 05:10:04.323364757 +0900
@@ -110,7 +110,7 @@

 use base qw(Class::Accessor::Fast);
 __PACKAGE__->mk_accessors(
-    qw(libxml aws_access_key_id aws_secret_access_key secure ua err errstr timeout retry)
+    qw(libxml aws_access_key_id aws_secret_access_key secure ua err errstr timeout retry s3_host)
 );
 our $VERSION = '0.44';

@@ -672,9 +672,10 @@
     $self->_add_auth_header( $http_headers, $method, $path )
         unless exists $headers->{Authorization};
     my $protocol = $self->secure ? 'https' : 'http';
-    my $url = "$protocol://s3.amazonaws.com/$path";
-    if ( $path =~ m{^([^/?]+)(.*)} && _is_dns_bucket($1) ) {
-        $url = "$protocol://$1.s3.amazonaws.com$2";
+    my $host = $self->s3_host || "s3.amazonaws.com";
+    my $url = "$protocol://$host/$path";
+    if ( !$self->s3_host && $path =~ m{^([^/?]+)(.*)} && _is_dns_bucket($1) ) {
+        $url = "$protocol://$1.$host$2";
     }

     my $request = HTTP::Request->new( $method, $url, $http_headers );

No TrackBacks

TrackBack URL: http://blog.woremacx.com/MT/mt-tb.cgi/252

Leave a comment