From 9b49868ae3aab18ad13bd8a977757ad68ec617e1 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Fri, 18 Apr 2025 11:42:25 +0200 Subject: [PATCH] http-client-functions.pl: Add FetchPublicIP function. This functions uses the newly introduced downloader to fetch the pulic IPv4 address on red and will replace the current used one from the general-functions.pl library. Signed-off-by: Stefan Schantl --- config/cfgroot/http-client-functions.pl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/cfgroot/http-client-functions.pl b/config/cfgroot/http-client-functions.pl index 26ead6908..bfb9fdd20 100644 --- a/config/cfgroot/http-client-functions.pl +++ b/config/cfgroot/http-client-functions.pl @@ -287,4 +287,24 @@ sub downloader (%) { } } +# +# Tiny function to grab the public red IPv4 address using LWL. +# +sub FetchPublicIp { + # URL to grab the public IP. + my $url = "https://checkip4.dns.lightningwirelabs.com"; + + # Call downloader to fetch the public IP. + my $response = &downloader("URL" => $url); + + # Omit the address from the resonse message. + if ($response =~ /Your IP address is: (\d+.\d+.\d+.\d+)/) { + # Return the address. + return $1; + } + + # Unable to grab the address - Return nothing. + return; +} + 1; -- 2.39.5