| 12345678910111213141516171819202122232425262728293031323334353637 | // Copyright 2017 Manu Martinez-Almeida. All rights reserved.// Use of this source code is governed by a MIT style// license that can be found in the LICENSE file.//go:build !nomsgpackpackage bindingimport (	"bytes"	"io"	"net/http"	"github.com/ugorji/go/codec")type msgpackBinding struct{}func (msgpackBinding) Name() string {	return "msgpack"}func (msgpackBinding) Bind(req *http.Request, obj any) error {	return decodeMsgPack(req.Body, obj)}func (msgpackBinding) BindBody(body []byte, obj any) error {	return decodeMsgPack(bytes.NewReader(body), obj)}func decodeMsgPack(r io.Reader, obj any) error {	cdc := new(codec.MsgpackHandle)	if err := codec.NewDecoder(r, cdc).Decode(&obj); err != nil {		return err	}	return validate(obj)}
 |