| Gungho documentation | Contained in the Gungho distribution. |
Gungho::Handler::FileWriter::Simple - Write Out Fetched Contents To File
This is a simple, dumb module mostly for demonstration purposes. It just writes out fetched contents to a single location in your file system.
In real life, you probably want to hash them to different locations, and put better names to the files.
| Gungho documentation | Contained in the Gungho distribution. |
# $Id: /mirror/gungho/lib/Gungho/Handler/FileWriter/Simple.pm 1749 2007-06-10T08:52:31.230704Z lestrrat $ # # Copyrigt (c) 2007 Daisuke Maki <daisuke@endeworks.jp> # All rights reserved. package Gungho::Handler::FileWriter::Simple; use strict; use warnings; use base qw(Gungho::Handler); use File::Spec; use Path::Class(); use URI::Escape qw(uri_escape); __PACKAGE__->mk_accessors($_) for qw(dir); sub setup { my ($self, $c) = @_; $self->dir( Path::Class::Dir->new( $self->config->{dir} || File::Spec->tmpdir) ); $self->next::method($c); } sub path_to { my ($self, $req, $res) = @_; # Just writes to a file name that has been "properly" (for better # or for worse...) URl-encoded return $self->dir->file( uri_escape( $req->uri ) ); } sub handle_response { my ($self, $c, $req, $res) = @_; my $file = $self->path_to($req, $res); my $fh = $file->openw() or die; $c->log->debug("Writing " . $req->uri . " to $file"); $fh->print($res->content); $fh->close; } 1; __END__