in lib/Search/Elasticsearch/Client/8_0/Role/Bulk.pm [177:214]
sub _report {
#===================================
my ( $self, $buffer, $results ) = @_;
my $on_success = $self->on_success;
my $on_error = $self->on_error;
my $on_conflict = $self->on_conflict;
# assume errors if key not present, bwc
$results->{errors} = 1 unless exists $results->{errors};
return
unless $on_success
|| ( $results->{errors} and $on_error || $on_conflict );
my $serializer = $self->_serializer;
my $j = 0;
for my $item ( @{ $results->{items} } ) {
my ( $action, $result ) = %$item;
my @args = ($action);
if ( my $error = $result->{error} ) {
if ($on_conflict) {
my ( $is_conflict, $version )
= $self->_is_conflict_error($error);
if ($is_conflict) {
$on_conflict->( $action, $result, $j, $version );
next;
}
}
$on_error && $on_error->( $action, $result, $j );
}
else {
$on_success && $on_success->( $action, $result, $j );
}
$j++;
}
}