mirror of
https://github.com/owncast/owncast.git
synced 2024-11-24 21:59:43 +03:00
487bd12444
* First pass at restructuring the project; untested but it does compile
* Restructure builds and runs 🎉
* Add the dist folder to the gitignore
* Update core/playlist/monitor.go
* golint and reorganize the monitor.go file
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
25 lines
630 B
Go
25 lines
630 B
Go
package utils
|
|
|
|
import (
|
|
"net/http"
|
|
"strings"
|
|
)
|
|
|
|
//GenerateClientIDFromRequest generates a client id from the provided request
|
|
func GenerateClientIDFromRequest(req *http.Request) string {
|
|
var clientID string
|
|
|
|
xForwardedFor := req.Header.Get("X-FORWARDED-FOR")
|
|
if xForwardedFor != "" {
|
|
clientID = xForwardedFor
|
|
} else {
|
|
ipAddressString := req.RemoteAddr
|
|
ipAddressComponents := strings.Split(ipAddressString, ":")
|
|
ipAddressComponents[len(ipAddressComponents)-1] = ""
|
|
clientID = strings.Join(ipAddressComponents, ":")
|
|
}
|
|
|
|
// fmt.Println("IP address determined to be", ipAddress)
|
|
|
|
return clientID + req.UserAgent()
|
|
}
|