generated from VLADIMIR/template
add local ip
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"evening_detective_server/internal/modules/cleaner"
|
||||
"evening_detective_server/internal/modules/email_sender"
|
||||
"evening_detective_server/internal/modules/file_storage"
|
||||
"evening_detective_server/internal/modules/network_utils"
|
||||
"evening_detective_server/internal/modules/password_generator"
|
||||
"evening_detective_server/internal/modules/processor_jwt"
|
||||
"evening_detective_server/internal/modules/scenario_archive"
|
||||
@@ -335,9 +336,22 @@ func main() {
|
||||
|
||||
log.Println("Serving gRPC-Gateway on http://0.0.0.0:8090")
|
||||
log.Println("Serving docs on http://0.0.0.0:8090/docs")
|
||||
logLocalAddresses()
|
||||
log.Fatalln(gwServer.ListenAndServe())
|
||||
}
|
||||
|
||||
func logLocalAddresses() {
|
||||
addrs, err := network_utils.GetLocalIPv4Addresses()
|
||||
if err != nil {
|
||||
log.Printf("Unable to detect local network address: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, ip := range addrs {
|
||||
log.Printf("Local network: http://%s:8090 (docs: http://%s:8090/docs/)", ip, ip)
|
||||
}
|
||||
}
|
||||
|
||||
func cors(h http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("Access-Control-Allow-Origin", "*")
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package network_utils
|
||||
|
||||
import "net"
|
||||
|
||||
// GetLocalIPv4Addresses returns non-loopback IPv4 addresses of the host.
|
||||
func GetLocalIPv4Addresses() ([]string, error) {
|
||||
addrs, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var result []string
|
||||
for _, addr := range addrs {
|
||||
var ip net.IP
|
||||
switch addr := addr.(type) {
|
||||
case *net.IPNet:
|
||||
ip = addr.IP
|
||||
case *net.IPAddr:
|
||||
ip = addr.IP
|
||||
}
|
||||
if ip == nil || ip.IsLoopback() || ip.To4() == nil {
|
||||
continue
|
||||
}
|
||||
result = append(result, ip.String())
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
Reference in New Issue
Block a user