56 |
## Initialize |
## Initialize |
57 |
my %DEFAULT = ( |
my %DEFAULT = ( |
58 |
capitalize => 1, |
capitalize => 1, |
59 |
|
fold => 1, |
60 |
fold_length => 70, |
fold_length => 70, |
61 |
|
field_format_pattern => '%s: %s', |
62 |
#field_type => {}, |
#field_type => {}, |
63 |
format => 'mail-rfc2822', |
format => 'mail-rfc2822', |
64 |
mail_from => 0, |
mail_from => 0, |
75 |
'x-received' => 'Message::Field::Received', |
'x-received' => 'Message::Field::Received', |
76 |
|
|
77 |
'content-type' => 'Message::Field::ContentType', |
'content-type' => 'Message::Field::ContentType', |
|
'content-disposition' => 'Message::Field::ContentDisposition', |
|
78 |
'auto-submitted' => 'Message::Field::ValueParams', |
'auto-submitted' => 'Message::Field::ValueParams', |
79 |
|
'content-disposition' => 'Message::Field::ValueParams', |
80 |
link => 'Message::Field::ValueParams', |
link => 'Message::Field::ValueParams', |
81 |
archive => 'Message::Field::ValueParams', |
archive => 'Message::Field::ValueParams', |
82 |
'x-face-type' => 'Message::Field::ValueParams', |
'x-face-type' => 'Message::Field::ValueParams', |
189 |
if $#new_fields > -1; |
if $#new_fields > -1; |
190 |
|
|
191 |
my $format = $self->{option}->{format}; |
my $format = $self->{option}->{format}; |
192 |
if ($format =~ /^cgi/) { |
if ($format =~ /cgi/) { |
193 |
unshift @header_order, qw(content-type location); |
unshift @header_order, qw(content-type location); |
194 |
$self->{option}->{sort} = 'good-practice'; |
$self->{option}->{sort} = 'good-practice'; |
195 |
|
$self->{option}->{fold} = 0; |
196 |
} elsif ($format =~ /^http/) { |
} elsif ($format =~ /^http/) { |
197 |
$self->{option}->{sort} = 'good-practice'; |
$self->{option}->{sort} = 'good-practice'; |
198 |
} |
} |
620 |
$fbody =~ s/\x0D(?=[^\x09\x0A\x20])/\x0D\x20/g; |
$fbody =~ s/\x0D(?=[^\x09\x0A\x20])/\x0D\x20/g; |
621 |
$fbody =~ s/\x0A(?=[^\x09\x20])/\x0A\x20/g; |
$fbody =~ s/\x0A(?=[^\x09\x20])/\x0A\x20/g; |
622 |
$name =~ s/((?:^|-)[a-z])/uc($1)/ge if $option{capitalize}; |
$name =~ s/((?:^|-)[a-z])/uc($1)/ge if $option{capitalize}; |
623 |
push @ret, $name.': '.$self->fold ($fbody); |
$fbody = $self->_fold ($fbody) if $self->{option}->{fold}; |
624 |
|
push @ret, sprintf $self->{option}->{field_format_pattern}, $name, $fbody; |
625 |
}); |
}); |
626 |
my $ret = join ("\n", @ret); |
my $ret = join ("\n", @ret); |
627 |
$ret? $ret."\n": ''; |
$ret? $ret."\n": ''; |
673 |
$self; |
$self; |
674 |
} |
} |
675 |
|
|
676 |
sub fold ($$;$) { |
sub _fold ($$;$) { |
677 |
my $self = shift; |
my $self = shift; |
678 |
my $string = shift; |
my $string = shift; |
679 |
my $len = shift || $self->{option}->{fold_length}; |
my $len = shift || $self->{option}->{fold_length}; |