MCPcopy Create free account
hub / github.com/krau/SaveAny-Bot / parseTelegraphPath

Function parseTelegraphPath

api/tphpics.go:50–72  ·  view source on GitHub ↗

parseTelegraphPath 解析 Telegraph URL 获取页面路径

(pageURL string)

Source from the content-addressed store, hash-verified

48
49// parseTelegraphPath 解析 Telegraph URL 获取页面路径
50func parseTelegraphPath(pageURL string) (string, error) {
51 u, err := url.Parse(pageURL)
52 if err != nil {
53 return "", fmt.Errorf("invalid telegraph URL: %w", err)
54 }
55
56 if !strings.HasSuffix(u.Host, "telegra.ph") && !strings.HasSuffix(u.Host, "telegraph.co") {
57 return "", fmt.Errorf("invalid telegraph URL host: %s", u.Host)
58 }
59
60 paths := strings.Split(strings.TrimPrefix(u.Path, "/"), "/")
61 if len(paths) == 0 || paths[0] == "" {
62 return "", fmt.Errorf("invalid telegraph URL path: %s", u.Path)
63 }
64
65 pagepath := paths[len(paths)-1]
66 pagepath, err = url.PathUnescape(pagepath)
67 if err != nil {
68 return "", fmt.Errorf("failed to unescape telegraph path: %w", err)
69 }
70
71 return strings.TrimSpace(pagepath), nil
72}
73
74// isValidTelegraphURL 检查是否是有效的 Telegraph URL
75func isValidTelegraphURL(url string) bool {

Callers 1

ExtractTelegraphImagesFunction · 0.85

Calls 1

ParseMethod · 0.65

Tested by

no test coverage detected