projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d449696
)
SureTax: use less memory, provide additional debugging, RT#76987
author
Ivan Kohler
<ivan@freeside.biz>
Tue, 15 Aug 2017 15:04:16 +0000
(08:04 -0700)
committer
Ivan Kohler
<ivan@freeside.biz>
Tue, 15 Aug 2017 15:04:16 +0000
(08:04 -0700)
FS/FS/TaxEngine/suretax.pm
patch
|
blob
|
history
diff --git
a/FS/FS/TaxEngine/suretax.pm
b/FS/FS/TaxEngine/suretax.pm
index
1a00cda
..
fe8764b
100644
(file)
--- 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
# $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;
our %taxproduct_cache;
@@
-328,13
+328,14
@@
sub make_taxlines {
return;
}
return;
}
- warn "
sen
ding SureTax request\n" if $DEBUG;
+ warn "
enco
ding 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';
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)
# 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',
);
'Accept' => 'application/json',
);
+ warn "received SureTax response\n" if $DEBUG;
my $raw_response = $http_response->content;
my $raw_response = $http_response->content;
- warn "received response\n" if $DEBUG;
warn $raw_response if $DEBUG > 2;
my $response;
if ( $raw_response =~ /^<\?xml/ ) {
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};
}
$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";
$response = eval { $json->decode($raw_response) }
or die "$raw_response\n";
@@
-375,6
+378,7
@@
sub make_taxlines {
}
return if !$response->{GroupList};
}
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
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;
}
return @elements;
}