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

Function encodeSharedStateValue

shared_state.go:343–372  ·  view source on GitHub ↗
(v any, encoder func(any) ([]byte, error), format string)

Source from the content-addressed store, hash-verified

341}
342
343func encodeSharedStateValue(v any, encoder func(any) ([]byte, error), format string) ([]byte, error) {
344 if encoder == nil {
345 return nil, sharedStateCodecNotConfiguredError(format, "encoder")
346 }
347
348 var (
349 encoded []byte
350 err error
351 recovered any
352 )
353 func() {
354 // App-configured codecs may be nil or may still use Fiber's
355 // binder.Unimplemented* placeholders, which panic instead of returning an
356 // error, so recover here and surface a regular error.
357 defer func() {
358 recovered = recover()
359 }()
360
361 encoded, err = encoder(v)
362 }()
363
364 if recovered != nil {
365 return nil, sharedStateCodecPanicError("encode", format, recovered)
366 }
367 if err != nil {
368 return nil, fmt.Errorf("fiber: failed to encode shared state %s value: %w", format, err)
369 }
370
371 return encoded, nil
372}
373
374func decodeSharedStateValue(data []byte, out any, decoder func([]byte, any) error, format string) error {
375 if decoder == nil {

Callers 1

setEncodedWithContextMethod · 0.85

Calls 3

ErrorfMethod · 0.65

Tested by

no test coverage detected