]> Sergey Matveev's repositories - public-inbox.git/blob - lib/PublicInbox/Spamcheck.pm
wwwstream: always show multi-line cloning instructions
[public-inbox.git] / lib / PublicInbox / Spamcheck.pm
1 # Copyright (C) 2018 all contributors <meta@public-inbox.org>
2 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
3 package PublicInbox::Spamcheck;
4 use strict;
5 use warnings;
6
7 sub get {
8         my ($config, $key, $default) = @_;
9         my $spamcheck = $config->{$key};
10         $spamcheck = $default unless $spamcheck;
11
12         return if !$spamcheck || $spamcheck eq 'none';
13
14         if ($spamcheck eq 'spamc') {
15                 $spamcheck = 'PublicInbox::Spamcheck::Spamc';
16         }
17         if ($spamcheck =~ /::/) {
18                 eval "require $spamcheck";
19                 return $spamcheck->new;
20         }
21         warn "unsupported $key=$spamcheck\n";
22         undef;
23 }
24
25 1;