Skip to content

Commit

Permalink
add send_error in the DSL
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexis Sukrieh committed Dec 26, 2011
1 parent c1c84c6 commit a1acb9f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
12 changes: 10 additions & 2 deletions lib/Dancer/Core/DSL.pm
Expand Up @@ -52,6 +52,7 @@ sub dsl_keywords {
[request => 0],
[response => 0],
[runner => 1],
[send_error => 0],
[send_file => 0],
[session => 0],
[set => 1],
Expand Down Expand Up @@ -91,12 +92,19 @@ sub path { shift and Dancer::FileUtils::path(@_) }

sub send_error {
my ($self, $message, $code) = @_;
require 'Dancer/Serializer/JSON.pm';
# Should be TemplateSimple
require 'Dancer/Template/TemplateToolkit.pm';

my $s = Dancer::Serializer::JSON->new;
my $t = Dancer::Template::TemplateToolkit->new;

Dancer::Core::Error->new(
message => $message,
app => $self->app,
context => $self->app->context,
serializer => $self->engine('serializer'),
template => $self->engine('template'),
serializer => $s,
template => $t,
code => $code || 500,
)->render;
}
Expand Down
5 changes: 1 addition & 4 deletions lib/Dancer/Core/Role/Template.pm
Expand Up @@ -64,14 +64,11 @@ sub render_layout {

sub apply_renderer {
my ($self, $view, $tokens) = @_;

$view = $self->view($view) if ! ref $view;
$tokens = $self->_prepare_tokens_options($tokens);

$view = $self->view($view);
$self->execute_hooks('before_template_render', $tokens);

my $content = $self->render($view, $tokens);

$self->execute_hooks('after_template_render', \$content);

# make sure to avoid ( undef ) in list context return
Expand Down

0 comments on commit a1acb9f

Please sign in to comment.