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 )