Documentation
¶
Index ¶
- func NewClientPool(initialCap, maxCap int, engineMode string, factory ClientFactoryMethod, ...) (*util.Pool[*http.Client], error)
- func NewCookieJarRepeated() (*cookieJarRepeated, error)
- type ClientCloseMethod
- type ClientFactoryMethod
- type DurationSleep
- type RangeSleep
- type ScenarioOpts
- type ScenarioService
- type Sleeper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewClientPool ¶ added in v0.15.0
func NewClientPool(initialCap, maxCap int, engineMode string, factory ClientFactoryMethod, close ClientCloseMethod) (*util.Pool[*http.Client], error)
NewClientPool returns a new pool based on buffered channels with an initial capacity and maximum capacity. Factory is used when initial capacity is greater than zero to fill the pool. A zero initialCap doesn't fill the Pool until a new Get() is called. During a Get(), If there is no new client available in the pool, a new client will be created via the Factory() method.
func NewCookieJarRepeated ¶ added in v1.0.0
func NewCookieJarRepeated() (*cookieJarRepeated, error)
Types ¶
type ClientCloseMethod ¶ added in v0.16.7
type ClientFactoryMethod ¶ added in v0.16.7
Factory is a function to create new connections.
type DurationSleep ¶ added in v0.7.1
type DurationSleep struct {
// contains filtered or unexported fields
}
DurationSleep is the implementation of the exact duration sleep feature
type RangeSleep ¶ added in v0.7.1
type RangeSleep struct {
// contains filtered or unexported fields
}
RangeSleep is the implementation of the range sleep feature
type ScenarioOpts ¶ added in v0.15.0
type ScenarioService ¶
type ScenarioService struct {
// contains filtered or unexported fields
}
ScenarioService encapsulates proxy/scenario/requester information and runs the scenario.
func NewScenarioService ¶
func NewScenarioService() *ScenarioService
NewScenarioService is the constructor of the ScenarioService.
func (*ScenarioService) Do ¶
func (s *ScenarioService) Do(proxy *url.URL, startTime time.Time) ( response *types.ScenarioResult, err *types.RequestError)
Do executes the scenario for the given proxy. Returns "types.Response" filled by the requester of the given Proxy, injects the given startTime to the response Returns error only if types.Response.Err.Type is types.ErrorProxy or types.ErrorIntented
func (*ScenarioService) Done ¶ added in v0.7.7
func (s *ScenarioService) Done()
func (*ScenarioService) Init ¶
func (s *ScenarioService) Init(ctx context.Context, scenario types.Scenario, proxies []*url.URL, opts ScenarioOpts) (err error)
Init initializes the ScenarioService.clients with the given types.Scenario and proxies. Passes the given ctx to the underlying requestor so we are able to control the life of each request.