// Code generated by ogen, DO NOT EDIT. package openapi import ( "bytes" "io" "mime" "net/http" "github.com/go-faster/errors" "github.com/go-faster/jx" "github.com/ogen-go/ogen/ogenerrors" "github.com/ogen-go/ogen/validate" ) func decodeAddPageResponse(resp *http.Response) (res *Page, err error) { switch resp.StatusCode { case 201: // Code 201. ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Page if err := func() error { if err := response.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 res, err } return &response, nil default: return res, validate.InvalidContentType(ct) } } // Convenient error response. defRes, err := func() (res *ErrorStatusCode, err error) { ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Error if err := func() error { if err := response.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 res, err } return &ErrorStatusCode{ StatusCode: resp.StatusCode, Response: response, }, nil default: return res, validate.InvalidContentType(ct) } }() if err != nil { return res, errors.Wrap(err, "default") } return res, errors.Wrap(defRes, "error") } func decodeGetFileResponse(resp *http.Response) (res GetFileRes, err error) { switch resp.StatusCode { case 200: // Code 200. ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/pdf": reader := resp.Body b, err := io.ReadAll(reader) if err != nil { return res, err } response := GetFileOKApplicationPdf{Data: bytes.NewReader(b)} return &response, nil case ct == "text/html": reader := resp.Body b, err := io.ReadAll(reader) if err != nil { return res, err } response := GetFileOKTextHTML{Data: bytes.NewReader(b)} return &response, nil case ct == "text/plain": reader := resp.Body b, err := io.ReadAll(reader) if err != nil { return res, err } response := GetFileOKTextPlain{Data: bytes.NewReader(b)} return &response, nil default: return res, validate.InvalidContentType(ct) } case 404: // Code 404. return &GetFileNotFound{}, nil } // Convenient error response. defRes, err := func() (res *ErrorStatusCode, err error) { ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Error if err := func() error { if err := response.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 res, err } return &ErrorStatusCode{ StatusCode: resp.StatusCode, Response: response, }, nil default: return res, validate.InvalidContentType(ct) } }() if err != nil { return res, errors.Wrap(err, "default") } return res, errors.Wrap(defRes, "error") } func decodeGetPageResponse(resp *http.Response) (res GetPageRes, err error) { switch resp.StatusCode { case 200: // Code 200. ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response PageWithResults if err := func() error { if err := response.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 res, err } return &response, nil default: return res, validate.InvalidContentType(ct) } case 404: // Code 404. return &GetPageNotFound{}, nil } // Convenient error response. defRes, err := func() (res *ErrorStatusCode, err error) { ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Error if err := func() error { if err := response.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 res, err } return &ErrorStatusCode{ StatusCode: resp.StatusCode, Response: response, }, nil default: return res, validate.InvalidContentType(ct) } }() if err != nil { return res, errors.Wrap(err, "default") } return res, errors.Wrap(defRes, "error") } func decodeGetPagesResponse(resp *http.Response) (res Pages, err error) { switch resp.StatusCode { case 200: // Code 200. ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Pages if err := func() error { if err := response.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 res, err } return response, nil default: return res, validate.InvalidContentType(ct) } } // Convenient error response. defRes, err := func() (res *ErrorStatusCode, err error) { ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type")) if err != nil { return res, errors.Wrap(err, "parse media type") } switch { case ct == "application/json": buf, err := io.ReadAll(resp.Body) if err != nil { return res, err } d := jx.DecodeBytes(buf) var response Error if err := func() error { if err := response.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 res, err } return &ErrorStatusCode{ StatusCode: resp.StatusCode, Response: response, }, nil default: return res, validate.InvalidContentType(ct) } }() if err != nil { return res, errors.Wrap(err, "default") } return res, errors.Wrap(defRes, "error") }