diff options
author | mark <mark> | 2012-02-06 22:28:15 +0000 |
---|---|---|
committer | mark <mark> | 2012-02-06 22:28:15 +0000 |
commit | 2158e6d923efb1207e3c4cea44eceda9b16d497e (patch) | |
tree | bae668cbb3a06635ec79803b704ffb050616a545 | |
parent | f4330403934b90b73d6585afeda72ca88f9094b6 (diff) |
HTTP export for svc_broadband, #16227
-rw-r--r-- | FS/FS/part_export/broadband_http.pm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/FS/FS/part_export/broadband_http.pm b/FS/FS/part_export/broadband_http.pm new file mode 100644 index 0000000..9edfee5 --- /dev/null +++ b/FS/FS/part_export/broadband_http.pm @@ -0,0 +1,66 @@ +package FS::part_export::broadband_http; + +use vars qw( @ISA %info ); +use FS::part_export::http; +use Tie::IxHash; + +@ISA = qw( FS::part_export::http ); + +tie %options, 'Tie::IxHash', + 'method' => { label =>'Method', + type =>'select', + #options =>[qw(POST GET)], + options =>[qw(POST)], + default =>'POST' }, + 'url' => { label => 'URL', default => 'http://', }, + 'insert_data' => { + label => 'Insert data', + type => 'textarea', + default => join("\n", + "action 'add'", + "address \$svc_x->ip_addr", + "name \$cust_main->first.' '.\$cust_main->last", + ), + }, + 'delete_data' => { + label => 'Delete data', + type => 'textarea', + default => join("\n", + "action 'remove'", + "address \$svc_x->ip_addr", + ), + }, + 'replace_data' => { + label => 'Replace data', + type => 'textarea', + default => '', + }, + 'success_regexp' => { + label => 'Success Regexp', + default => '', + }, +; + +%info = ( + 'svc' => 'svc_broadband', + 'desc' => 'Send an HTTP or HTTPS GET or POST request, for accounts.', + 'options' => \%options, + 'notes' => <<'END' +<p>Send an HTTP or HTTPS GET or POST to the specified URL on account addition, +modification and deletion. For HTTPS support, +<a href="http://search.cpan.org/dist/Crypt-SSLeay">Crypt::SSLeay</a> +or <a href="http://search.cpan.org/dist/IO-Socket-SSL">IO::Socket::SSL</a> +is required.</p> +<p>Each "Data" option takes a list of <i>name value</i> pairs on successive +lines. +<ul><li><i>name</i> is an unquoted, literal string without whitespace.</li> +<li><i>value</i> is a Perl expression that will be evaluated. If it's a +literal string, it must be quoted. This expression has access to the +svc_broadband object as '$svc_x' (or '$new' and '$old' in "Replace Data") +and the customer record as '$cust_main'.</li></ul> +If "Success Regexp" is specified, the response from the server will be +tested against it to determine if the export succeeded.</p> +END +); + +1; |