diff options
Diffstat (limited to 'perllib/Open311.pm')
-rw-r--r-- | perllib/Open311.pm | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm index a65e19fa6..dc40076db 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -126,7 +126,7 @@ sub _populate_service_request_params { $description = $problem->detail; } - my ( $firstname, $lastname ) = ( $problem->name =~ /(\w+)\.?\s+(.+)/ ); + my ( $firstname, $lastname ) = $self->split_name( $problem->name ); my $params = { description => $description, @@ -338,7 +338,7 @@ sub _populate_service_request_update_params { my $comment = shift; my $name = $comment->name || $comment->user->name; - my ( $firstname, $lastname ) = ( $name =~ /(\w+)\.?\s+(.+)/ ); + my ( $firstname, $lastname ) = $self->split_name( $name ); $lastname ||= '-'; # fall back to problem state as it's probably correct @@ -410,6 +410,29 @@ sub _populate_service_request_update_params { return $params; } +sub split_name { + my ( $self, $name ) = @_; + + my ( $first, $last ) = ( $name =~ /(\w+)(?:\.?\s+(.+))?/ ); + + 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; @@ -424,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; @@ -472,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(); |