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 <[email protected]>
---
 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.47.2


Reply via email to