The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#
# Copyright (c) 2019 cPanel, L.L.C.
# All rights reserved.
#
# Distributed under the terms of the MIT license. See the LICENSE file for
# further details.
#
use strict;
sub generate {
my ($class, %opts) = @_;
$opts{'responses'} ||= [];
return bless {
'requests' => [],
'responses' => $opts{'responses'}
}, $class;
}
sub new ($%) {
shift;
}
sub request ($$) {
my ($self, $request) = @_;
push @{$self->{'requests'}}, $request;
#
# Keep tossing out responses until we get the very last one on the list,
# so that any tests that make any requests are guaranteed to get at least
# one response.
#
my $response = $self->{'responses'}->[0];
shift @{$self->{'responses'}} if @{$self->{'responses'}} > 1;
return $response;
}
1;