From 83ea19dd92b142a111211f5d639f5225cda82f9e Mon Sep 17 00:00:00 2001 From: yusing Date: Sun, 26 Jan 2025 14:47:33 +0800 Subject: [PATCH] api: added validation endpoint --- internal/api/handler.go | 1 + internal/utils/strutils/string.go | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/internal/api/handler.go b/internal/api/handler.go index 2048c3ee..844c3427 100644 --- a/internal/api/handler.go +++ b/internal/api/handler.go @@ -28,6 +28,7 @@ func NewHandler(cfg config.ConfigInstance) http.Handler { mux.HandleFunc("GET", "/v1/list/{what}/{which}", auth.RequireAuth(useCfg(cfg, v1.List))) mux.HandleFunc("GET", "/v1/file/{type}/{filename}", auth.RequireAuth(v1.GetFileContent)) mux.HandleFunc("POST,PUT", "/v1/file/{type}/{filename}", auth.RequireAuth(v1.SetFileContent)) + mux.HandleFunc("POST", "/v1/file/validate/{type}", auth.RequireAuth(v1.ValidateFile)) mux.HandleFunc("GET", "/v1/schema/{filename...}", v1.GetSchemaFile) mux.HandleFunc("GET", "/v1/stats", useCfg(cfg, v1.Stats)) mux.HandleFunc("GET", "/v1/stats/ws", useCfg(cfg, v1.StatsWS)) diff --git a/internal/utils/strutils/string.go b/internal/utils/strutils/string.go index 18f78c61..32e72152 100644 --- a/internal/utils/strutils/string.go +++ b/internal/utils/strutils/string.go @@ -25,7 +25,17 @@ func Title(s string) string { } func ToLowerNoSnake(s string) string { - return strings.ToLower(strings.ReplaceAll(s, "_", "")) + var buf strings.Builder + for _, r := range s { + if r == '_' { + continue + } + if r >= 'A' && r <= 'Z' { + r += 'a' - 'A' + } + buf.WriteRune(r) + } + return buf.String() } //nolint:intrange