geziyor/middleware/parse_html.go
2021-04-13 23:36:42 +03:00

25 lines
514 B
Go

package middleware
import (
"bytes"
"github.com/PuerkitoBio/goquery"
"github.com/geziyor/geziyor/client"
"github.com/geziyor/geziyor/internal"
)
// ParseHTML parses response if response is HTML
type ParseHTML struct {
ParseHTMLDisabled bool
}
func (p *ParseHTML) ProcessResponse(r *client.Response) {
if !p.ParseHTMLDisabled && r.IsHTML() {
doc, err := goquery.NewDocumentFromReader(bytes.NewReader(r.Body))
if err != nil {
internal.Logger.Println(err.Error())
return
}
r.HTMLDoc = doc
}
}