Documentation
¶
Index ¶
- type AcceptAll
- type AcceptOnlyAnnoymous
- type Config
- type Filter
- type Protocol
- type Proxy
- type ProxyInfo
- type ProxyPool
- func (pool *ProxyPool) Add(info ProxyInfo)
- func (pool *ProxyPool) AutoProxy() Proxy
- func (pool *ProxyPool) Count() int
- func (pool *ProxyPool) Feedback(proxy ProxyInfo, success bool, q *ProxyQuality)
- func (pool *ProxyPool) GetAllFixedProxy() []*ProxyInfo
- func (pool *ProxyPool) GetProxy(requestURL *url.URL) *ProxyInfo
- func (pool *ProxyPool) GetProxyState(info ProxyInfo) *ProxyState
- func (pool *ProxyPool) IsAvailable() bool
- func (pool *ProxyPool) Reload()
- func (pool *ProxyPool) Save()
- type ProxyQuality
- type ProxyState
- type ProxyStrategy
- type ValidateFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcceptOnlyAnnoymous ¶
type AcceptOnlyAnnoymous struct { }
func (*AcceptOnlyAnnoymous) Accept ¶
func (filter *AcceptOnlyAnnoymous) Accept(info *ProxyInfo) bool
type Config ¶
type Config struct { Validator ValidateFunc ValidateInterval int Filter Filter Provider provider.ProxyProvider ReloadInterval int ProxyStrategy ProxyStrategy AllowDirect bool // contains filtered or unexported fields }
func DefaultConfig ¶
func DefaultConfig() *Config
type ProxyPool ¶
type ProxyPool struct {
// contains filtered or unexported fields
}
func (*ProxyPool) Feedback ¶
func (pool *ProxyPool) Feedback(proxy ProxyInfo, success bool, q *ProxyQuality)
func (*ProxyPool) GetAllFixedProxy ¶
func (*ProxyPool) GetProxyState ¶
func (pool *ProxyPool) GetProxyState(info ProxyInfo) *ProxyState
func (*ProxyPool) IsAvailable ¶
type ProxyQuality ¶
type ProxyState ¶
type ProxyState struct { InsertTime time.Time ActiveTime time.Time SuccessCnt int FailCnt int Quality ProxyQuality AvgQ ProxyQuality }
type ProxyStrategy ¶
type ProxyStrategy func(map[ProxyInfo]ProxyState, *http.Request) *ProxyInfo
TODO modifiable in outer package
type ValidateFunc ¶
type ValidateFunc func(ProxyInfo) (*ProxyQuality, error)
Click to show internal directories.
Click to hide internal directories.