--- trunk/lib/Frey/Web.pm 2008/11/18 00:55:23 392
+++ trunk/lib/Frey/Web.pm 2008/11/18 16:39:13 417
@@ -1,6 +1,8 @@
package Frey::Web;
use Moose::Role;
+#with 'Frey::Escape';
+
use Frey::Types;
use Continuity::Widget::DomNode;
@@ -8,6 +10,9 @@
use Carp qw/confess/;
use File::Slurp;
+use Frey::Bookmarklet;
+use Frey::ClassBrowser;
+
has 'head' => (
is => 'rw',
isa => 'ArrayRef[Str]',
@@ -19,8 +24,8 @@
isa => 'ArrayRef[HashRef[Str]]',
lazy => 1,
default => sub { [
- { 'Bookmarklets' => Frey::Bookmarklet->markup },
- { 'ClassBrowser' => Frey::ClassBrowser->markup },
+ { 'Bookmarklets' => Frey::Bookmarklet->new->markup },
+ { 'ClassBrowser' => Frey::ClassBrowser->new->markup },
] },
);
@@ -113,9 +118,6 @@
=cut
-use Frey::Bookmarklet;
-use Frey::ClassBrowser;
-
sub page {
my $self = shift;
my $a = {@_};
@@ -124,15 +126,18 @@
my $status_line = '';
foreach my $part ( @{ $self->status } ) {
+ confess "part not hash ",dump( $part ) unless ref($part) eq 'HASH';
foreach my $name ( keys %$part ) {
my $content = $part->{$name};
if ( ref($content) ) {
- $content = '' . dump( $content ) . '
';
+ $content = '' . dump($content) . '
';
+ my $l = length($content);
+ $content = qq|$l bytes| if $l > 1024;
} else {
$content = qq|$content|;
}
warn "### part [$name] = ", length( $content ), " bytes" if $self->debug;
- $status_line .= qq|$name $content|;
+ $status_line .= qq|$name $content\n|;
}
}
@@ -160,11 +165,13 @@
}
sub error {
- my ( $self, $error ) = @_;
+ my $self = shift;
+ my $error = join(" ", @_);
my ($package, $filename, $line) = caller;
- $error .= " at $filename line $line";
+ $error .= " at $filename line $line" if $error !~ m{ at };
warn "WARN: $error\n";
- $error =~ s{at\s+(\S+)\s+line\s+(\d+)}{at $1 line $2}gsm;
+ $error =~ s{at\s+(\S+)\s+line\s+(\d+)}{at $1 line $2}gsm;
+ $error =~ s{(via package ")([\w:]+)(")}{$1$2$3}gsm;
return qq|
$error|; }