From e92824235fc4a6cf9303e44109998123d5a9e394 Mon Sep 17 00:00:00 2001 From: onemoreslacker Date: Sun, 20 Apr 2025 14:33:41 +0300 Subject: [PATCH] refactor: carry out service determination --- pkg/detect.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pkg/detect.go diff --git a/pkg/detect.go b/pkg/detect.go new file mode 100644 index 0000000..b0eaa1f --- /dev/null +++ b/pkg/detect.go @@ -0,0 +1,26 @@ +package pkg + +import ( + "errors" + "net/url" + "strings" +) + +var ErrUnknownService = errors.New("unknown service") + +func ServiceFromURL(link string) (string, error) { + u, err := url.Parse(link) + if err != nil { + return "", err + } + + switch { + case strings.Contains(u.Host, "github"): + return "github", nil + + case strings.Contains(u.Host, "stackoverflow"): + return "stackoverflow", nil + } + + return "", ErrUnknownService +}