1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-16 11:37:36 +02:00
ferret/cli/options.go
2019-02-26 15:32:50 -05:00

44 lines
793 B
Go

package cli
import (
"context"
"github.com/MontFerret/ferret/pkg/drivers"
"github.com/MontFerret/ferret/pkg/drivers/cdp"
"github.com/MontFerret/ferret/pkg/drivers/http"
)
type Options struct {
Cdp string
Params map[string]interface{}
Proxy string
UserAgent string
ShowTime bool
}
func (opts Options) WithContext(ctx context.Context) (context.Context, context.CancelFunc) {
httpDriver := http.NewDriver(
http.WithProxy(opts.Proxy),
http.WithUserAgent(opts.UserAgent),
)
ctx = drivers.WithContext(
ctx,
httpDriver,
drivers.AsDefault(),
)
cdpDriver := cdp.NewDriver(
cdp.WithAddress(opts.Cdp),
cdp.WithProxy(opts.Proxy),
cdp.WithUserAgent(opts.UserAgent),
)
ctx = drivers.WithContext(
ctx,
cdpDriver,
)
return context.WithCancel(ctx)
}