Procházet zdrojové kódy

perf(sanitizer): Use an io.MultiReader

This avoids having to copy rawHTML.
jvoisin před 2 měsíci
rodič
revize
21703c81f4
1 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 6 1
      internal/reader/sanitizer/sanitizer.go

+ 6 - 1
internal/reader/sanitizer/sanitizer.go

@@ -5,6 +5,7 @@ package sanitizer // import "miniflux.app/v2/internal/reader/sanitizer"
 
 import (
 	"errors"
+	"io"
 	"net/url"
 	"slices"
 	"strconv"
@@ -223,7 +224,11 @@ func SanitizeHTML(baseURL, rawHTML string, sanitizerOptions *SanitizerOptions) s
 
 	// We need to surround `rawHTML` with body tags so that html.Parse
 	// will consider it a valid html document.
-	doc, err := html.Parse(strings.NewReader("<body>" + rawHTML + "</body>"))
+	doc, err := html.Parse(io.MultiReader(
+		strings.NewReader("<body>"),
+		strings.NewReader(rawHTML),
+		strings.NewReader("</body>"),
+	))
 	if err != nil {
 		return ""
 	}