1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-01 17:38:37 +00:00

feat: replace xurls third-party module with an ad-hoc regexp

This commit is contained in:
Julien Voisin 2024-10-22 03:48:12 +00:00 committed by GitHub
parent 191f3a7ad7
commit 5c5ad19c43
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 6 deletions

1
go.mod
View file

@ -18,7 +18,6 @@ require (
golang.org/x/oauth2 v0.23.0
golang.org/x/term v0.25.0
golang.org/x/text v0.19.0
mvdan.cc/xurls/v2 v2.5.0
)
require (

2
go.sum
View file

@ -117,5 +117,3 @@ google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6h
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
mvdan.cc/xurls/v2 v2.5.0 h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8=
mvdan.cc/xurls/v2 v2.5.0/go.mod h1:yQgaGQ1rFtJUzkmKiHYSSfuQxqfYmd//X6PxvholpeE=

View file

@ -5,6 +5,7 @@ package ui // import "miniflux.app/v2/internal/ui"
import (
"net/http"
"regexp"
"miniflux.app/v2/internal/config"
"miniflux.app/v2/internal/http/request"
@ -12,10 +13,11 @@ import (
"miniflux.app/v2/internal/ui/form"
"miniflux.app/v2/internal/ui/session"
"miniflux.app/v2/internal/ui/view"
"mvdan.cc/xurls/v2"
)
// Best effort url extraction regexp
var urlRe = regexp.MustCompile(`(?i)(?:https?://)?[0-9a-z.]+[.][a-z]+(?::[0-9]+)?(?:/[^ ]+|/)?`)
func (h *handler) bookmarklet(w http.ResponseWriter, r *http.Request) {
user, err := h.store.UserByID(request.UserID(r))
if err != nil {
@ -39,7 +41,7 @@ func (h *handler) bookmarklet(w http.ResponseWriter, r *http.Request) {
// See https://bugs.chromium.org/p/chromium/issues/detail?id=789379.
text := request.QueryStringParam(r, "text", "")
if text != "" && bookmarkletURL == "" {
bookmarkletURL = xurls.Relaxed().FindString(text)
bookmarkletURL = urlRe.FindString(text)
}
sess := session.New(h.store, request.SessionID(r))