38 lines
779 B
Go
38 lines
779 B
Go
|
package client
|
||
|
|
||
|
import (
|
||
|
"crypto/tls"
|
||
|
"net"
|
||
|
"net/http"
|
||
|
"net/url"
|
||
|
"time"
|
||
|
|
||
|
cuc "git.loafle.net/commons_go/util/context"
|
||
|
)
|
||
|
|
||
|
type SocketBuilder interface {
|
||
|
SocketContext(parent cuc.Context) SocketContext
|
||
|
SocketHandler() SocketHandler
|
||
|
|
||
|
GetURL() *url.URL
|
||
|
GetRequestCookie() http.CookieJar
|
||
|
GetRequestHeader() http.Header
|
||
|
GetSubProtocols() []string
|
||
|
IsEnableCompression() bool
|
||
|
UseProxy(req *http.Request) (*url.URL, error)
|
||
|
GetHandshakeTimeout() time.Duration
|
||
|
Dial(network, addr string) (net.Conn, error)
|
||
|
GetTLSConfig() *tls.Config
|
||
|
GetReadBufferSize() int
|
||
|
GetWriteBufferSize() int
|
||
|
|
||
|
// Validate is check handler value
|
||
|
// If you override ths method, must call
|
||
|
//
|
||
|
// func (sh *SocketHandlers) Validate() {
|
||
|
// sh.SocketHandlers.Validate()
|
||
|
// ...
|
||
|
// }
|
||
|
Validate()
|
||
|
}
|