Documentation
¶
Index ¶
- Variables
- func GetRandomUserAgent() string
- func WarmDNS(domains []string)
- type ConnectionPoolManager
- func (cpm *ConnectionPoolManager) BuildTransport(dialer *net.Dialer, proxyFunc func(*http.Request) (*url.URL, error)) *http.Transport
- func (cpm *ConnectionPoolManager) RecordH2Multiplex(host string)
- func (cpm *ConnectionPoolManager) RecordRequest(host string, latency time.Duration, statusCode int)
- func (cpm *ConnectionPoolManager) Stats() []HostPoolStats
- type HostPoolConfig
- type HostPoolStats
- type ProxyRotator
- type RateLimiterManager
- type ValidationCache
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultHostPoolConfig = HostPoolConfig{ MaxConnsPerHost: 100, MaxIdleConnsPerHost: 20, IdleTimeout: 120 * time.Second, }
Functions ¶
func GetRandomUserAgent ¶
func GetRandomUserAgent() string
Types ¶
type ConnectionPoolManager ¶ added in v1.0.9
type ConnectionPoolManager struct {
// contains filtered or unexported fields
}
func NewConnectionPoolManager ¶ added in v1.0.9
func NewConnectionPoolManager(config HostPoolConfig) *ConnectionPoolManager
func (*ConnectionPoolManager) BuildTransport ¶ added in v1.0.9
func (*ConnectionPoolManager) RecordH2Multiplex ¶ added in v1.0.9
func (cpm *ConnectionPoolManager) RecordH2Multiplex(host string)
func (*ConnectionPoolManager) RecordRequest ¶ added in v1.0.9
func (cpm *ConnectionPoolManager) RecordRequest(host string, latency time.Duration, statusCode int)
func (*ConnectionPoolManager) Stats ¶ added in v1.0.9
func (cpm *ConnectionPoolManager) Stats() []HostPoolStats
type HostPoolConfig ¶ added in v1.0.9
type HostPoolStats ¶ added in v1.0.9
type ProxyRotator ¶
type ProxyRotator struct {
// contains filtered or unexported fields
}
func NewHTTPClient ¶
func NewProxyRotator ¶
func NewProxyRotator(proxyInput string) (*ProxyRotator, error)
func (*ProxyRotator) FilterDeadProxies ¶ added in v1.0.9
func (pr *ProxyRotator) FilterDeadProxies(timeoutSecs int) int
func (*ProxyRotator) ReportFailure ¶ added in v1.0.9
func (pr *ProxyRotator) ReportFailure(pxy *url.URL)
type RateLimiterManager ¶ added in v1.0.9
type RateLimiterManager struct {
// contains filtered or unexported fields
}
func NewRateLimiterManager ¶ added in v1.0.9
func NewRateLimiterManager(r rate.Limit, b int) *RateLimiterManager
func (*RateLimiterManager) ReportResult ¶ added in v1.0.9
func (rm *RateLimiterManager) ReportResult(provider string, statusCode int)
func (*RateLimiterManager) SetLimit ¶ added in v1.0.9
func (rm *RateLimiterManager) SetLimit(provider string, r rate.Limit, b int)
type ValidationCache ¶ added in v1.0.9
type ValidationCache struct {
// contains filtered or unexported fields
}
func NewValidationCache ¶ added in v1.0.9
func NewValidationCache(ttl time.Duration, maxSize int) *ValidationCache
func (*ValidationCache) Get ¶ added in v1.0.9
func (c *ValidationCache) Get(provider, apiKey string) (*models.ValidationResult, bool)
func (*ValidationCache) Set ¶ added in v1.0.9
func (c *ValidationCache) Set(provider, apiKey string, result *models.ValidationResult)
func (*ValidationCache) Stats ¶ added in v1.0.9
func (c *ValidationCache) Stats() (hits, misses, size int)
Click to show internal directories.
Click to hide internal directories.