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

Method getEncodedWithContext

shared_state.go:312–341  ·  shared_state.go::SharedState.getEncodedWithContext

getEncodedWithContext returns a defensive copy of the encoded payload after decoding it into out, so callers can safely mutate the returned slice. nolint:gocritic // Keep unnamed returns for clarity.

(
	ctx context.Context,
	key string,
	out any,
	decoder func([]byte, any) error,
	format string,
)

Source from the content-addressed store, hash-verified

310//
311//nolint:gocritic // Keep unnamed returns for clarity.
312func (s *SharedState) getEncodedWithContext(
313 ctx context.Context,
314 key string,
315 out any,
316 decoder func([]byte, any) error,
317 format string,
318) ([]byte, bool, error) {
319 if err := s.ensureStorage(); err != nil {
320 return nil, false, err
321 }
322
323 storageKey, ok := s.storageKey(key)
324 if !ok {
325 return nil, false, nil
326 }
327
328 data, err := s.storage.GetWithContext(ctx, storageKey)
329 if err != nil {
330 return nil, false, err
331 }
332 if data == nil {
333 return nil, false, nil
334 }
335
336 if err := decodeSharedStateValue(data, out, decoder, format); err != nil {
337 return nil, false, err
338 }
339
340 return append([]byte(nil), data...), true, nil
341}
342
343func encodeSharedStateValue(v any, encoder func(any) ([]byte, error), format string) ([]byte, error) {
344 if encoder == nil {

Callers 4

GetJSONWithContextMethod · 0.95
GetMsgPackWithContextMethod · 0.95
GetCBORWithContextMethod · 0.95
GetXMLWithContextMethod · 0.95

Calls 4

ensureStorageMethod · 0.95
storageKeyMethod · 0.95
decodeSharedStateValueFunction · 0.85
GetWithContextMethod · 0.65

Tested by

no test coverage detected