|
@@ -110,14 +110,20 @@ func (s SettingID) String() string {
|
|
|
type frameParser func(fh FrameHeader, payload []byte) (Frame, error)
|
|
type frameParser func(fh FrameHeader, payload []byte) (Frame, error)
|
|
|
|
|
|
|
|
var frameParsers = map[FrameType]frameParser{
|
|
var frameParsers = map[FrameType]frameParser{
|
|
|
|
|
+ FrameData: nil, // TODO
|
|
|
|
|
+ FrameHeaders: parseHeadersFrame,
|
|
|
|
|
+ FramePriority: nil, // TODO
|
|
|
|
|
+ FrameRSTStream: nil, // TODO
|
|
|
FrameSettings: parseSettingsFrame,
|
|
FrameSettings: parseSettingsFrame,
|
|
|
|
|
+ FramePushPromise: nil, // TODO
|
|
|
|
|
+ FramePing: nil, // TODO
|
|
|
|
|
+ FrameGoAway: nil, // TODO
|
|
|
FrameWindowUpdate: parseWindowUpdateFrame,
|
|
FrameWindowUpdate: parseWindowUpdateFrame,
|
|
|
- FrameHeaders: parseHeadersFrame,
|
|
|
|
|
FrameContinuation: parseContinuationFrame,
|
|
FrameContinuation: parseContinuationFrame,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func typeFrameParser(t FrameType) frameParser {
|
|
func typeFrameParser(t FrameType) frameParser {
|
|
|
- if f, ok := frameParsers[t]; ok {
|
|
|
|
|
|
|
+ if f := frameParsers[t]; f != nil {
|
|
|
return f
|
|
return f
|
|
|
}
|
|
}
|
|
|
return parseUnknownFrame
|
|
return parseUnknownFrame
|