OSDN Git Service

Plugin::ResponseFilter: fix before_renderer hook
[newslash/newslash.git] / src / newslash_web / lib / Newslash / Plugin / ResponseFilter.pm
index 37f75d8..8627a8f 100644 (file)
@@ -1,5 +1,6 @@
 package Newslash::Plugin::ResponseFilter;
 use Mojo::Base 'Mojolicious::Plugin';
+use Data::Dumper;
 
 sub register {
     my ($self, $app, $conf) = @_;
@@ -24,20 +25,22 @@ sub register {
 
                       my $json = $args->{json};
                       my $result = $json;
-                      if (defined $json->{result} && ref($json->{result} eq "HASH")) {
+                      if (defined $json->{result} && ref($json->{result}) eq "HASH") {
                           $result = $json->{result};
                       }
 
                       if ($result->{item}) {
-                          if ($result->{item}->{content_type}) {
-                              apply_seclev_filter($c, $result->{item}->{content_type}, $result->{item});
+                          my $type = $result->{item}->{content_type};
+                          if ($type) {
+                              apply_seclev_filter($c, $type, $result->{item});
                           }
                       }
 
                       if ($result->{items} && ref($result->{items}) eq "ARRAY") {
                           for my $item (@{$result->{items}}) {
-                              if ($item->{content_type}) {
-                                  apply_seclev_filter($c, $item->{content_type}, $item);
+                              my $type = $item->{content_type};
+                              if ($type) {
+                                  apply_seclev_filter($c, $type, $item);
                               }
                           }
                       }
@@ -63,8 +66,6 @@ sub apply_seclev_filter {
     my $cnf = $c->config->{ResponseFilter} || {};
     my $faculties = $cnf->{faculities} || {};
 
-    #warn Dumper $faculties;
-
     my $faculty_all = $faculties->{all} || {};
     for my $lv (keys %$faculty_all) {
         if ($security_level < $lv) {
@@ -72,7 +73,7 @@ sub apply_seclev_filter {
                 for my $k (@{$faculty_all->{$lv}}) {
                     if (defined $item->{$k}) {
                        delete $item->{$k};
-                       #$c->app->log->debug("remove $k");
+                       $c->app->log->debug("remove $k");
                    }
                 }
             }
@@ -86,7 +87,7 @@ sub apply_seclev_filter {
                 for my $k (@{$faculty->{$lv}}) {
                     if (defined $item->{$k}) {
                        delete $item->{$k};
-                       #$c->app->log->debug("remove $k");
+                       $c->app->log->debug("remove $k");
                    }
                 }
             }