geziyor/response.go
2019-06-18 13:00:16 +03:00

29 lines
617 B
Go

package geziyor
import (
"github.com/PuerkitoBio/goquery"
"net/http"
"net/url"
)
// Response type wraps http.Response
// Contains parsed response data and Geziyor functions.
type Response struct {
*http.Response
Body []byte
DocHTML *goquery.Document
Meta map[string]interface{}
Request *Request
}
// JoinURL joins base response URL and provided relative URL.
func (r *Response) JoinURL(relativeURL string) string {
parsedRelativeURL, err := url.Parse(relativeURL)
if err != nil {
return ""
}
joinedURL := r.Response.Request.URL.ResolveReference(parsedRelativeURL)
return joinedURL.String()
}