From 0b1a2cbf6d90441c599e9d0a66a2abcf684abef4 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Wed, 13 Nov 2024 18:31:27 -0300 Subject: [PATCH] fix: allow origins --- docker_build.sh | 0 main.go | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) mode change 100644 => 100755 docker_build.sh diff --git a/docker_build.sh b/docker_build.sh old mode 100644 new mode 100755 diff --git a/main.go b/main.go index 1d966af..336984d 100644 --- a/main.go +++ b/main.go @@ -182,11 +182,19 @@ func processAudio(c *gin.Context) { } func validateOrigin(origin string) bool { - if len(allowedOrigins) == 0 || (len(allowedOrigins) == 1 && allowedOrigins[0] == "*") { + if len(allowedOrigins) == 0 { return true } + if origin == "" { + return false + } + for _, allowed := range allowedOrigins { + if allowed == "*" { + return true + } + if allowed == origin { return true } @@ -199,6 +207,11 @@ func originMiddleware() gin.HandlerFunc { origin := c.Request.Header.Get("Origin") if origin == "" { origin = c.Request.Header.Get("Referer") + if origin != "" { + if i := strings.Index(origin[8:], "/"); i != -1 { + origin = origin[:i+8] + } + } } if !validateOrigin(origin) {