aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/Open311.pm
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2018-04-17 10:53:53 +0100
committerStruan Donald <struan@exo.org.uk>2018-04-17 16:53:16 +0100
commitee28ece4c42d87dc45f5bda2aafb860c2eb317e7 (patch)
tree3ba6d05a60634ba821031650ec530539d1cfba14 /perllib/Open311.pm
parent193811edee2c42dcdb8d2d5cb18ed6dfaa92f5e9 (diff)
[Open311] avoid spurious warning when params are undef
If there was an undefined parameter passed to `_post` then generating the debug string would generate a warning about an undefined value in a concatenation. So, check for undefined params and substitute empty string to avoid.
Diffstat (limited to 'perllib/Open311.pm')
-rw-r--r--perllib/Open311.pm19
1 files changed, 17 insertions, 2 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index 4ec0679af..dc40076db 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -418,6 +418,21 @@ sub split_name {
return ( $first, $last );
}
+sub _params_to_string {
+ my( $self, $params, $request_string ) = @_;
+
+ my $undefined;
+
+ my $string = join("\n", map {
+ $undefined .= "$_ undefined\n" unless defined $params->{$_};
+ "$_: " . ( $params->{$_} // '' );
+ } keys %$params);
+
+ warn "$request_string $undefined $string" if $undefined;
+
+ return $string;
+}
+
sub _get {
my $self = shift;
my $path = shift;
@@ -432,7 +447,7 @@ sub _get {
$uri->query_form( $params );
my $debug_request = "GET " . $base_uri->as_string . "\n\n";
- $debug_request .= join("\n", map { "$_: $params->{$_}" } keys %$params);
+ $debug_request .= $self->_params_to_string($params, $debug_request);
$self->debug_details( $self->debug_details . $debug_request );
my $content;
@@ -480,7 +495,7 @@ sub _post {
my $req = POST $uri->as_string, $params;
my $debug_request = $req->method . ' ' . $uri->as_string . "\n\n";
- $debug_request .= join("\n", map { "$_: $params->{$_}" } keys %$params);
+ $debug_request .= $self->_params_to_string($params, $debug_request);
$self->debug_details( $self->debug_details . $debug_request );
my $ua = LWP::UserAgent->new();