diff options
author | Florian Pritz <bluewind@xinu.at> | 2018-07-17 15:26:40 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2018-07-17 15:26:40 +0200 |
commit | 50a37d8812c95c60203b0102db91f0c080d4d93b (patch) | |
tree | 86d1c9b2e5461e872fdfbcb207a4e07a9f37283e /lib/App/ImapNotify/Socket/SSL.pm | |
parent | 6e43e5e33b7d4fceaadb42e8264a7319002848cb (diff) | |
download | App-ImapNotify-50a37d8812c95c60203b0102db91f0c080d4d93b.tar.gz App-ImapNotify-50a37d8812c95c60203b0102db91f0c080d4d93b.tar.xz |
Initial port of single file script
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'lib/App/ImapNotify/Socket/SSL.pm')
-rw-r--r-- | lib/App/ImapNotify/Socket/SSL.pm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/App/ImapNotify/Socket/SSL.pm b/lib/App/ImapNotify/Socket/SSL.pm new file mode 100644 index 0000000..18d7ffa --- /dev/null +++ b/lib/App/ImapNotify/Socket/SSL.pm @@ -0,0 +1,34 @@ +package App::ImapNotify::Socket::SSL; +use v5.24; +use strict; +use warnings; + +use autodie; +use Function::Parameters; +use IO::Socket::SSL; +use Log::Any qw($log); + +method new($class: $host, $port, $deps = {}) { + $deps->{sock} //= IO::Socket::SSL->new("$host:$port"); + return $class->new_no_defaults($deps); +} + +method new_no_defaults($class: $deps = {}) { + my $self = {}; + bless $self, $class; + $self->{deps} = $deps; + return $self; +} + +method readline() { + return CORE::readline $self->{deps}->{sock}; +} + +method writeline($line) { + print {$self->{deps}->{sock}} $line; +} + + +1; + +__END__ |