MCPcopy Create free account
hub / github.com/screego/server / ReadTypedIncoming

Function ReadTypedIncoming

ws/readwrite.go:28–46  ·  view source on GitHub ↗
(r io.Reader)

Source from the content-addressed store, hash-verified

26}
27
28func ReadTypedIncoming(r io.Reader) (Event, error) {
29 typed := Typed{}
30 if err := json.NewDecoder(r).Decode(&typed); err != nil {
31 return nil, fmt.Errorf("%s e", err)
32 }
33
34 create, ok := provider[typed.Type]
35
36 if !ok {
37 return nil, errors.New("cannot handle " + typed.Type)
38 }
39
40 payload := create()
41
42 if err := json.Unmarshal(typed.Payload, payload); err != nil {
43 return nil, fmt.Errorf("incoming payload %s", err)
44 }
45 return payload, nil
46}
47
48var provider = map[string]func() Event{}
49

Callers 1

startReadingMethod · 0.85

Calls 1

DecodeMethod · 0.80

Tested by

no test coverage detected