+sub new {
+ my ($class, $opts) = @_;
+ my $v = $opts->{address} ||= 'public-inbox@example.com';
+ my $p = $opts->{-primary_address} = ref($v) eq 'ARRAY' ? $v->[0] : $v;
+ $opts->{domain} = ($p =~ /\@(\S+)\z/) ? $1 : 'localhost';
+ my $pi_config = delete $opts->{-pi_config};
+ _set_limiter($opts, $pi_config, 'httpbackend');
+ _set_uint($opts, 'feedmax', 25);
+ $opts->{nntpserver} ||= $pi_config->{'publicinbox.nntpserver'};
+ bless $opts, $class;
+}
+