TT#68300 NGCP::API::Client: Fix verbose mode setting

We now initialize the user agent on construction, not on every request,
so the verbose mode needs to be setup there too. And it needs to support
both setting it up and tearing it down.

Change-Id: Ifa176522302db118f1702ee3b1c7ccd6b7cfabad
Fixes: commit 155873d532
changes/71/34271/2
Guillem Jover 6 years ago
parent bc3f7975fb
commit 4e3658c043

@ -67,17 +67,13 @@ sub _create_ua {
@{$self->{_opts}}{qw(auth_user auth_pass)});
}
if ($self->{_opts}{verbose}) {
$ua->show_progress(1);
$ua->add_handler("request_send", sub { shift->dump; return });
$ua->add_handler("response_done", sub { shift->dump; return });
}
$ua->timeout($self->{_opts}{read_timeout});
$self->{_ua} = $ua;
$self->{_urlbase} = $urlbase;
$self->set_verbose($self->{_opts}{verbose});
return ($ua, $urlbase);
}
@ -189,6 +185,14 @@ sub set_page_rows {
sub set_verbose {
my ($self, $verbose) = @_;
$self->{_ua}->show_progress($verbose);
my $handler_op = $verbose ? 'add_handler' : 'remove_handler';
foreach my $phase (qw(request_send response_done)) {
$self->{_ua}->$handler_op($phase, sub { shift->dump; return },
owner => 'NGCP::API::Client::set_verbose');
}
$self->{_opts}{verbose} = $verbose // 0;
return;

Loading…
Cancel
Save