MCPcopy
hub / github.com/gofiber/fiber / DecodeMsg

Method DecodeMsg

middleware/cache/manager_msgp.go:176–375  ·  view source on GitHub ↗

DecodeMsg implements msgp.Decodable

(dc *msgp.Reader)

Source from the content-addressed store, hash-verified

174
175// DecodeMsg implements msgp.Decodable
176func (z *item) DecodeMsg(dc *msgp.Reader) (err error) {
177 var field []byte
178 _ = field
179 var zb0001 uint32
180 zb0001, err = dc.ReadMapHeader()
181 if err != nil {
182 err = msgp.WrapError(err)
183 return
184 }
185 for zb0001 > 0 {
186 zb0001--
187 field, err = dc.ReadMapKeyPtr()
188 if err != nil {
189 err = msgp.WrapError(err)
190 return
191 }
192 switch msgp.UnsafeString(field) {
193 case "headers":
194 var zb0002 uint32
195 zb0002, err = dc.ReadArrayHeader()
196 if err != nil {
197 err = msgp.WrapError(err, "headers")
198 return
199 }
200 if zb0002 > 1024 {
201 err = msgp.ErrLimitExceeded
202 return
203 }
204 if cap(z.headers) >= int(zb0002) {
205 z.headers = (z.headers)[:zb0002]
206 } else {
207 z.headers = make([]cachedHeader, zb0002)
208 }
209 for za0001 := range z.headers {
210 var zb0003 uint32
211 zb0003, err = dc.ReadMapHeader()
212 if err != nil {
213 err = msgp.WrapError(err, "headers", za0001)
214 return
215 }
216 if zb0003 > 1024 {
217 err = msgp.ErrLimitExceeded
218 return
219 }
220 for zb0003 > 0 {
221 zb0003--
222 field, err = dc.ReadMapKeyPtr()
223 if err != nil {
224 err = msgp.WrapError(err, "headers", za0001)
225 return
226 }
227 switch msgp.UnsafeString(field) {
228 case "key":
229 z.headers[za0001].key, err = dc.ReadBytesLimit(z.headers[za0001].key, 512)
230 if err == nil && z.headers[za0001].key == nil {
231 z.headers[za0001].key = []byte{}
232 }
233 if err != nil {

Calls

no outgoing calls