diff options
Diffstat (limited to 'model/utils.go')
-rw-r--r-- | model/utils.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/model/utils.go b/model/utils.go index a4a4208c2..a9c441fee 100644 --- a/model/utils.go +++ b/model/utils.go @@ -413,6 +413,18 @@ func IsValidHttpsUrl(rawUrl string) bool { return true } +func IsValidTurnOrStunServer(rawUri string) bool { + if strings.Index(rawUri, "turn:") != 0 && strings.Index(rawUri, "stun:") != 0 { + return false + } + + if _, err := url.ParseRequestURI(rawUri); err != nil { + return false + } + + return true +} + func IsSafeLink(link *string) bool { if link != nil { if IsValidHttpUrl(*link) { @@ -426,3 +438,15 @@ func IsSafeLink(link *string) bool { return true } + +func IsValidWebsocketUrl(rawUrl string) bool { + if strings.Index(rawUrl, "ws://") != 0 && strings.Index(rawUrl, "wss://") != 0 { + return false + } + + if _, err := url.ParseRequestURI(rawUrl); err != nil { + return false + } + + return true +} |