fix test/code validation issues

This commit is contained in:
Lukas Rist 2022-12-23 15:51:54 +01:00
parent 738852f932
commit 85d73be641
3 changed files with 17 additions and 13 deletions

View File

@ -4,18 +4,19 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/chromedp/cdproto/dom"
"github.com/chromedp/cdproto/network"
"github.com/chromedp/chromedp"
"github.com/geziyor/geziyor/internal"
"golang.org/x/net/html/charset"
"golang.org/x/text/transform"
"io" "io"
"io/ioutil" "io/ioutil"
"net" "net"
"net/http" "net/http"
"net/url" "net/url"
"time" "time"
"github.com/chromedp/cdproto/dom"
"github.com/chromedp/cdproto/network"
"github.com/chromedp/chromedp"
"github.com/geziyor/geziyor/internal"
"golang.org/x/net/html/charset"
"golang.org/x/text/transform"
) )
var ( var (
@ -215,10 +216,10 @@ func (c *Client) doRequestChrome(req *Request) (*Response, error) {
} }
// Append custom actions to default ones. // Append custom actions to default ones.
defaultActions := append(defaultPreActions, req.Actions...) defaultPreActions = append(defaultPreActions, req.Actions...)
// Run all actions // Run all actions
if err := chromedp.Run(taskCtx, defaultActions...); err != nil { if err := chromedp.Run(taskCtx, defaultPreActions...); err != nil {
return nil, fmt.Errorf("request getting rendered: %w", err) return nil, fmt.Errorf("request getting rendered: %w", err)
} }

View File

@ -2,13 +2,14 @@ package client
import ( import (
"context" "context"
"github.com/geziyor/geziyor/internal"
"net/http" "net/http"
"net/url" "net/url"
"sync/atomic" "sync/atomic"
"github.com/geziyor/geziyor/internal"
) )
const ProxyURLKey = 0 type ProxyURLKey int
type roundRobinProxy struct { type roundRobinProxy struct {
proxyURLs []*url.URL proxyURLs []*url.URL
@ -20,7 +21,7 @@ func (r *roundRobinProxy) GetProxy(pr *http.Request) (*url.URL, error) {
u := r.proxyURLs[index%uint32(len(r.proxyURLs))] u := r.proxyURLs[index%uint32(len(r.proxyURLs))]
// Set proxy url to context // Set proxy url to context
ctx := context.WithValue(pr.Context(), ProxyURLKey, u.String()) ctx := context.WithValue(pr.Context(), ProxyURLKey(0), u.String())
*pr = *pr.WithContext(ctx) *pr = *pr.WithContext(ctx)
return u, nil return u, nil
} }

View File

@ -5,14 +5,15 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/chromedp/cdproto/dom"
"github.com/chromedp/chromedp"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"net/url" "net/url"
"strings" "strings"
"testing" "testing"
"github.com/chromedp/cdproto/dom"
"github.com/chromedp/chromedp"
"github.com/PuerkitoBio/goquery" "github.com/PuerkitoBio/goquery"
"github.com/elazarl/goproxy" "github.com/elazarl/goproxy"
"github.com/fortytw2/leaktest" "github.com/fortytw2/leaktest"
@ -162,6 +163,7 @@ func TestGetRenderedCustomActions(t *testing.T) {
g.Do(req, g.Opt.ParseFunc) g.Do(req, g.Opt.ParseFunc)
}, },
ParseFunc: func(g *geziyor.Geziyor, r *client.Response) { ParseFunc: func(g *geziyor.Geziyor, r *client.Response) {
assert.Equal(t, 200, r.StatusCode)
fmt.Println(string(r.Body)) fmt.Println(string(r.Body))
fmt.Println(r.Request.URL.String(), r.Header) fmt.Println(r.Request.URL.String(), r.Header)
}, },