Liu Song’s Projects


~/Projects/miniflux

git clone https://code.lsong.org/miniflux

Commit

Commit
765b4c6424bdd619d9b1560568c59355c693ccb7
Author
Gabriel Augendre <[email protected]>
Date
2023-06-24 19:14:46 +0200 +0200
Diffstat
 integration/wallabag/wallabag.go | 13 ++-----------

Add sub-folder support for Wallabag integration


diff --git a/integration/wallabag/wallabag.go b/integration/wallabag/wallabag.go
index 0255714f0f24a00e8fdc3067f22547d62f1eeb83..84a5fe6c15a3e72bab439a600e7c1226a270f36c 100644
--- a/integration/wallabag/wallabag.go
+++ b/integration/wallabag/wallabag.go
@@ -43,7 +43,7 @@ 	return c.createEntry(accessToken, link, title, content)
 }
 
 func (c *Client) createEntry(accessToken, link, title, content string) error {
-	endpoint, err := getAPIEndpoint(c.baseURL, "/api/entries.json")
+	endpoint, err := url.JoinPath(c.baseURL, "/api/entries.json")
 	if err != nil {
 		return fmt.Errorf("wallbag: unable to get entries endpoint: %v", err)
 	}
@@ -75,7 +75,7 @@ 	values.Add("client_secret", c.clientSecret)
 	values.Add("username", c.username)
 	values.Add("password", c.password)
 
-	endpoint, err := getAPIEndpoint(c.baseURL, "/oauth/v2/token")
+	endpoint, err := url.JoinPath(c.baseURL, "/oauth/v2/token")
 	if err != nil {
 		return "", fmt.Errorf("wallbag: unable to get token endpoint: %v", err)
 	}
@@ -96,15 +96,6 @@ 		return "", err
 	}
 
 	return token.AccessToken, nil
-}
-
-func getAPIEndpoint(baseURL, path string) (string, error) {
-	u, err := url.Parse(baseURL)
-	if err != nil {
-		return "", fmt.Errorf("wallabag: invalid API endpoint: %v", err)
-	}
-	u.Path = path
-	return u.String(), nil
 }
 
 type tokenResponse struct {