/[suikacvs]/test/cvs
Suika

Diff of /test/cvs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by wakaba, Wed Mar 13 14:47:07 2002 UTC revision 1.4 by wakaba, Sat Mar 16 08:54:39 2002 UTC
# Line 48  when C<stringify>.  (Default = 0) Line 48  when C<stringify>.  (Default = 0)
48    capitalize    => 1,    capitalize    => 1,
49    fold_length   => 70,    fold_length   => 70,
50    mail_from     => 0,    mail_from     => 0,
51      field_type    => {_DEFAULT => 'Message::Field::Unstructured'},
52  );  );
53    my @field_type_Structured = qw(cancel-lock content-language
54      content-transfer-encoding
55      encrypted importance mime-version precedence user-agent x-cite
56      x-face x-mail-count
57      x-msmail-priority x-priority x-uidl xref);
58    for (@field_type_Structured)
59      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
60    my @field_type_Address = qw(approved bcc cc delivered-to envelope-to
61      errors-to from mail-followup-to reply-to resent-bcc
62      resent-cc resent-to resent-from resent-sender return-path
63      return-receipt-to sender to x-approved x-beenthere
64      x-complaints-to x-envelope-from x-envelope-sender
65      x-envelope-to x-ml-address x-ml-command x-ml-to);
66    for (@field_type_Address)
67      {$DEFAULT{field_type}->{$_} = 'Message::Field::Address'}
68    my @field_type_Date = qw(date date-received delivery-date expires
69      expire-date nntp-posting-date posted reply-by resent-date x-tcup-date);
70    for (@field_type_Date)
71      {$DEFAULT{field_type}->{$_} = 'Message::Field::Date'}
72    my @field_type_MsgID = qw(content-id in-reply-to message-id
73      references resent-message-id supersedes);
74    for (@field_type_MsgID)
75      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
76    my @field_type_Received = qw(received x-received);
77    for (@field_type_Received)
78      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
79    my @field_type_Param = qw(content-disposition content-type
80      x-brother x-daughter x-face-type x-respect x-moe
81      x-syster x-wife);
82    for (@field_type_Param)
83      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
84    my @field_type_URI = qw(list-archive list-help list-owner
85      list-post list-subscribe list-unsubscribe uri url x-home-page x-http_referer
86      x-info x-pgp-key x-ml-url x-uri x-url x-web);
87    for (@field_type_URI)
88      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
89    my @field_type_ListID = qw(list-id);
90    for (@field_type_ListID)
91      {$DEFAULT{field_type}->{$_} = 'Message::Field::Structured'}
92    
93  =head2 Message::Header->new ([%option])  =head2 Message::Header->new ([%option])
94    
# Line 106  sub field ($$) { Line 146  sub field ($$) {
146    for my $field (@{$self->{field}}) {    for my $field (@{$self->{field}}) {
147      if ($field->{name} eq $name) {      if ($field->{name} eq $name) {
148        unless (wantarray) {        unless (wantarray) {
149          return $field->{body};          return $self->_field_body ($field->{body}, $name);
150        } else {        } else {
151          push @ret, $field->{body};          push @ret, $self->_field_body ($field->{body}, $name);
152        }        }
153      }      }
154    }    }
# Line 131  sub field_name ($$) { Line 171  sub field_name ($$) {
171  }  }
172  sub field_body ($$) {  sub field_body ($$) {
173    my $self = shift;    my $self = shift;
174    $self->{field}->[shift]->{body};    my $i = shift;
175      $self->_field_body ($self->{field}->[$i]->{body}, $self->{field}->[$i]->{name});
176    }
177    
178    sub _field_body ($$$) {
179      my $self = shift;
180      my ($body, $name) = @_;
181      if (ref $body) {
182        return $body;
183      } else {
184        my $type = $self->{option}->{field_type}->{$name}
185                || $self->{option}->{field_type}->{_DEFAULT};
186        eval "use $type";
187        return $type->parse ($body);
188      }
189  }  }
190    
191  =head2 $self->field_name_list ()  =head2 $self->field_name_list ()
# Line 283  sub set_option ($$$) { Line 337  sub set_option ($$$) {
337    $self;    $self;
338  }  }
339    
340    sub field_type ($$;$) {
341      my $self = shift;
342      my $field_name = shift;
343      my $new_field_type = shift;
344      if ($new_field_type) {
345        $self->{option}->{field_type}->{$field_name} = $new_field_type;
346      }
347      $self->{option}->{field_type}->{$field_name}
348      || $self->{option}->{field_type}->{_DEFAULT};
349    }
350    
351  sub _delete_empty_field ($) {  sub _delete_empty_field ($) {
352    my $self = shift;    my $self = shift;
353    my @ret;    my @ret;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24