/[maps]/lib/Net/Analysis/Listener/Maps.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /lib/Net/Analysis/Listener/Maps.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12 - (show annotations)
Wed Oct 17 15:50:35 2007 UTC (16 years, 5 months ago) by dpavlin
Original Path: Maps.pm
File size: 1222 byte(s)
generate whole filename inside condition, not just extension
1 package Net::Analysis::Listener::Maps;
2
3 use strict;
4 use warnings;
5 use base qw(Net::Analysis::Listener::Base);
6 use File::Slurp;
7
8 sub http_transaction {
9 my ($self, $args) = @_;
10 my ($req) = $args->{req}; # isa HTTP::Request
11 my ($resp) = $args->{resp}; # isa HTTP::Response
12 my ($req_mono) = $args->{req_mono}; # isa Net::Analysis::TCPMonologue
13 my ($resp_mono) = $args->{resp_mono}; # isa Net::Analysis::TCPMonologue
14
15 my $file;
16
17 if ( $req->uri() =~ m!/GElin/MapSrv\.aspx\?lwM=(\d+)&twM=(\d+)&zf=(\d+)! ) {
18 # Mireo
19 $file = "$3/$1-$2.gif";
20 } elsif ( $req->uri() =~ m!/mt\?.*x=(\d+)&y=(\d+)&zoom=(\d+)! ) {
21 # Google maps
22 $file = "$3/$1-$2.png";
23 } elsif ( $req->uri() =~ m!/aerial.maps.yimg.com/img.*&x=(\d+)&y=(\d+)&z=(\d+)&v=1\.7! ) {
24 # Yahoo maps
25 $file = "$3/$1-$2.jpg";
26 }
27
28 if ( $file ) {
29 mkdir "dump" unless -e "dump";
30 mkdir "dump/$3" unless -e "dump/$3";
31 write_file( "dump/$file", $resp->content );
32 print "$1x$2 zoom: $3 -> $file ", -s "dump/$file", " bytes\n";
33 } else {
34 print ">> ",$req->uri, "\n";
35 }
36
37
38 }
39
40 1;
41
42 =head1 NAME
43
44 Net::Analysis::Listener::Maps - looking at HTTP transactions
45
46 $ perl -MNet::Analysis -e main HTTP Maps maps_dump.tcp
47

  ViewVC Help
Powered by ViewVC 1.1.26