fix: remove port from response
This commit is contained in:
		
							parent
							
								
									992239ff1f
								
							
						
					
					
						commit
						fc458f1cda
					
				
							
								
								
									
										31
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								main.go
									
									
									
									
									
								
							@ -2,6 +2,7 @@ package main
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"encoding/json"
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
	"log"
 | 
						"log"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/netip"
 | 
						"net/netip"
 | 
				
			||||||
@ -55,17 +56,20 @@ func handleRoot(w http.ResponseWriter, r *http.Request) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log.Printf("Type: %v\n", Type)
 | 
					    log.Printf("Type: %v\n", Type)
 | 
				
			||||||
    ip := determineRealIP(r)
 | 
					    ip, err := determineRealIP(r)
 | 
				
			||||||
 | 
					    if err != nil {
 | 
				
			||||||
 | 
					        log.Println(err.Error())
 | 
				
			||||||
 | 
					        w.WriteHeader(http.StatusInternalServerError)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    w.WriteHeader(http.StatusOK)
 | 
					    err = writeFormattedIP(w, Type, ip)
 | 
				
			||||||
    err := writeFormattedIP(w, Type, ip)
 | 
					 | 
				
			||||||
    if err != nil {
 | 
					    if err != nil {
 | 
				
			||||||
        log.Println(err.Error())
 | 
					        log.Println(err.Error())
 | 
				
			||||||
        w.WriteHeader(http.StatusInternalServerError)
 | 
					        w.WriteHeader(http.StatusInternalServerError)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func determineRealIP(r *http.Request) string {
 | 
					func determineRealIP(r *http.Request) (string, error) {
 | 
				
			||||||
    ip := r.RemoteAddr
 | 
					    ip := r.RemoteAddr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    xRealIP := r.Header.Get("X-Real-IP")
 | 
					    xRealIP := r.Header.Get("X-Real-IP")
 | 
				
			||||||
@ -75,21 +79,17 @@ func determineRealIP(r *http.Request) string {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    ipPort, err := netip.ParseAddrPort(ip)
 | 
					    ipPort, err := netip.ParseAddrPort(ip)
 | 
				
			||||||
    if err != nil {
 | 
					    if err != nil {
 | 
				
			||||||
        log.Println("Error while parsing AddrPort:", err.Error())
 | 
					        return "", err
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ipAddrPort := ipPort.Addr().String()
 | 
					
 | 
				
			||||||
    if ipAddrPort == "invalid IP" {
 | 
					    if !ipPort.IsValid() {
 | 
				
			||||||
        ipAddr, err := netip.ParseAddr(ip)
 | 
					        return "", errors.New("Zero IP")
 | 
				
			||||||
        if err != nil {
 | 
					 | 
				
			||||||
            // Last resort
 | 
					 | 
				
			||||||
            log.Println("Error while parsing Addr:", err.Error())
 | 
					 | 
				
			||||||
            return ip
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        ip = ipAddr.String()
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return ip
 | 
					    ip = ipPort.Addr().String()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return ip, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func writeFormattedIP(w http.ResponseWriter, Type ResponseType, ip string)  error {
 | 
					func writeFormattedIP(w http.ResponseWriter, Type ResponseType, ip string)  error {
 | 
				
			||||||
@ -116,4 +116,3 @@ func writeFormattedIP(w http.ResponseWriter, Type ResponseType, ip string)  erro
 | 
				
			|||||||
    return nil
 | 
					    return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user