Atlas › Test

invalid_url_empty

Exact test identity: go.temporal.io/server/common/nexus/nexusrpc/TestDecodeLink/invalid_url_empty

Package
go.temporal.io/server/common/nexus/nexusrpc
Suite / test hierarchy
TestDecodeLink/invalid_url_empty
Test
invalid_url_empty
Introduced at
api.go ×1 Frontier kind: Joint frontier
Covered ranges
5
Covered lines
11
Covered files
1

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/common/nexus/nexusrpc/api.go 11 covered LOC · 5 ranges

Open complete file

152 // decodeLink decodes the Nexus-Link header values.
153 // It must have the same format of HTTP Link header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link
154 > func decodeLink(encodedLink string) (nexus.Link, error) { api.go
155 > var link nexus.Link
156 > encodedLink = strings.TrimSpace(encodedLink)
157 > if len(encodedLink) == 0 {
158 return link, errors.New("failed to parse link header: value is empty")
159 }
160
161 > if encodedLink[0] != '<' { api.go
162 return link, fmt.Errorf("failed to parse link header: invalid format: %s", encodedLink)
163 }
164 > urlEnd := strings.Index(encodedLink, ">") api.go
165 > if urlEnd == -1 {
166 return link, fmt.Errorf("failed to parse link header: invalid format: %s", encodedLink)
167 }
168 > urlStr := strings.TrimSpace(encodedLink[1:urlEnd]) api.go
169 > if len(urlStr) == 0 {
170 > return link, errors.New("failed to parse link header: url is empty") api.go
171 > }
172 u, err := url.Parse(urlStr)
173 if err != nil {