--- test/html-webhacc/cc.cgi 2007/07/16 08:38:48 1.10 +++ test/html-webhacc/cc.cgi 2008/03/16 11:38:47 1.41 @@ -1,13 +1,12 @@ #!/usr/bin/perl use strict; +use utf8; use lib qw[/home/httpd/html/www/markup/html/whatpm - /home/wakaba/work/manakai/lib - /home/wakaba/public_html/-temp/wiki/lib]; + /home/wakaba/work/manakai2/lib]; use CGI::Carp qw[fatalsToBrowser]; use Scalar::Util qw[refaddr]; - -use SuikaWiki::Input::HTTP; ## TODO: Use some better CGI module +use Time::HiRes qw/time/; sub htescape ($) { my $s = $_[0]; @@ -15,28 +14,30 @@ $s =~ s/</g; $s =~ s/>/>/g; $s =~ s/"/"/g; - $s =~ s!([\x00-\x09\x0B-\x1F\x7F-\x80])!sprintf 'U+%04X', ord $1!ge; + $s =~ s{([\x00-\x09\x0B-\x1F\x7F-\xA0\x{FEFF}\x{FFFC}-\x{FFFF}])}{ + sprintf 'U+%04X', ord $1; + }ge; return $s; } # htescape -my $http = SuikaWiki::Input::HTTP->new; - -## TODO: _charset_ + my @nav; + my %time; + require Message::DOM::DOMImplementation; + my $dom = Message::DOM::DOMImplementation->new; +{ + use Message::CGI::HTTP; + my $http = Message::CGI::HTTP->new; - if ($http->meta_variable ('PATH_INFO') ne '/') { + if ($http->get_meta_variable ('PATH_INFO') ne '/') { print STDOUT "Status: 404 Not Found\nContent-Type: text/plain; charset=us-ascii\n\n400"; exit; } - require Message::DOM::DOMImplementation; - my $dom = Message::DOM::DOMImplementation->new; - - my $input = get_input_document ($http, $dom); - my $inner_html_element = $http->parameter ('e'); + binmode STDOUT, ':utf8'; + $| = 1; load_text_catalog ('en'); ## TODO: conneg - my @nav; print STDOUT qq[Content-Type: text/html; charset=utf-8 @@ -46,324 +47,649 @@
-<@{[htescape $input->{request_uri}]}>
<@{[htescape $input->{uri}]}>
<@{[htescape $input->{uri}]}>
+ <@{[htescape $input->{base_uri}]}>
@{[htescape $input->{media_type}]}
- @{[$input->{media_type_overridden} ? '(overridden)' : '']}'.htescape ($input->{official_type}).'
)' : '(sniffed)']}
'.htescape ($input->{charset}).'
' : '(none)']}
@{[$input->{charset_overridden} ? '(overridden)' : '']}