--- test/html-webhacc/WebHACC/Input.pm 2008/08/14 09:16:52 1.7 +++ test/html-webhacc/WebHACC/Input.pm 2008/08/14 15:50:42 1.8 @@ -178,53 +178,7 @@ $out->end_section; } # generate_info_section -sub generate_transfer_sections ($$) { - my $self = shift; - my $result = shift; - - $self->generate_http_header_section ($result); -} # generate_transfer_sections - -sub generate_http_header_section ($$) { - my ($self, $result) = @_; - - return unless defined $self->{header_status_code} or - defined $self->{header_status_text} or - @{$self->{header_field} or []}; - - my $out = $result->output; - - $out->start_section (id => 'source-header', title => 'HTTP Header'); - $out->html (qq[
Note: Due to the limitation of the -network library in use, the content of this section might -not be the real header.
- -Status code | ]); - $out->start_tag ('td'); - $out->code ($self->{header_status_code}); - } - if (defined $self->{header_status_text}) { - $out->html (qq[||
---|---|---|
Status text | ]); - $out->start_tag ('td'); - $out->code ($self->{header_status_text}); - } - - for (@{$self->{header_field}}) { - $out->start_tag ('tr'); - $out->start_tag ('th', scope => 'row'); - $out->code ($_->[0]); - $out->start_tag ('td'); - $out->code ($_->[1]); - } - - $out->end_tag ('table'); - - $out->end_section; -} # generate_http_header_section +sub generate_transfer_sections ($$) { } package WebHACC::Input::HTTP; push our @ISA, 'WebHACC::Input'; @@ -266,6 +220,7 @@ unless ($self->host_permit->check ($url_o->uri_host, $url_o->uri_port || 80)) { $self->{error_status_text} = 'Connection to the host is forbidden'; + bless $self, 'WebHACC::Input::Error'; return $self; } @@ -320,6 +275,56 @@ return $self; } # _get_document +sub generate_transfer_sections ($$) { + my $self = shift; + my $result = shift; + + $result->layer_uncertain ('transfer'); + + $self->generate_http_header_section ($result); +} # generate_transfer_sections + +sub generate_http_header_section ($$) { + my ($self, $result) = @_; + + return unless defined $self->{header_status_code} or + defined $self->{header_status_text} or + @{$self->{header_field} or []}; + + my $out = $result->output; + + $out->start_section (id => 'source-header', title => 'HTTP Header'); + $out->html (qq[
Status code | ]); + $out->start_tag ('td'); + $out->code ($self->{header_status_code}); + } + if (defined $self->{header_status_text}) { + $out->html (qq[
---|
Status text | ]); + $out->start_tag ('td'); + $out->code ($self->{header_status_text}); + } + + for (@{$self->{header_field}}) { + $out->start_tag ('tr'); + $out->start_tag ('th', scope => 'row'); + $out->code ($_->[0]); + $out->start_tag ('td'); + $out->code ($_->[1]); + } + + $out->end_tag ('table'); + + $out->end_section; +} # generate_http_header_section + package WebHACC::Input::Text; push our @ISA, 'WebHACC::Input'; @@ -424,13 +429,11 @@ sub generate_transfer_sections ($$) { my $self = shift; - - $self->SUPER::generate_transfer_sections (@_); my $result = shift; my $out = $result->output; - $out->start_section (id => 'transfer-errors', title => 'Transfer Errors'); + $out->start_section (role => 'transfer-errors'); $out->start_tag ('dl'); $result->add_error (layer => 'transfer', @@ -446,6 +449,16 @@ package WebHACC::Input::HTTPError; push our @ISA, 'WebHACC::Input::Error', 'WebHACC::Input::HTTP'; +sub generate_transfer_sections ($$) { + my $self = shift; + + my $result = shift; + + $self->WebHACC::Input::Error->generate_transfer_sections ($result); + $self->WebHACC::Input::HTTP->generate_transfer_sections ($result); + +} # generate_transfer_sections + package WebHACC::Input::UnsupportedURLSchemeError; push our @ISA, 'WebHACC::Input::Error';