extras/breakpad_upload_crash
changeset 111 f827f3c50dcf
equal deleted inserted replaced
110:d024bf1f4eab 111:f827f3c50dcf
       
     1 #!/usr/bin/env perl
       
     2 
       
     3 use strict;
       
     4 use warnings;
       
     5 use Mojo::UserAgent;
       
     6 use Mojo::Util qw/slurp dumper/;
       
     7 use File::Basename;
       
     8 use v5.10;
       
     9 
       
    10 my $ua = Mojo::UserAgent->new;
       
    11 
       
    12 my $url = shift @ARGV;
       
    13 
       
    14 foreach my $extra(@ARGV) {
       
    15 
       
    16     my ($filename, $dirs, $suffix) = fileparse($extra, ".extra");
       
    17 
       
    18     my $hash = { upload_file_minidump => { file => "$dirs$filename.dmp" } };
       
    19 
       
    20     open(my $fh, "<", $extra);
       
    21     foreach my $l(<$fh>) {
       
    22         my ($k, $v) = split('=', $l, 2);
       
    23         chomp $k;
       
    24         chomp $v;
       
    25         $hash->{$k} = $v;
       
    26     }
       
    27     close $fh;
       
    28 
       
    29     my $tx = $ua->post($url => form => $hash);
       
    30     if(my $res = $tx->success) {
       
    31         say $res->body;
       
    32     } else {
       
    33         my $err = $tx->error;
       
    34         if($err->{code}) {
       
    35             warn "$err->{code} response for $extra: $err->{message}\n" . dumper $hash;
       
    36         } else {
       
    37             warn "Connection error: $err->{message}";
       
    38         }
       
    39     }
       
    40 }