commit a7a39f3bbe3009e2b75f360a26b778a78442e48e
parent ed91666ae765d3018aac551302e68d72429ddee8
Author: Kyle Milz <kyle@0x30.net>
Date: Sat, 27 Feb 2016 14:35:35 -0700
server: remove Carp and Try::Tiny dependencies
- just use 'die' instead of Carp's commands
- the test harness is good enough that backtraces aren't helpful
- every use of Try::Tiny had a 'die' equivalent in the catch{}
- so just let decode_json die itself
Diffstat:
2 files changed, 17 insertions(+), 28 deletions(-)
diff --git a/server/TestSL.pm b/server/TestSL.pm
@@ -39,13 +39,11 @@ package TestSL::Client;
use strict;
use warnings;
-use Carp;
use IO::Socket::SSL;
use JSON::XS;
use String::Random;
use Test;
use Time::HiRes qw(usleep);
-use Try::Tiny;
require "msgs.pl";
our (%msg_num, @msg_str);
@@ -168,7 +166,7 @@ sub send_msg {
# Request comes in as a hash ref, do this now to figure out length
my $payload = encode_json($request);
- confess "invalid message type $msg_type" unless (grep { $_ eq $msg_type } @msg_str);
+ die "invalid message type $msg_type" unless (grep { $_ eq $msg_type } @msg_str);
my $version = 0;
my $payload_len = length($payload);
@@ -186,8 +184,8 @@ sub send_all {
my $bytes_written = $self->{sock}->syswrite($bytes);
- confess "write failed: $!" if (!defined $bytes_written);
- confess "wrote $bytes_written instead of $bytes_total bytes" if ($bytes_written != $bytes_total);
+ die "write failed: $!" if (!defined $bytes_written);
+ die "wrote $bytes_written instead of $bytes_total bytes" if ($bytes_written != $bytes_total);
return $bytes_total;
}
@@ -200,24 +198,20 @@ sub recv_msg {
my ($version, $msg_type, $payload_size) = unpack("nnn", $header);
# Check some things
- confess "unsupported protocol version $version" if ($version != 0);
- confess "unknown message type $msg_type" if ($msg_type >= @msg_str);
- confess "0 byte payload" if ($payload_size == 0);
- confess "unexpected message type $msg_type" if ($msg_num{$exp_msg_type} != $msg_type);
+ die "unsupported protocol version $version" if ($version != 0);
+ die "unknown message type $msg_type" if ($msg_type >= @msg_str);
+ die "0 byte payload" if ($payload_size == 0);
+ die "unexpected message type $msg_type" if ($msg_num{$exp_msg_type} != $msg_type);
# Read again for payload, $payload_size > 0
my $payload = $self->read_all($payload_size);
- my $response;
- try {
- $response = decode_json($payload);
- } catch {
- confess "server sent invalid json";
- };
+ # This will die if $payload is invalid
+ my $response = decode_json($payload);
# Don't accept messages without an object root (ie array roots)
if (ref($response) ne "HASH") {
- confess "server didn't send back object root element";
+ die "server didn't send back object root element";
}
return $response;
@@ -231,8 +225,8 @@ sub read_all {
while ($bytes_total > 0) {
my $read = $self->{sock}->sysread($data, $bytes_total, $bytes_read);
- confess "read failed: $!" unless (defined $read);
- confess "read EOF on socket" if ($read == 0);
+ die "read failed: $!" unless (defined $read);
+ die "read EOF on socket" if ($read == 0);
$bytes_total -= $read;
$bytes_read += $read;
diff --git a/server/sl b/server/sl
@@ -10,7 +10,6 @@ use IO::Socket::SSL;
use IO::Socket::UNIX;
use JSON::XS;
use Scalar::Util qw(looks_like_number);
-use Try::Tiny;
# Our own modules
use logger;
@@ -236,17 +235,13 @@ sub recv_msg {
# entire thing exactly
my $payload = read_all($sock, $payload_size);
- try {
- # Throws an exception when $payload is bad JSON
- my $request = decode_json($payload);
+ # Throws an exception when $payload is bad JSON
+ my $request = decode_json($payload);
- if (ref($request) ne "HASH") {
- $log->fatal("error: json payload didn't have dictionary root\n");
- }
- return ($version, $msg_type, $request);
- } catch {
- $log->fatal("error: payload wasn't json\n");
+ if (ref($request) ne "HASH") {
+ $log->fatal("error: json payload didn't have dictionary root\n");
}
+ return ($version, $msg_type, $request);
}
# Read an exact amount of bytes from a socket.