diff options
author | Struan Donald <struan@exo.org.uk> | 2018-04-17 10:53:53 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2018-04-17 16:53:16 +0100 |
commit | ee28ece4c42d87dc45f5bda2aafb860c2eb317e7 (patch) | |
tree | 3ba6d05a60634ba821031650ec530539d1cfba14 /perllib/Open311.pm | |
parent | 193811edee2c42dcdb8d2d5cb18ed6dfaa92f5e9 (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.pm | 19 |
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(); |