mirror of
https://github.com/fiatjaf/khatru.git
synced 2025-03-17 21:32:55 +01:00
37 lines
772 B
Go
37 lines
772 B
Go
package khatru
|
|
|
|
import (
|
|
"net/http"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"github.com/nbd-wtf/go-nostr"
|
|
)
|
|
|
|
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
|
|
}
|