MCPcopy Create free account
hub / github.com/github/gh-aw / parseStandardGitHubURL

Function parseStandardGitHubURL

pkg/parser/github_urls.go:76–93  ·  view source on GitHub ↗
(parsedURL *url.URL, host string)

Source from the content-addressed store, hash-verified

74}
75
76func parseStandardGitHubURL(parsedURL *url.URL, host string) (*GitHubURLComponents, error) {
77 pathParts := strings.Split(strings.Trim(parsedURL.Path, "/"), "/")
78 if len(pathParts) < 2 {
79 return nil, errors.New("invalid GitHub URL format: path too short")
80 }
81
82 owner := pathParts[0]
83 repo := pathParts[1]
84 if owner == "" || repo == "" {
85 return nil, errors.New("invalid GitHub URL: owner and repo cannot be empty")
86 }
87 if len(pathParts) < 4 {
88 return nil, errors.New("unrecognized GitHub URL format")
89 }
90 urlType := pathParts[2]
91 urlLog.Printf("Detected URL type segment: %s for %s/%s", urlType, owner, repo)
92 return parseGitHubURLByType(parsedURL, host, owner, repo, pathParts, urlType)
93}
94
95func parseGitHubURLByType(parsedURL *url.URL, host, owner, repo string, pathParts []string, urlType string) (*GitHubURLComponents, error) {
96 switch urlType {

Callers 1

ParseGitHubURLFunction · 0.85

Calls 2

parseGitHubURLByTypeFunction · 0.85
PrintfMethod · 0.45

Tested by

no test coverage detected