site: use promise interfaces for Mojo::UserAgent

This commit is contained in:
Lucas Gabriel Vuotto 2025-04-26 17:16:39 +00:00
parent 1a0a224edc
commit e178a261e6
3 changed files with 11 additions and 10 deletions

View file

@ -21,7 +21,7 @@ sub list ($self)
my $endpoint = $self->api_v0_url->path("media") my $endpoint = $self->api_v0_url->path("media")
->query(page => $page, tags => $tags); ->query(page => $page, tags => $tags);
$self->ua->get($endpoint, sub ($ua, $tx) { $self->ua->get_p($endpoint)->then(sub ($tx) {
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
@ -34,12 +34,13 @@ sub list ($self)
media_src => $self->url_for_file( media_src => $self->url_for_file(
$self->storage->get($_->{id})), $self->storage->get($_->{id})),
}, $json->{media}->@*; }, $json->{media}->@*;
$self->stash(pager => $json->{pager}); $self->stash(pager => $json->{pager});
return $self->render( return $self->render(
template => "gallery", template => "gallery",
media => [@media], media => [@media],
); );
}); })->wait;
} }
sub show ($self) sub show ($self)
@ -57,7 +58,7 @@ sub show ($self)
my $endpoint = $self->api_v0_url->path("media/$media_id") my $endpoint = $self->api_v0_url->path("media/$media_id")
->query(page => $page); ->query(page => $page);
$self->ua->get($endpoint, sub ($ua, $tx) { $self->ua->get_p($endpoint)->then(sub ($tx) {
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
@ -84,7 +85,7 @@ sub show ($self)
}, },
tags => [@tags], tags => [@tags],
); );
}); })->wait;
} }
1; 1;

View file

@ -6,7 +6,7 @@ sub media ($self)
$self->render_later; $self->render_later;
my $endpoint = $self->api_v0_url->path("random/media"); my $endpoint = $self->api_v0_url->path("random/media");
$self->ua->get($endpoint, sub ($ua, $tx) { $self->ua->get_p($endpoint)->then(sub ($tx) {
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
@ -14,7 +14,7 @@ sub media ($self)
return $self->redirect_to("show_media", return $self->redirect_to("show_media",
media_id => $tx->res->json->{id}); media_id => $tx->res->json->{id});
}); })->wait;
} }
sub tag ($self) sub tag ($self)
@ -22,7 +22,7 @@ sub tag ($self)
$self->render_later; $self->render_later;
my $endpoint = $self->api_v0_url->path("random/tag"); my $endpoint = $self->api_v0_url->path("random/tag");
$self->ua->get($endpoint, sub ($ua, $tx) { $self->ua->get_p($endpoint)->then(sub ($tx) {
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
@ -32,7 +32,7 @@ sub tag ($self)
my $url = $self->url_for("list_media") my $url = $self->url_for("list_media")
->query(tags => $tags[int(rand(@tags))]->{display}); ->query(tags => $tags[int(rand(@tags))]->{display});
return $self->redirect_to($url); return $self->redirect_to($url);
}); })->wait;
} }
1; 1;

View file

@ -13,7 +13,7 @@ sub list ($self)
$self->render_later; $self->render_later;
my $endpoint = $self->api_v0_url->path("tags")->query(page => $page); my $endpoint = $self->api_v0_url->path("tags")->query(page => $page);
$self->ua->get($endpoint, sub ($ua, $tx) { $self->ua->get_p($endpoint)->then(sub ($tx) {
return $self->render( return $self->render(
text => "Backend error.", text => "Backend error.",
status => 500, status => 500,
@ -32,7 +32,7 @@ sub list ($self)
template => "tags", template => "tags",
tags => [@tags], tags => [@tags],
); );
}); })->wait;
} }
1; 1;