Documentation
¶
Index ¶
- Constants
- func CheckAcceptWebSocket(rsp *http.Response) bool
- func CheckUpgradeWebSocket(req *http.Request) bool
- func NewProtoHandler(conf *Server) func(*http.Server, http.ResponseWriter, *http.Request)
- func Scheme(c net.Conn) string
- type BalanceHandler
- type HandlerMap
- type MockResponseWriter
- func (rw *MockResponseWriter) Flush() error
- func (rw *MockResponseWriter) Header() bfe_http.Header
- func (rw *MockResponseWriter) Hijack() (rwc net.Conn, buf *bfe_bufio.ReadWriter, err error)
- func (rw *MockResponseWriter) Write(data []byte) (int, error)
- func (rw *MockResponseWriter) WriteHeader(code int)
- type Server
- type ServerTester
- func (st *ServerTester) Close()
- func (st *ServerTester) Read(buf []byte) error
- func (st *ServerTester) WantError(e string)
- func (st *ServerTester) WebSocketHandshake(c *websocket.Config) error
- func (st *ServerTester) WebSocketRead(msg []byte) (int, error)
- func (st *ServerTester) WebSocketWrite(data []byte) (int, error)
- func (st *ServerTester) Write(data []byte) error
- type WebSocketState
Constants ¶
const (
WebSocket = "websocket"
)
Variables ¶
This section is empty.
Functions ¶
func CheckAcceptWebSocket ¶
CheckAcceptWebSocket checks whether server accept WebSocket protocol.
func CheckUpgradeWebSocket ¶
CheckUpgradeWebSocket checks whether client request for WebSocket protocol.
func NewProtoHandler ¶
NewProtoHandler returns protocol handler for websocket.
Types ¶
type BalanceHandler ¶
type BalanceHandler func(req interface{}) (*backend.BfeBackend, error)
BalanceHandler selects backend for current conn.
type HandlerMap ¶
type MockResponseWriter ¶
type MockResponseWriter struct {
// contains filtered or unexported fields
}
func NewMockResponseWriter ¶
func NewMockResponseWriter(conn net.Conn, brw *bfe_bufio.ReadWriter) *MockResponseWriter
func (*MockResponseWriter) Flush ¶
func (rw *MockResponseWriter) Flush() error
func (*MockResponseWriter) Header ¶
func (rw *MockResponseWriter) Header() bfe_http.Header
Header returns the header map that will be sent by WriteHeader. Changing the header after a call to WriteHeader (or Write) has no effect.
func (*MockResponseWriter) Hijack ¶
func (rw *MockResponseWriter) Hijack() (rwc net.Conn, buf *bfe_bufio.ReadWriter, err error)
func (*MockResponseWriter) Write ¶
func (rw *MockResponseWriter) Write(data []byte) (int, error)
Write writes the data to the connection as part of an HTTP reply.
func (*MockResponseWriter) WriteHeader ¶
func (rw *MockResponseWriter) WriteHeader(code int)
WriteHeader sends an HTTP response header with status code.
type Server ¶
type Server struct { // ConnectTimeout optionally specifies the timeout value (ms) to // connect backend. If zero, a default value is used. ConnectTimeout int // ConnectRetryMax optionally specifies the upper limit of connect // retris. If zero, a default value is used ConnectRetryMax int // BalanceHandler optionally specifies the handler for backends balance // BalanceHandler should not be nil. BalanceHandler BalanceHandler }
type ServerTester ¶
type ServerTester struct {
// contains filtered or unexported fields
}
func NewServerTester ¶
func NewServerTester(t testing.TB, h HandlerMap, c *Server) *ServerTester
func (*ServerTester) Close ¶
func (st *ServerTester) Close()
func (*ServerTester) Read ¶
func (st *ServerTester) Read(buf []byte) error
Read reads until timeout (client perspective)
func (*ServerTester) WantError ¶
func (st *ServerTester) WantError(e string)
WantError read and check error (client perspective)
func (*ServerTester) WebSocketHandshake ¶
func (st *ServerTester) WebSocketHandshake(c *websocket.Config) error
WebSocketHandshake starts websocket handshake (client perspective)
func (*ServerTester) WebSocketRead ¶
func (st *ServerTester) WebSocketRead(msg []byte) (int, error)
WebSocketRead recv websocket message (client perspective)
func (*ServerTester) WebSocketWrite ¶
func (st *ServerTester) WebSocketWrite(data []byte) (int, error)
WebSocketWrite sends webscoket message (client perspective)
func (*ServerTester) Write ¶
func (st *ServerTester) Write(data []byte) error
Write writes raw data (client perspective)
type WebSocketState ¶
type WebSocketState struct { WebSocketErrBalance *metrics.Counter WebSocketErrConnect *metrics.Counter WebSocketErrProxy *metrics.Counter WebSocketErrHandshake *metrics.Counter WebSocketErrBackendReject *metrics.Counter WebSocketErrTransfer *metrics.Counter WebSocketPanicConn *metrics.Counter WebSocketBytesRecv *metrics.Counter WebSocketBytesSent *metrics.Counter }
WebSocketState is internal state for WebSocket.
func GetWebSocketState ¶
func GetWebSocketState() *WebSocketState
GetWebSocketState returns internal state for WebSocket.