aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/Open311.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/Open311.pm')
-rw-r--r--perllib/Open311.pm31
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();