package khatru import ( "hash/maphash" "net/http" "strconv" "strings" "unsafe" "github.com/nbd-wtf/go-nostr" ) func pointerHasher[V any](_ maphash.Seed, k *V) uint64 { return uint64(uintptr(unsafe.Pointer(k))) } func isOlder(previous, next *nostr.Event) bool { return previous.CreatedAt < next.CreatedAt || (previous.CreatedAt == next.CreatedAt && previous.ID > next.ID) } func getServiceBaseURL(r *http.Request) string { host := r.Header.Get("X-Forwarded-Host") if host == "" { host = r.Host } proto := r.Header.Get("X-Forwarded-Proto") if proto == "" { if host == "localhost" { proto = "http" } else if strings.Index(host, ":") != -1 { // has a port number proto = "http" } else if _, err := strconv.Atoi(strings.ReplaceAll(host, ".", "")); err == nil { // it's a naked IP proto = "http" } else { proto = "https" } } return proto + "://" + host }