--- trunk/lib/Frey/Server.pm 2008/11/18 12:02:57 407 +++ trunk/lib/Frey/Server.pm 2008/11/18 17:12:09 421 @@ -84,6 +84,11 @@ my $run_regexp = join('|', Frey::Run->runnable ); my $editor = Frey::Editor->new; + # shared run params + my $run = { + request_url => $req->request->url, + }; + if ( $path =~ m{/Frey[:-]+ObjectBrowser} ) { @@ -99,19 +104,20 @@ system( $editor->command( $path ) ); return; } elsif ( - $path =~ m{/([^/]+)/($run_regexp)} + $path =~ m{/([^/]+)/($run_regexp)/?([^/]+)?} ) { my $class = rest2class $1; - warn "# run $class $2\n"; - $f = Frey::Run->new( class => $class, params => \%params, run => $2, request_url => $req->request->url ); + warn "# run $path -> $class $2"; + $run->{format} = $3 if $3; + $f = Frey::Run->new( class => $class, params => \%params, run => $2, %$run ); } elsif ( $path =~ m{/([^/]+)/?$} ) { my $class = rest2class $1; warn "# introspect $class"; - $f = Frey::Run->new( class => 'Frey::Introspect', params => { class => $class }, request_url => $req->request->url ); + $f = Frey::Run->new( class => 'Frey::Introspect', params => { class => $class }, %$run ); } else { - $f = Frey::Run->new( class => 'Frey::ClassBrowser' ); + $f = Frey::Run->new( class => 'Frey::ClassBrowser', %$run ); } if ( $f ) {