trap param error instead of crashing
Matt S Trout [Sat, 26 Nov 2011 19:58:37 +0000 (19:58 +0000)]
lib/Tak/ConnectionReceiver.pm

index d85b1b4..9a06dd1 100644 (file)
@@ -36,6 +36,10 @@ sub DEMOLISH {
 sub receive_request {
   my ($self, $tag, $meta, @payload) = @_;
   my $channel = $self->channel;
+  unless (ref($meta) eq 'HASH') {
+    $channel->write_message(mistake => $tag => 'meta value not a hashref');
+    return;
+  }
   my $req = Tak::Request->new(
     ($meta->{progress}
         ? (on_progress => sub { $channel->write_message(progress => $tag => @_) })