-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexport_test_internal.go
More file actions
106 lines (94 loc) · 3.29 KB
/
Copy pathexport_test_internal.go
File metadata and controls
106 lines (94 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//go:build !js
package blazewave
import (
"io"
"github.com/heyehang/blazewave/core/pool"
"github.com/heyehang/blazewave/internal/bufio"
)
// This file exports private functions and types for testing purposes.
// It uses package blazewave to access private members.
// Export private functions for testing
var (
NewConn = newConn
ParseClosePayload = parseClosePayload
ValidWireCloseCode = validWireCloseCode
NewMsgReader = newMsgReader
NewMsgWriter = newMsgWriter
NewLimitReader = newLimitReader
InitDialReaderWriter = initDialReaderWriter
InitAcceptReaderWriter = initAcceptReaderWriter
HandshakeRequest = handshakeRequest
SecWebSocketKeyFunc = secWebSocketKey
VerifySubprotocol = verifySubprotocol
VerifyServerExtensions = verifyServerExtensions
VerifyClientRequest = verifyClientRequest
AuthenticateOrigin = authenticateOrigin
Match = match
SelectSubprotocol = selectSubprotocol
SelectDeflate = selectDeflate
AcceptDeflate = acceptDeflate
HeaderContainsTokenIgnoreCase = headerContainsTokenIgnoreCase
WebsocketExtensions = websocketExtensions
HeaderTokens = headerTokens
ReadFrameHeader = readFrameHeader
WriteFrameHeader = writeFrameHeader
Mask = mask
MaskGo = maskGo
GetFlateReader = getFlateReader
PutFlateReader = putFlateReader
GetFlateWriter = getFlateWriter
PutFlateWriter = putFlateWriter
SlidingWindowPool = slidingWindowPool
ExtractBufioWriterBuf = extractBufioWriterBuf
NewMu = newMu
Hijacker = hijacker
)
// Export types for testing
type (
ConnConfig = connConfig
MsgReader = msgReader
MsgWriter = msgWriter
LimitReader = limitReader
Mu = mu
WebsocketExtension = websocketExtension
CompressionOptions = compressionOptions
RwUnwrapper = rwUnwrapper
Header = header
SlidingWindow = slidingWindow
)
// Export constants for testing
const (
MaxControlPayload = maxControlPayload
MaxCloseReason = maxCloseReason
)
// Export compression options for testing
func GetCompressionOptions(mode CompressionMode) *compressionOptions {
return mode.opts()
}
// Create compression options for testing
func NewCompressionOptions(clientNoContextTakeover, serverNoContextTakeover bool) *compressionOptions {
return &compressionOptions{
clientNoContextTakeover: clientNoContextTakeover,
serverNoContextTakeover: serverNoContextTakeover,
}
}
// Accessor methods for Conn private fields
func (c *Conn) GetBrBuf() *pool.Buffer {
return c.brBuf
}
func (c *Conn) GetBwBuf() *pool.Buffer {
return c.bwBuf
}
// Create conn config for testing
func NewConnConfig(rwc io.ReadWriteCloser, client bool, brPool, bwPool pool.BufferPool, br *bufio.Reader, brBuf *pool.Buffer, bw *bufio.Writer, bwBuf *pool.Buffer) connConfig {
return connConfig{
rwc: rwc,
client: client,
brPool: brPool,
br: br,
brBuf: brBuf,
bwPool: bwPool,
bw: bw,
bwBuf: bwBuf,
}
}