MCPcopy Create free account
hub / github.com/chainreactors/spray / FormatURL

Function FormatURL

pkg/utils.go:373–399  ·  view source on GitHub ↗
(base, u string)

Source from the content-addressed store, hash-verified

371}
372
373func FormatURL(base, u string) string {
374 if strings.HasPrefix(u, "http") {
375 parsed, err := url.Parse(u)
376 if err != nil {
377 return ""
378 }
379 return parsed.Path
380 } else if strings.HasPrefix(u, "//") {
381 parsed, err := url.Parse(u)
382 if err != nil {
383 return ""
384 }
385 return parsed.Path
386 } else if strings.HasPrefix(u, "/") {
387 // 绝对目录拼接
388 // 不需要进行处理, 用来跳过下面的判断
389 return u
390 } else if strings.HasPrefix(u, "./") {
391 // "./"相对目录拼接
392 return RelaPath(base, u[2:])
393 } else if strings.HasPrefix(u, "../") {
394 return path.Join(Dir(base), u)
395 } else {
396 // 相对目录拼接
397 return RelaPath(base, u)
398 }
399}
400
401func BaseURL(u *url.URL) string {
402 return u.Scheme + "://" + u.Host

Callers 4

InitMethod · 0.92
doRedirectMethod · 0.92
doCrawlMethod · 0.92
doRedirectMethod · 0.92

Calls 2

RelaPathFunction · 0.85
DirFunction · 0.85

Tested by

no test coverage detected