From 774da2281ee42e005742a10f8808bdbf2329f6b2 Mon Sep 17 00:00:00 2001 From: andrewlalis Date: Wed, 5 Mar 2025 20:00:38 -0500 Subject: [PATCH] Added UNKNOWN client address type. --- source/handy_http_primitives/address.d | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/source/handy_http_primitives/address.d b/source/handy_http_primitives/address.d index 756bcd2..1335edc 100644 --- a/source/handy_http_primitives/address.d +++ b/source/handy_http_primitives/address.d @@ -33,7 +33,8 @@ struct UnixSocketAddress { enum ClientAddressType { IPv4, IPv6, - UNIX + UNIX, + UNKNOWN } /** @@ -51,6 +52,7 @@ struct ClientAddress { * Returns: The string representation of this address. */ string toString() const { + if (type == ClientAddressType.UNKNOWN) return "Unknown Address"; if (type == ClientAddressType.UNIX) return unixSocketAddress.path; version (Posix) { import core.sys.posix.arpa.inet : inet_ntop, AF_INET, AF_INET6; } version (Windows) { import core.sys.windows.winsock2 : inet_ntop, AF_INET, AF_INET6; } @@ -86,6 +88,15 @@ struct ClientAddress { static ClientAddress ofUnixSocket(UnixSocketAddress addr) { return ClientAddress(ClientAddressType.UNIX, IPv4InternetAddress.init, IPv6InternetAddress.init, addr); } + + static ClientAddress unknown() { + return ClientAddress( + ClientAddressType.UNKNOWN, + IPv4InternetAddress.init, + IPv6InternetAddress.init, + UnixSocketAddress.init + ); + } } unittest {