// Code generated by ogen, DO NOT EDIT. package ogent import ( "io" "mime" "net/http" "github.com/go-faster/errors" "github.com/go-faster/jx" "go.uber.org/multierr" "github.com/ogen-go/ogen/ogenerrors" "github.com/ogen-go/ogen/validate" ) func (s *Server) decodeCreateCardRequest(r *http.Request) ( req *CreateCardReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateCardReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeCreateGroupRequest(r *http.Request) ( req *CreateGroupReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateGroupReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeCreateMaRequest(r *http.Request) ( req *CreateMaReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateMaReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeCreateSevRequest(r *http.Request) ( req *CreateSevReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateSevReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeCreateUeRequest(r *http.Request) ( req *CreateUeReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateUeReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeCreateUserRequest(r *http.Request) ( req *CreateUserReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request CreateUserReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } if err := func() error { if err := request.Validate(); err != nil { return err } return nil }(); err != nil { return req, close, errors.Wrap(err, "validate") } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateCardRequest(r *http.Request) ( req *UpdateCardReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateCardReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateGroupRequest(r *http.Request) ( req *UpdateGroupReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateGroupReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateMaRequest(r *http.Request) ( req *UpdateMaReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateMaReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateSevRequest(r *http.Request) ( req *UpdateSevReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateSevReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateUeRequest(r *http.Request) ( req *UpdateUeReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateUeReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } } func (s *Server) decodeUpdateUserRequest(r *http.Request) ( req *UpdateUserReq, close func() error, rerr error, ) { var closers []func() error close = func() error { var merr error // Close in reverse order, to match defer behavior. for i := len(closers) - 1; i >= 0; i-- { c := closers[i] merr = multierr.Append(merr, c()) } return merr } defer func() { if rerr != nil { rerr = multierr.Append(rerr, close()) } }() ct, _, err := mime.ParseMediaType(r.Header.Get("Content-Type")) if err != nil { return req, close, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": if r.ContentLength == 0 { return req, close, validate.ErrBodyRequired } buf, err := io.ReadAll(r.Body) if err != nil { return req, close, err } if len(buf) == 0 { return req, close, validate.ErrBodyRequired } d := jx.DecodeBytes(buf) var request UpdateUserReq if err := func() error { if err := request.Decode(d); err != nil { return err } if err := d.Skip(); err != io.EOF { return errors.New("unexpected trailing data") } return nil }(); err != nil { err = &ogenerrors.DecodeBodyError{ ContentType: ct, Body: buf, Err: err, } return req, close, err } if err := func() error { if err := request.Validate(); err != nil { return err } return nil }(); err != nil { return req, close, errors.Wrap(err, "validate") } return &request, close, nil default: return req, close, validate.InvalidContentType(ct) } }