MCPcopy
hub / github.com/cli/cli / tryParseIssueFromURL

Function tryParseIssueFromURL

pkg/cmd/issue/shared/lookup.go:76–97  ·  view source on GitHub ↗

tryParseIssueFromURL tries to parse an issue number and repo from a URL.

(maybeURL string)

Source from the content-addressed store, hash-verified

74
75// tryParseIssueFromURL tries to parse an issue number and repo from a URL.
76func tryParseIssueFromURL(maybeURL string) o.Option[issueLocator] {
77 u, err := url.Parse(maybeURL)
78 if err != nil {
79 return o.None[issueLocator]()
80 }
81
82 if u.Scheme != "https" && u.Scheme != "http" {
83 return o.None[issueLocator]()
84 }
85
86 m := issueURLRE.FindStringSubmatch(u.Path)
87 if m == nil {
88 return o.None[issueLocator]()
89 }
90
91 repo := ghrepo.NewWithHost(m[1], m[2], u.Hostname())
92 issueNumber, _ := strconv.Atoi(m[3])
93 return o.Some(issueLocator{
94 issueNumber: issueNumber,
95 repo: repo,
96 })
97}
98
99type PartialLoadError struct {
100 error

Callers 1

ParseIssueFromArgFunction · 0.85

Calls 1

NewWithHostFunction · 0.92

Tested by

no test coverage detected