use strict;
use warnings;
use JSON::PP;
use DBI qw(:utils);
use Zonemaster::Backend::Config;
use Zonemaster::Backend::DB::SQLite;
my $config = Zonemaster::Backend::Config->load_config();
if ( $conf
y $row = $sth1->fetchrow_hashref ) {
my $id = $row->{id};
my $raw_params = decode_json($row->{params});
my $ds_info_values = scalar grep !/^$/, map { values %$_ } @{$raw_params
use strict;
use warnings;
use List::MoreUtils qw(zip_unflatten);
use JSON::PP;
use Try::Tiny;
use File::Temp qw(tempfile);
use Encode qw(find_encoding);
use Zonemaster::Backend::Config;
use Zonemast
unt to your needs
sub _update_data_result_entries {
my ( $dbh, $row_count ) = @_;
my $json = JSON::PP->new->allow_blessed->convert_blessed->canonical;
# update only jobs with results
= @$row;
next unless $results;
my @records;
my $entries = $json->decode( $results );
foreach my $m ( @$entries ) {
my $module = $mod
estAgent;
our $VERSION = '1.1.0';
use strict;
use warnings;
use 5.14.2;
use DBI qw(:utils);
use JSON::PP;
use Scalar::Util qw( blessed );
use File::Slurp;
use Locale::TextDomain qw[Zonemaster-Backen
strict;
use warnings;
package Zonemaster::Backend::Log;
use English qw( $PID );
use POSIX;
use JSON::PP;
use IO::Handle;
use Log::Any::Adapter::Util ();
use Carp;
use Data::Dumper;
use base qw(Log
flush(1);
if ( !exists $self->{formatter} ) {
if ( $self->{json} ) {
$self->{formatter} = \&format_json;
} else {
$self->{formatter} = \&format_text;
sg .= " Extra parameters: $data";
}
return $msg
}
sub format_json {
my ($self, $log_params) = @_;
my $js = JSON::PP->new;
$js->canonical( 1 );
return $js->encode( $log_para
use strict;
use warnings;
use JSON::PP;
use Encode;
use DBI qw(:utils);
use Zonemaster::Backend::Config;
use Zonemaster::Backend::DB::PostgreSQL;
my $config = Zonemaster::Backend::Config->load_conf
$row->{params}) ) {
$raw_params = decode_json( encode_utf8 ( $row->{params} ) );
} else {
$raw_params = decode_json( $row->{params} );
}
my $ds_info_va
se 5.14.2;
use Exporter qw( import );
use File::Spec::Functions qw( file_name_is_absolute );
use JSON::Validator::Joi;
use Readonly;
use Locale::TextDomain qw[Zonemaster-Backend];
use Net::IP::XS;
us
sql|sqlite)$/i;
Readonly my $IPADDR_RE => qr/^$|$IPV4_RE|$IPV6_RE/;
Readonly my $JSONRPC_METHOD_RE => qr/^[a-z0-9_-]*$/i;
Readonly my $LANGUAGE_RE => qr/^[a-z]
Readonly my $BOOL_RE => qr/^$BOOL_TRUE_RE|$BOOL_FALSE_RE$/i;
sub joi {
return JSON::Validator::Joi->new;
}
sub new {
my ( $type ) = @_;
my $self = {};
bless( $self, $
(append_file);
use HTML::Entities;
use JSON::PP;
use JSON::Validator::Joi;
use Log::Any qw($log);
use Mojo::JSON::Pointer;
use Scalar::Util qw(blessed);
use JSON::Validator::Schema::Draft7;
use Locale
_validator = Zonemaster::Backend::Validator->new;
our %json_schemas;
my $recursor = Zonemaster::Engine::Recursor->new;
sub joi {
return JSON::Validator::Joi->new;
}
sub new {
my ( $type, $pa
{
$log->info($exception->as_string, $log_extra);
}
die $exception->as_hash;
}
$json_schemas{version_info} = joi->object->strict;
sub version_info {
my ( $self ) = @_;
my %v
use DBI qw(:sql_types);
use Digest::MD5 qw(md5_hex);
use Encode;
use Exporter qw( import );
use JSON::PP;
use Log::Any qw( $log );
use POSIX qw( strftime );
use Readonly;
use Try::Tiny;
use Zonemas
ted_at} = $self->to_iso8601( $result->{created_at} );
return $result;
}
# "$new_results" is JSON encoded
sub store_results {
my ( $self, $test_id, $new_results ) = @_;
my $rows_affected
$result->{params} = decode_json( $result->{params} );
@result_entries = map {
{
%$_,
args => decode_json( $_->{args} ),
}
use strict;
use warnings;
use List::Util qw(zip);
use JSON::PP;
use Try::Tiny;
use Zonemaster::Backend::Config;
use Zonemaster::Engine;
my $config = Zonemaster::Backend::Config->load_config();
my
unt to your needs
sub _update_data_result_entries {
my ( $dbh, $row_count ) = @_;
my $json = JSON::PP->new->allow_blessed->convert_blessed->canonical;
# update only jobs with results
= @$row;
next unless $results;
my @records;
my $entries = $json->decode( $results );
foreach my $m ( @$entries ) {
my $module = $mod
$VERSION = '1.1.0';
use Moose;
use 5.14.2;
use DBI qw(:utils);
use Digest::MD5 qw(md5_hex);
use JSON::PP;
use Zonemaster::Backend::Errors;
with 'Zonemaster::Backend::DB';
=head1 CLASS METHODS
=
$VERSION = '1.1.0';
use Moose;
use 5.14.2;
use DBI qw(:utils);
use Digest::MD5 qw(md5_hex);
use JSON::PP;
use Try::Tiny;
use Zonemaster::Backend::DB;
use Zonemaster::Backend::Errors;
with 'Zonemas
fingerprint varchar(32),
params json NOT NULL,
undelegated integer NOT NULL DEFAULT 0,
results json,
UNIQUE (hash_id)
)
ULL,
tag VARCHAR(255) NOT NULL,
timestamp REAL NOT NULL,
args JSONb NOT NULL,
CONSTRAINT fk_hash_id FOREIGN KEY (hash_id) REFERENCES test_results(hash_
$VERSION = '1.1.0';
use Moose;
use 5.14.2;
use DBI qw(:utils);
use Digest::MD5 qw(md5_hex);
use JSON::PP;
use Zonemaster::Backend::Validator qw( untaint_ipv6_address );
use Zonemaster::Backend::Err
ult profile.
Dies if any of the given paths cannot be read or their contents cannot be parsed
as JSON.
=cut
sub load_profiles {
my ( $class, %profile_paths ) = @_;
my %profiles;
foreac
$json = eval { read_file( $path, err_mode => 'croak' ) } #
// die "Error loading profile '$name': $@";
my $named_profile = eval { Zonemaster::Engine::Profile->from_json(
use strict;
use warnings;
use JSON::PP;
use DBI qw(:utils);
use Zonemaster::Backend::Config;
use Zonemaster::Backend::DB::MySQL;
my $config = Zonemaster::Backend::Config->load_config();
if ( $confi
y $row = $sth1->fetchrow_hashref ) {
my $id = $row->{id};
my $raw_params = decode_json($row->{params});
my $ds_info_values = scalar grep !/^$/, map { values %$_ } @{$raw_params