/[Frey]/branches/zimbardo/lib/Frey/Web.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /branches/zimbardo/lib/Frey/Web.pm

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

revision 388 by dpavlin, Tue Nov 18 00:19:22 2008 UTC revision 398 by dpavlin, Tue Nov 18 02:14:40 2008 UTC
# Line 1  Line 1 
1  package Frey::Web;  package Frey::Web;
2  use Moose::Role;  use Moose::Role;
3    
4    #with 'Frey::Escape';
5    
6  use Frey::Types;  use Frey::Types;
7    
8  use Continuity::Widget::DomNode;  use Continuity::Widget::DomNode;
9  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
10  use Carp qw/confess cluck/;  use Carp qw/confess/;
11  use File::Slurp;  use File::Slurp;
12    
13  has 'head' => (  has 'head' => (
# Line 24  has 'status' => ( Line 26  has 'status' => (
26          ] },          ] },
27  );  );
28    
29  has 'urequest_url' => (  has 'request_url' => (
30          is => 'rw',          is => 'rw',
31          isa => 'Uri', coerce => 1,          isa => 'Uri', coerce => 1,
32          default => '/',          default => '/',
# Line 124  sub page { Line 126  sub page {
126    
127          my $status_line = '';          my $status_line = '';
128          foreach my $part ( @{ $self->status } ) {          foreach my $part ( @{ $self->status } ) {
129                    confess "part not hash ",dump( $part ) unless ref($part) eq 'HASH';
130                  foreach my $name ( keys %$part ) {                  foreach my $name ( keys %$part ) {
131                          warn "### part [$name] = ", length( $part->{name} ), " bytes" if $self->debug;                          my $content = $part->{$name};
132                          $status_line .= qq|<span class="frey-popup">$name<span>| . $part->{$name} . qq|</span></span>|;                          if ( ref($content) ) {
133                                    $content = '<code>' . dump($content) . '</code>';
134                                    my $l = length($content);
135                                    $content = qq|<span>$l bytes</span>| if $l > 1024;
136                            } else {
137                                    $content = qq|<span>$content</span>|;
138                            }
139                            warn "### part [$name] = ", length( $content ), " bytes" if $self->debug;
140                            $status_line .= qq|<span class="frey-popup">$name $content</span>\n|;
141                  }                  }
142          }          }
143    
# Line 141  sub page { Line 152  sub page {
152                  qq|                  qq|
153                  <div class="frey-status-line">                  <div class="frey-status-line">
154                          <a href="/">Frey</a> $Frey::VERSION                          <a href="/">Frey</a> $Frey::VERSION
155                          <a href="?reload=$reload_counter"><code>| . $self->urequest_url . qq|</code></a>                          <a href="?reload=$reload_counter"><code>| . $self->request_url . qq|</code></a>
156                          $status_line                          $status_line
157                  </div>                  </div>
158              </body></html>              </body></html>
# Line 154  sub page { Line 165  sub page {
165  }  }
166    
167  sub error {  sub error {
168          my ( $self, $error ) = @_;          my $self = shift;
169          cluck $error;          my $error = join(" ", @_);
170          $error =~ s{at\s+(\S+)\s+line\s+(\d+)}{ <a href="/editor$1+$2" target="editor">$1</a> line $2}gsm;          my ($package, $filename, $line) = caller;
171            $error .= " at $filename line $line" if $error !~ m{ at };
172            warn "WARN: $error\n";
173            $error =~ s{at\s+(\S+)\s+line\s+(\d+)}{at <a href="/editor$1+$2" target="editor">$1</a> line $2}gsm;
174          return qq|<pre class="frey-error">$error</pre>|;          return qq|<pre class="frey-error">$error</pre>|;
175  }  }
176    

Legend:
Removed from v.388  
changed lines
  Added in v.398

  ViewVC Help
Powered by ViewVC 1.1.26