Archive-Har
view release on metacpan or search on metacpan
lib/Archive/Har/Entry.pm view on Meta::CPAN
if ( defined $params->{serverIPAddress} ) {
$self->server_ip_address( $params->{serverIPAddress} );
}
if ( defined $params->{connection} ) {
$self->connection( $params->{connection} );
}
if ( defined $params->{comment} ) {
$self->comment( $params->{comment} );
}
foreach my $key ( sort { $a cmp $b } keys %{$params} ) {
if ( $key =~ /^_[[:alnum:]]+$/smx ) { # private fields
$self->$key( $params->{$key} );
}
}
}
return $self;
}
sub pageref {
my ( $self, $new ) = @_;
my $old = $self->{pageref};
if ( @_ > 1 ) {
$self->{pageref} = $new;
}
return $old;
}
sub started_date_time {
my ( $self, $new ) = @_;
my $old = $self->{startedDateTime};
if ( @_ > 1 ) {
if ( defined $new ) {
my $date_regex = qr/\d{4}[-]\d{2}[-]\d{2}/smx;
my $time_regex = qr/\d{2}:\d{2}:\d{2}[.]\d+/smx;
my $zone_regex = qr/(?:[+]\d{2}:\d{2}|Z)/smx;
if ( $new =~ /^${date_regex}T${time_regex}${zone_regex}$/smx ) {
$self->{startedDateTime} = $new;
}
else {
Carp::croak('started_date_time is not formatted correctly');
}
}
else {
$self->{startedDateTime} = '0000-00-00T00:00:00.0+00:00';
}
}
if ( ( defined $old ) && ( $old eq '0000-00-00T00:00:00.0+00:00' ) ) {
return;
}
else {
return $old;
}
}
sub time {
my ($self) = @_;
my $timings = $self->timings();
my $total = 0;
my $found = 0;
foreach my $timing (
$timings->blocked(), $timings->dns(),
$timings->connect(), $timings->send(),
$timings->wait(), $timings->receive(),
$timings->ssl(),
)
{
if ( defined $timing ) {
$found = 1;
$total += $timing;
}
}
if ($found) {
return $total;
}
else {
return _DOES_NOT_APPLY();
}
}
sub request {
my ( $self, $new ) = @_;
my $old = $self->{request};
if ( @_ > 1 ) {
$self->{request} = $new;
}
if ( defined $old ) {
return $old;
}
else {
return Archive::Har::Entry::Request->new();
}
}
sub response {
my ( $self, $new ) = @_;
my $old = $self->{response};
if ( @_ > 1 ) {
$self->{response} = $new;
}
if ( defined $old ) {
return $old;
}
else {
return Archive::Har::Entry::Response->new();
}
}
sub cache {
my ( $self, $new ) = @_;
my $old = $self->{cache};
if ( @_ > 1 ) {
$self->{cache} = $new;
}
if ( defined $old ) {
return $old;
}
else {
return Archive::Har::Entry::Cache->new();
}
}
( run in 1.391 second using v1.01-cache-2.11-cpan-d06a3f9ecfd )