func HandleGet(fn Handler, key cas.Key, typ string, level uint8) (*chunks.Chunk, error) { if key.IsSpecial() { if key == cas.Empty { chunk := MakeChunk(typ, level, nil) return chunk, nil } return nil, cas.NotFound{ Type: typ, Level: level, Key: key, } } data, err := fn(key, typ, level) if err != nil { return nil, err } if data == nil { return nil, cas.NotFound{ Type: typ, Level: level, Key: key, } } chunk := MakeChunk(typ, level, data) return chunk, nil }