$| = 1;
select(STDOUT);
-umask 0022;
+umask 0027; # analysis.json should not be served to users.
# open the chess engine
my $engine = open_engine($remoteglotconf::engine_cmdline, 'E1', sub { handle_uci(@_, 1); });
);
}
if (defined($remoteglotconf::target)) {
- if ($remoteglotconf::target =~ /^http:/) {
+ if ($remoteglotconf::target =~ /^https?:/) {
fetch_pgn($remoteglotconf::target);
} elsif (defined($t)) {
$t->cmd("observe $remoteglotconf::target");
sub prettyprint_pv {
my ($pos, @pvs) = @_;
- my $cachekey = $pos->{'fen'} . join('', @pvs);
+ my $cachekey = $pos->fen() . join('', @pvs);
if (exists($pos->{'prettyprint_cache'}{$cachekey})) {
return @{$pos->{'prettyprint_cache'}{$cachekey}};
} else {
if (defined($remoteglotconf::engine_details)) {
$json->{'engine'}{'details'} = $remoteglotconf::engine_details;
}
+ my @grpc_backends = ();
+ if (defined($remoteglotconf::engine_grpc_backend)) {
+ push @grpc_backends, $remoteglotconf::engine_grpc_backend;
+ }
+ if (defined($remoteglotconf::engine2_grpc_backend)) {
+ push @grpc_backends, $remoteglotconf::engine2_grpc_backend;
+ }
+ $json->{'internal'}{'grpc_backends'} = \@grpc_backends;
if (defined($remoteglotconf::move_source)) {
$json->{'move_source'} = $remoteglotconf::move_source;
}