Заведите глобальную переменную
var origins = make(map[string]struct{}). После записи ендпоинта в базу вычисляйте origin данного URL и добавляйте в глобальную переменную
origins. Настройки объекта с КОРСами будут выглядеть как-то так
c := cors.New(cors.Options{
AllowCredentials: true,
AllowOriginRequestFunc: func(r *http.Request, origin string) bool {
if _, ok := origins[r.Header.Get("Origin")]; !ok {
return false
}
return true
},
})
По хорошему надо бы ещё мьютексами закрыть чтение/запись, но с этим думаю должны справиться