unused module
[freeside.git] / FS / FS / part_event / Action / http.pm
index b8715a7..f61c9e4 100644 (file)
@@ -1,12 +1,16 @@
 package FS::part_event::Action::http;
+use base qw( FS::part_event::Action );
 
 use strict;
-use base qw( FS::part_event::Action );
+use vars qw( $me );
+use IO::Socket::SSL;
 use LWP::UserAgent;
 use HTTP::Request::Common;
-use JSON::XS;
+use Cpanel::JSON::XS;
 use FS::Misc::DateTime qw( iso8601 );
 
+$me = '[FS::part_event::Action::http]';
+
 #sub description { 'Send an HTTP or HTTPS GET or POST request'; }
 sub description { 'Send an HTTP or HTTPS POST request'; }
 
@@ -37,6 +41,10 @@ sub option_fields {
                          type  => 'textarea',
                        },
     #'response_error_param' => 'Response error parameter',
+    'debug'         => { label => 'Enable debugging',
+                         type  => 'checkbox',
+                         value => 1,
+                       },
   );
 }
 
@@ -60,10 +68,17 @@ sub do_action {
       ( $field, $value );
     } split(/\n/, $self->option('content') );
 
+  if ( $self->option('debug') ) {
+    warn "[$me] $_: ". $content{$_}. "\n" foreach keys %content;
+  }
+
   my $content = encode_json( \%content );
 
   my @lwp_opts = ();
-  push @lwp_opts, 'ssl_opts'=>{ 'verify_hostname'=>0 }
+  push @lwp_opts, 'ssl_opts' => {
+                    verify_hostname => 0,
+                    SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
+                  }
     if $self->option('ssl_no_verify');
   my $ua = LWP::UserAgent->new(@lwp_opts);
 
@@ -73,6 +88,9 @@ sub do_action {
     Content      => $content,
   );
 
+  if ( $self->option('debug') ) {
+    #XXX dump raw request for debugging
+  }
   my $response = $ua->request($req);
 
   die $response->status_line if $response->is_error;