diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-08-15 08:04:09 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-08-15 08:04:09 -0700 |
commit | c878d776eb79d9948de3a25594eae55a26858d41 (patch) | |
tree | 0a0135697761188a53a12b59269ef33a97d8fd47 /FS | |
parent | 77e830e5864c15c84aadbc55a478f34a1957328b (diff) |
SureTax: use less memory, provide additional debugging, RT#76987
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/TaxEngine/suretax.pm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/FS/FS/TaxEngine/suretax.pm b/FS/FS/TaxEngine/suretax.pm index 1a00cda..fe8764b 100644 --- a/FS/FS/TaxEngine/suretax.pm +++ b/FS/FS/TaxEngine/suretax.pm @@ -14,7 +14,7 @@ our $DEBUG = 1; # prints progress messages # $DEBUG = 2; # prints decoded request and response (noisy, be careful) # $DEBUG = 3; # prints raw response from the API, ridiculously unreadable -our $json = Cpanel::JSON::XS->new->pretty(1); +our $json = Cpanel::JSON::XS->new->pretty(0)->shrink(1); our %taxproduct_cache; @@ -328,13 +328,14 @@ sub make_taxlines { return; } - warn "sending SureTax request\n" if $DEBUG; + warn "encoding SureTax request\n" if $DEBUG; my $request_json = $json->encode($request); warn $request_json if $DEBUG > 1; my $host = $conf->config('suretax-hostname'); $host ||= 'testapi.taxrating.net'; + warn "sending SureTax request\n" if $DEBUG; # We are targeting the "V05" interface: # - accepts both telecom and general sales transactions # - produces results broken down by "invoice" (Freeside line item) @@ -346,8 +347,8 @@ sub make_taxlines { 'Accept' => 'application/json', ); + warn "received SureTax response\n" if $DEBUG; my $raw_response = $http_response->content; - warn "received response\n" if $DEBUG; warn $raw_response if $DEBUG > 2; my $response; if ( $raw_response =~ /^<\?xml/ ) { @@ -356,6 +357,8 @@ sub make_taxlines { $response = XMLin( $raw_response ); $raw_response = $response->{content}; } + + warn "decoding SureTax response\n" if $DEBUG; $response = eval { $json->decode($raw_response) } or die "$raw_response\n"; @@ -375,6 +378,7 @@ sub make_taxlines { } return if !$response->{GroupList}; + warn "creating FS objects from SureTax data\n" if $DEBUG; foreach my $taxable ( @{ $response->{GroupList} } ) { # each member of this array here corresponds to what SureTax calls an # "invoice" and we call a "line item". The invoice number is @@ -420,6 +424,7 @@ sub make_taxlines { }); } } + warn "TaxEngine/suretax.pm make_taxlines done; returning FS objects\n" if $DEBUG; return @elements; } |