# Functions
CERT returns a listener which contans tls.Config with the provided certificate, use for ssl.
Client returns a new http.Client using the "timeout" for open connection.
GetIPAddress returns a valid public IP Address from a collection of IP Addresses and a range of private subnets.
GetLoopbackSubdomain returns the part of the loopback subdomain.
IPInRange reports whether a given IP Address is within a range given.
IPIsPrivateSubnet reports whether this "ipAddress" is in a private subnet.
IsTLS returns true if the "srv" contains any certificates or a get certificate function, meaning that is secure.
LETSENCRYPT returns a new Automatic TLS Listener using letsencrypt.org service receives three parameters, the first is the host of the server, second one should declare if the underline tcp listener can be binded more than once, third can be the server name(domain) or empty if skip verification is the expected behavior (not recommended), and the forth is optionally, the cache directory, if you skip it then the cache directory is "./certcache" if you want to disable cache directory then simple give it a value of empty string ""
does NOT supports localhost domains for testing.
ResolveAddr tries to convert a given string to an address which is compatible with net.Listener and server.
ResolveHostname receives an addr of form host[:port] and returns the hostname part of it ex: localhost:8080 will return the `localhost`, mydomain.com:8080 will return the 'mydomain'.
ResolvePort receives an addr of form host[:port] and returns the port part of it ex: localhost:8080 will return the `8080`, mydomain.com will return the '80'.
ResolveScheme returns "https" if "isTLS" receiver is true, otherwise "http".
ResolveSchemeFromServer tries to resolve a url scheme based on the server's configuration.
ResolveSchemeFromVHost returns the scheme based on the "vhost".
ResolveURL takes the scheme and an address and returns its URL, pure implementation but it does the job.
ResolveURLFromServer returns the scheme+host from a server.
ResolveVHost tries to get the hostname if port is no needed for Addr's usage.
TCP returns a new tcp(ipv6 if supported by network) and an error on failure.
TCPKeepAlive returns a new tcp keep alive Listener and an error on failure.
TLS returns a new TLS Listener and an error on failure.
UNIX returns a new unix(file) Listener.
# Variables
IsLoopbackHost tries to catch the local addresses when a developer navigates to a subdomain that its hostname differs from Application.Configuration.VHost.
IsLoopbackSubdomain checks if a string is a subdomain or a hostname.
LoopbackRegex the regex if matched a host:port is a loopback.