From b38de6f02fa04e36b881d2aad9c7f792beb0b6a1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 3 Mar 2016 05:14:31 +0000 Subject: daemon: introduce host_with_port for identifying sockets This allows us to share more code between daemons and avoids having to make additional syscalls for preparing REMOTE_HOST and REMOTE_PORT in the PSGI env in -httpd. This will also make supporting HTTP (and NNTP) over Unix sockets easier in a future commit. --- script/public-inbox-httpd | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'script') diff --git a/script/public-inbox-httpd b/script/public-inbox-httpd index d867b477..b6c4e677 100755 --- a/script/public-inbox-httpd +++ b/script/public-inbox-httpd @@ -99,18 +99,10 @@ sub pi_httpd_async { sub new { my ($class, $sock, $app) = @_; my $n = getsockname($sock) or die "not a socket: $sock $!\n"; - my ($port, $addr); - if (length($n) >= 28) { - require Socket6; - ($port, $addr) = Socket6::unpack_sockaddr_in6($n); - } else { - ($port, $addr) = Socket::unpack_sockaddr_in($n); - } + my ($host, $port) = PublicInbox::Daemon::host_with_port($n); my %env = ( - REMOTE_HOST => '', - REMOTE_PORT => 0, - SERVER_NAME => $addr, + SERVER_NAME => $host, SERVER_PORT => $port, SCRIPT_NAME => '', 'psgi.version' => [ 1, 1 ], -- cgit v1.2.3-24-ge0c7