package Iodef::Pb::Simple::Plugin::Method;
use base 'Iodef::Pb::Simple::Plugin';
use strict;
use warnings;
sub process {
my $self = shift;
my $data = shift;
my $iodef = shift;
my $method = $data->{'method'} || $data->{'Method'};
return unless($method);
unless(ref($method) eq 'ARRAY' || ref($method) eq 'MethodType'){
$method =~ /([a-zA-Z0-9-]+\.[a-zA-Z0-9]{2,6})\//;
my $name = $1 || 'unknown';
$method = MethodType->new({
restriction => RestrictionType::restriction_type_need_to_know(),
Reference => ReferenceType->new({
ReferenceName => MLStringType->new({
lang => 'EN',
content => $name,
}),
URL => UrlType->new({
content => $method,
}),
Description => MLStringType->new({
lang => 'EN',
content => 'unknown',
}),
}),
});
}
my $incident = @{$iodef->get_Incident()}[0];
$incident->set_Method($method);
}
1;