%# BEGIN LICENSE BLOCK;
%# 
%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
%# 
%# (Except where explictly superceded by other copyright notices)
%# 
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%# 
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%# General Public License for more details.
%# 
%# Unless otherwise specified, all modifications, corrections or
%# extensions to this work which alter its source code become the
%# property of Best Practical Solutions, LLC when submitted for
%# inclusion in the work.
%# 
%# 
%# END LICENSE BLOCK
% use Data::Dumper;
<table>
% foreach my $header (@headers) {
% next unless ($display_headers{'_all'} || $display_headers{lc($header->{'Tag'})});
<tr>
<td align="right" class="message-header-key"><pre><%$header->{'Tag'}%>:</pre></td>
<td class="message-header-value"><%$header->{'Value'}%></td>
</td>
</tr>
% }
</table>
<%INIT>
my $content = $Headers;
$m->comp('/Elements/Callback', content => \$content, %ARGS);


my @lines = split (/\n/,$content);
my $in_header = 0;
my @headers =();
foreach (@lines) {
    if (/^(\S+):\s+(.*)$/) {
        push (@headers, { Tag => $1, Value => $2} ); 
    } elsif ($headers[-1]) {
        $headers[-1]->{'Value'} .= $_;
    } else {

        push (@headers, { Tag => $_, Value => ''} ); 
    }

}

my %display_headers;

map { $display_headers{lc($_)} = 1 } @$DisplayHeaders;


</%INIT>
<%ARGS>
$Headers => undef
$DisplayHeaders => undef
</%ARGS>
