From ab2858fc703ffd88b5f3d341da4309e2102cd28c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Ma=C5=82ek?= Date: Wed, 11 Sep 2024 13:48:15 +0200 Subject: [PATCH] chore: regenerate using speakeasy 1.395.1 --- .speakeasy/gen.lock | 3985 +++++++++++++++++++++++-------- .speakeasy/gen.yaml | 2 +- README.md | 78 +- USAGE.md | 8 +- acls.go | 198 +- apikeys.go | 198 +- authentication.go | 43 +- authsettings.go | 494 +++- basicauthcredentials.go | 198 +- cacertificates.go | 205 +- certificates.go | 205 +- consumergroups.go | 238 +- consumers.go | 205 +- controlplanegroups.go | 395 ++- controlplanes.go | 425 +++- custompluginschemas.go | 315 ++- dpcertificates.go | 122 +- dpnodes.go | 155 +- hmacauthcredentials.go | 198 +- impersonationsettings.go | 116 +- internal/utils/json.go | 25 +- internal/utils/requestbody.go | 5 +- internal/utils/security.go | 12 +- invites.go | 53 +- jwts.go | 198 +- keys.go | 205 +- keysets.go | 205 +- me.go | 43 +- plugins.go | 548 ++++- roles.go | 461 +++- routes.go | 360 ++- sdk.go | 6 +- serverlesscloudgateways.go | 232 +- services.go | 205 +- snis.go | 360 ++- systemaccounts.go | 265 +- systemaccountsaccesstokens.go | 285 ++- systemaccountsroles.go | 169 +- systemaccountsteammembership.go | 202 +- targets.go | 155 +- teammembership.go | 182 +- teams.go | 255 +- upstreams.go | 205 +- users.go | 192 +- vaults.go | 205 +- 45 files changed, 10793 insertions(+), 2023 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 2f44250..bea8ae3 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -3,18 +3,18 @@ id: b81e5def-5b1e-4753-ae7c-0efccc2e6f61 management: docChecksum: ec4d3cb9876f69aa90a3374c55d5aae7 docVersion: 0.0.1 - speakeasyVersion: 1.377.3 - generationVersion: 2.404.2 - releaseVersion: 0.0.6 - configChecksum: 03fd65de363713bcd9ea0f771a41cbd9 + speakeasyVersion: 1.395.1 + generationVersion: 2.415.0 + releaseVersion: 0.0.7 + configChecksum: 6f594138dd6c8fa8c310f042d778ed80 features: go: additionalDependencies: 0.1.0 constsAndDefaults: 0.1.6 - core: 3.5.5 + core: 3.5.6 deepObjectParams: 0.1.0 defaultEnabledRetries: 0.2.0 - envVarSecurityUsage: 0.3.0 + envVarSecurityUsage: 0.3.1 flattening: 2.81.1 globalSecurity: 2.82.10 globalSecurityCallbacks: 0.1.0 @@ -29,1078 +29,3075 @@ features: sdkHooks: 0.1.0 unions: 2.85.9 generatedFiles: - - serverlesscloudgateways.go - - controlplanes.go - - acls.go - - basicauthcredentials.go - - cacertificates.go - - certificates.go - - snis.go - - consumergroups.go - - consumers.go - - hmacauthcredentials.go - - jwts.go - - apikeys.go - - keysets.go - - keys.go - - custompluginschemas.go - - plugins.go - - routes.go - - services.go - - upstreams.go - - targets.go - - vaults.go - - dpcertificates.go - - dpnodes.go - - controlplanegroups.go - - authentication.go - - authsettings.go - - invites.go - - impersonationsettings.go - - me.go - - roles.go - - systemaccounts.go - - systemaccountsaccesstokens.go - - systemaccountsroles.go - - systemaccountsteammembership.go - - teams.go - - teammembership.go - - users.go - - sdk.go - - go.mod - - models/sdkerrors/sdkerror.go - - retry/config.go - - types/bigint.go - - types/date.go - - types/datetime.go - - types/decimal.go - - types/pointers.go - - internal/utils/contenttype.go - - internal/utils/form.go - - internal/utils/headers.go - - internal/utils/json.go - - internal/utils/pathparams.go - - internal/utils/queryparams.go - - internal/utils/requestbody.go - - internal/utils/retries.go - - internal/utils/security.go - - internal/utils/utils.go - - /models/operations/listserverlesscloudgateway.go - - /models/operations/createserverlesscloudgateway.go - - /models/operations/getserverlesscloudgateway.go - - /models/operations/deleteserverlesscloudgateway.go - - /models/operations/listcontrolplanes.go - - /models/operations/createcontrolplane.go - - /models/operations/getcontrolplane.go - - /models/operations/updatecontrolplane.go - - /models/operations/deletecontrolplane.go - - /models/operations/listacl.go - - /models/operations/listaclwithconsumer.go + - .gitattributes + - /models/components/acl.go + - /models/components/aclwithoutparents.go + - /models/components/addsystemaccounttoteam.go + - /models/components/addusertoteam.go + - /models/components/assignedrole.go + - /models/components/assignedrolecollection.go + - /models/components/assignrole.go + - /models/components/authenticationsettings.go + - /models/components/basicauth.go + - /models/components/basicauthwithoutparents.go + - /models/components/cacertificate.go + - /models/components/cacertificateinput.go + - /models/components/certificate.go + - /models/components/certificateinput.go + - /models/components/consumer.go + - /models/components/consumergroup.go + - /models/components/consumergroupinput.go + - /models/components/consumerinput.go + - /models/components/controlplane.go + - /models/components/controlplanesummary.go + - /models/components/cpregion.go + - /models/components/createcontrolplanerequest.go + - /models/components/createpluginschemas.go + - /models/components/createserverlesscloudgatewayrequest.go + - /models/components/createsystemaccount.go + - /models/components/createsystemaccountaccesstoken.go + - /models/components/createteam.go + - /models/components/cursormetawithsizeandtotal.go + - /models/components/cursorpaginatedmetawithsizeandtotal.go + - /models/components/dataplaneclientcertificate.go + - /models/components/dataplaneclientcertificaterequest.go + - /models/components/getexpectedconfighash.go + - /models/components/getimpersonationsettingsresponse.go + - /models/components/getnode.go + - /models/components/groupconflict.go + - /models/components/groupconflictresource.go + - /models/components/groupmembership.go + - /models/components/groupmemberstatus.go + - /models/components/groupstatus.go + - /models/components/hmacauth.go + - /models/components/hmacauthwithoutparents.go + - /models/components/idp.go + - /models/components/invalidparameterchoiceitem.go + - /models/components/invalidparameterdependentitem.go + - /models/components/invalidparameterminimumlength.go + - /models/components/invalidparameters.go + - /models/components/invalidparameterstandard.go + - /models/components/invalidrules.go + - /models/components/inviteuser.go + - /models/components/jwt.go + - /models/components/jwtwithoutparents.go + - /models/components/key.go + - /models/components/keyauth.go + - /models/components/keyauthwithoutparents.go + - /models/components/keyset.go + - /models/components/keysetinput.go + - /models/components/listcontrolplanesresponse.go + - /models/components/listdataplanecertificatesresponse.go + - /models/components/listgroupmemberships.go + - /models/components/listnodes.go + - /models/components/listnodeseol.go + - /models/components/listpluginschemas.go + - /models/components/listserverlesscloudgatewaysresponse.go + - /models/components/meorganization.go + - /models/components/pagemeta.go + - /models/components/paginatedmeta.go + - /models/components/patchteamgroupmappings.go + - /models/components/plugin.go + - /models/components/pluginschemas.go + - /models/components/pluginwithoutparents.go + - /models/components/proxyurl.go + - /models/components/roles.go + - /models/components/route.go + - /models/components/routewithoutparents.go + - /models/components/security.go + - /models/components/serverlesscloudgateway.go + - /models/components/serverlesscontrolplane.go + - /models/components/service.go + - /models/components/sni.go + - /models/components/sniwithoutparents.go + - /models/components/stringfieldcontainsfilter.go + - /models/components/stringfieldfilter.go + - /models/components/systemaccount.go + - /models/components/systemaccountaccesstoken.go + - /models/components/systemaccountaccesstokencollection.go + - /models/components/systemaccountaccesstokencreated.go + - /models/components/systemaccountcollection.go + - /models/components/target.go + - /models/components/targetwithoutparents.go + - /models/components/team.go + - /models/components/teamcollection.go + - /models/components/teamgroupmapping.go + - /models/components/teamgroupmappingcollection.go + - /models/components/teammapping.go + - /models/components/teammappingcollection.go + - /models/components/teammappingresponse.go + - /models/components/updateauthenticationsettings.go + - /models/components/updatecontrolplanerequest.go + - /models/components/updateidpconfiguration.go + - /models/components/updateimpersonationsettingsrequest.go + - /models/components/updateimpersonationsettingsresponse.go + - /models/components/updatesystemaccount.go + - /models/components/updatesystemaccountaccesstoken.go + - /models/components/updateteam.go + - /models/components/updateteammappings.go + - /models/components/updateuser.go + - /models/components/upstream.go + - /models/components/user.go + - /models/components/usercollection.go + - /models/components/vault.go + - /models/operations/addconsumertogroup.go + - /models/operations/addusertoteam.go + - /models/operations/authenticatesso.go - /models/operations/createaclwithconsumer.go - - /models/operations/getaclwithconsumer.go - - /models/operations/upsertaclwithconsumer.go - - /models/operations/deleteaclwithconsumer.go - - /models/operations/listbasicauth.go - - /models/operations/listbasicauthwithconsumer.go - /models/operations/createbasicauthwithconsumer.go - - /models/operations/getbasicauthwithconsumer.go - - /models/operations/upsertbasicauthwithconsumer.go - - /models/operations/deletebasicauthwithconsumer.go - - /models/operations/listcacertificate.go - /models/operations/createcacertificate.go - - /models/operations/getcacertificate.go - - /models/operations/upsertcacertificate.go - - /models/operations/deletecacertificate.go - - /models/operations/listcertificate.go - /models/operations/createcertificate.go - - /models/operations/getcertificate.go - - /models/operations/upsertcertificate.go - - /models/operations/deletecertificate.go - - /models/operations/listsniwithcertificate.go - - /models/operations/createsniwithcertificate.go - - /models/operations/getsniwithcertificate.go - - /models/operations/upsertsniwithcertificate.go - - /models/operations/deletesniwithcertificate.go - - /models/operations/listsni.go - - /models/operations/createsni.go - - /models/operations/getsni.go - - /models/operations/upsertsni.go - - /models/operations/deletesni.go - - /models/operations/listconsumergroup.go - - /models/operations/createconsumergroup.go - - /models/operations/getconsumergroup.go - - /models/operations/upsertconsumergroup.go - - /models/operations/deleteconsumergroup.go - - /models/operations/addconsumertogroup.go - - /models/operations/listconsumer.go - /models/operations/createconsumer.go - - /models/operations/getconsumer.go - - /models/operations/upsertconsumer.go - - /models/operations/deleteconsumer.go - - /models/operations/listhmacauthwithconsumer.go + - /models/operations/createconsumergroup.go + - /models/operations/createcontrolplane.go + - /models/operations/createdataplanecertificate.go - /models/operations/createhmacauthwithconsumer.go - - /models/operations/gethmacauthwithconsumer.go - - /models/operations/upserthmacauthwithconsumer.go - - /models/operations/deletehmacauthwithconsumer.go - - /models/operations/listhmacauth.go - - /models/operations/listjwtwithconsumer.go - /models/operations/createjwtwithconsumer.go - - /models/operations/getjwtwithconsumer.go - - /models/operations/upsertjwtwithconsumer.go - - /models/operations/deletejwtwithconsumer.go - - /models/operations/listjwt.go - - /models/operations/listkeyauthwithconsumer.go + - /models/operations/createkey.go - /models/operations/createkeyauthwithconsumer.go - - /models/operations/getkeyauthwithconsumer.go - - /models/operations/upsertkeyauthwithconsumer.go - - /models/operations/deletekeyauthwithconsumer.go - - /models/operations/listkeyauth.go - - /models/operations/listkeyset.go - /models/operations/createkeyset.go - - /models/operations/getkeyset.go - - /models/operations/upsertkeyset.go - - /models/operations/deletekeyset.go - - /models/operations/listkey.go - - /models/operations/createkey.go - - /models/operations/getkey.go - - /models/operations/upsertkey.go - - /models/operations/deletekey.go - - /models/operations/listpluginschemas.go - - /models/operations/createpluginschemas.go - - /models/operations/getpluginschema.go - - /models/operations/updatepluginschemas.go - - /models/operations/deletepluginschemas.go - - /models/operations/listplugin.go - /models/operations/createplugin.go - - /models/operations/getplugin.go - - /models/operations/upsertplugin.go - - /models/operations/deleteplugin.go - - /models/operations/listpluginwithroute.go + - /models/operations/createpluginschemas.go - /models/operations/createpluginwithroute.go - - /models/operations/getpluginwithroute.go - - /models/operations/upsertpluginwithroute.go - - /models/operations/deletepluginwithroute.go - - /models/operations/fetchpluginschema.go - - /models/operations/listpluginwithservice.go - /models/operations/createpluginwithservice.go - - /models/operations/getpluginwithservice.go - - /models/operations/upsertpluginwithservice.go - - /models/operations/deletepluginwithservice.go - - /models/operations/listroute.go - /models/operations/createroute.go - - /models/operations/getroute.go - - /models/operations/upsertroute.go - - /models/operations/deleteroute.go - - /models/operations/listroutewithservice.go - /models/operations/createroutewithservice.go - - /models/operations/getroutewithservice.go - - /models/operations/upsertroutewithservice.go - - /models/operations/deleteroutewithservice.go - - /models/operations/listservice.go + - /models/operations/createserverlesscloudgateway.go - /models/operations/createservice.go - - /models/operations/getservice.go - - /models/operations/upsertservice.go - - /models/operations/deleteservice.go - - /models/operations/listupstream.go - - /models/operations/createupstream.go - - /models/operations/getupstream.go - - /models/operations/upsertupstream.go - - /models/operations/deleteupstream.go - - /models/operations/listtargetwithupstream.go + - /models/operations/createsni.go + - /models/operations/createsniwithcertificate.go - /models/operations/createtargetwithupstream.go - - /models/operations/gettargetwithupstream.go - - /models/operations/upserttargetwithupstream.go - - /models/operations/deletetargetwithupstream.go - - /models/operations/listvault.go + - /models/operations/createteam.go + - /models/operations/createupstream.go - /models/operations/createvault.go - - /models/operations/getvault.go - - /models/operations/upsertvault.go - - /models/operations/deletevault.go - - /models/operations/listdpclientcertificates.go - - /models/operations/createdataplanecertificate.go - - /models/operations/getdataplanecertificate.go + - /models/operations/deleteaclwithconsumer.go + - /models/operations/deletebasicauthwithconsumer.go + - /models/operations/deletecacertificate.go + - /models/operations/deletecertificate.go + - /models/operations/deleteconsumer.go + - /models/operations/deleteconsumergroup.go + - /models/operations/deletecontrolplane.go - /models/operations/deletedataplanecertificate.go - - /models/operations/getexpectedconfighash.go - - /models/operations/listdataplanenodes.go - - /models/operations/getnodesnodeid.go + - /models/operations/deletehmacauthwithconsumer.go + - /models/operations/deletejwtwithconsumer.go + - /models/operations/deletekey.go + - /models/operations/deletekeyauthwithconsumer.go + - /models/operations/deletekeyset.go - /models/operations/deletenodesnodeid.go - - /models/operations/getnodeseol.go - - /models/operations/getcontrolplanesidgroupmemberstatus.go + - /models/operations/deleteplugin.go + - /models/operations/deletepluginschemas.go + - /models/operations/deletepluginwithroute.go + - /models/operations/deletepluginwithservice.go + - /models/operations/deleteroute.go + - /models/operations/deleteroutewithservice.go + - /models/operations/deleteserverlesscloudgateway.go + - /models/operations/deleteservice.go + - /models/operations/deletesni.go + - /models/operations/deletesniwithcertificate.go + - /models/operations/deletesystemaccountsaccountidassignedrolesroleid.go + - /models/operations/deletesystemaccountsid.go + - /models/operations/deletesystemaccountsidaccesstokensid.go + - /models/operations/deletetargetwithupstream.go + - /models/operations/deleteteam.go + - /models/operations/deleteteamsteamidsystemaccountsaccountid.go + - /models/operations/deleteupstream.go + - /models/operations/deleteuser.go + - /models/operations/deletevault.go + - /models/operations/fetchpluginschema.go + - /models/operations/getaclwithconsumer.go + - /models/operations/getauthenticationsettings.go + - /models/operations/getbasicauthwithconsumer.go + - /models/operations/getcacertificate.go + - /models/operations/getcertificate.go + - /models/operations/getconsumer.go + - /models/operations/getconsumergroup.go + - /models/operations/getcontrolplane.go - /models/operations/getcontrolplanesidgroupmemberships.go - - /models/operations/postcontrolplanesidgroupmembershipsadd.go - - /models/operations/postcontrolplanesidgroupmembershipsremove.go + - /models/operations/getcontrolplanesidgroupmemberstatus.go - /models/operations/getcontrolplanesidgroupstatus.go - - /models/operations/authenticatesso.go - - /models/operations/getauthenticationsettings.go - - /models/operations/updateauthenticationsettings.go + - /models/operations/getdataplanecertificate.go + - /models/operations/getexpectedconfighash.go + - /models/operations/gethmacauthwithconsumer.go - /models/operations/getidpconfiguration.go - - /models/operations/updateidpconfiguration.go - - /models/operations/getteamgroupmappings.go - - /models/operations/patchteamgroupmappings.go - /models/operations/getidpteammappings.go - - /models/operations/updateidpteammappings.go - - /models/operations/inviteuser.go - /models/operations/getimpersonationsettings.go - - /models/operations/updateimpersonationsettings.go + - /models/operations/getjwtwithconsumer.go + - /models/operations/getkey.go + - /models/operations/getkeyauthwithconsumer.go + - /models/operations/getkeyset.go + - /models/operations/getnodeseol.go + - /models/operations/getnodesnodeid.go - /models/operations/getorganizationsme.go + - /models/operations/getplugin.go + - /models/operations/getpluginschema.go + - /models/operations/getpluginwithroute.go + - /models/operations/getpluginwithservice.go - /models/operations/getpredefinedroles.go - - /models/operations/listteamroles.go - - /models/operations/teamsassignrole.go - - /models/operations/teamsremoverole.go - - /models/operations/listuserroles.go - - /models/operations/usersassignrole.go - - /models/operations/usersremoverole.go - - /models/operations/getsystemaccounts.go - - /models/operations/postsystemaccounts.go - - /models/operations/getsystemaccountsid.go - - /models/operations/patchsystemaccountsid.go - - /models/operations/deletesystemaccountsid.go + - /models/operations/getroute.go + - /models/operations/getroutewithservice.go + - /models/operations/getserverlesscloudgateway.go + - /models/operations/getservice.go + - /models/operations/getsni.go + - /models/operations/getsniwithcertificate.go - /models/operations/getsystemaccountidaccesstokens.go - - /models/operations/postsystemaccountsidaccesstokens.go - - /models/operations/getsystemaccountsidaccesstokensid.go - - /models/operations/patchsystemaccountsidaccesstokensid.go - - /models/operations/deletesystemaccountsidaccesstokensid.go + - /models/operations/getsystemaccounts.go - /models/operations/getsystemaccountsaccountidassignedroles.go - - /models/operations/postsystemaccountsaccountidassignedroles.go - - /models/operations/deletesystemaccountsaccountidassignedrolesroleid.go - /models/operations/getsystemaccountsaccountidteams.go + - /models/operations/getsystemaccountsid.go + - /models/operations/getsystemaccountsidaccesstokensid.go + - /models/operations/gettargetwithupstream.go + - /models/operations/getteam.go + - /models/operations/getteamgroupmappings.go - /models/operations/getteamsteamidsystemaccounts.go - - /models/operations/postteamsteamidsystemaccounts.go - - /models/operations/deleteteamsteamidsystemaccountsaccountid.go + - /models/operations/getupstream.go + - /models/operations/getuser.go + - /models/operations/getvault.go + - /models/operations/inviteuser.go + - /models/operations/listacl.go + - /models/operations/listaclwithconsumer.go + - /models/operations/listbasicauth.go + - /models/operations/listbasicauthwithconsumer.go + - /models/operations/listcacertificate.go + - /models/operations/listcertificate.go + - /models/operations/listconsumer.go + - /models/operations/listconsumergroup.go + - /models/operations/listcontrolplanes.go + - /models/operations/listdataplanenodes.go + - /models/operations/listdpclientcertificates.go + - /models/operations/listhmacauth.go + - /models/operations/listhmacauthwithconsumer.go + - /models/operations/listjwt.go + - /models/operations/listjwtwithconsumer.go + - /models/operations/listkey.go + - /models/operations/listkeyauth.go + - /models/operations/listkeyauthwithconsumer.go + - /models/operations/listkeyset.go + - /models/operations/listplugin.go + - /models/operations/listpluginschemas.go + - /models/operations/listpluginwithroute.go + - /models/operations/listpluginwithservice.go + - /models/operations/listroute.go + - /models/operations/listroutewithservice.go + - /models/operations/listserverlesscloudgateway.go + - /models/operations/listservice.go + - /models/operations/listsni.go + - /models/operations/listsniwithcertificate.go + - /models/operations/listtargetwithupstream.go + - /models/operations/listteamroles.go - /models/operations/listteams.go - - /models/operations/createteam.go - - /models/operations/getteam.go - - /models/operations/updateteam.go - - /models/operations/deleteteam.go - /models/operations/listteamusers.go - - /models/operations/addusertoteam.go - - /models/operations/removeuserfromteam.go - - /models/operations/listuserteams.go + - /models/operations/listupstream.go + - /models/operations/listuserroles.go - /models/operations/listusers.go - - /models/operations/getuser.go + - /models/operations/listuserteams.go + - /models/operations/listvault.go + - /models/operations/patchsystemaccountsid.go + - /models/operations/patchsystemaccountsidaccesstokensid.go + - /models/operations/patchteamgroupmappings.go + - /models/operations/postcontrolplanesidgroupmembershipsadd.go + - /models/operations/postcontrolplanesidgroupmembershipsremove.go + - /models/operations/postsystemaccounts.go + - /models/operations/postsystemaccountsaccountidassignedroles.go + - /models/operations/postsystemaccountsidaccesstokens.go + - /models/operations/postteamsteamidsystemaccounts.go + - /models/operations/removeuserfromteam.go + - /models/operations/teamsassignrole.go + - /models/operations/teamsremoverole.go + - /models/operations/updateauthenticationsettings.go + - /models/operations/updatecontrolplane.go + - /models/operations/updateidpconfiguration.go + - /models/operations/updateidpteammappings.go + - /models/operations/updateimpersonationsettings.go + - /models/operations/updatepluginschemas.go + - /models/operations/updateteam.go - /models/operations/updateuser.go - - /models/operations/deleteuser.go - - /models/components/listserverlesscloudgatewaysresponse.go - - /models/components/serverlesscloudgateway.go - - /models/components/serverlesscontrolplane.go - - /models/components/cpregion.go - - /models/components/paginatedmeta.go - - /models/components/pagemeta.go - - /models/components/invalidparameters.go - - /models/components/invalidparameterstandard.go - - /models/components/invalidrules.go - - /models/components/invalidparameterminimumlength.go - - /models/components/invalidparameterchoiceitem.go - - /models/components/invalidparameterdependentitem.go - - /models/components/createserverlesscloudgatewayrequest.go - - /models/components/listcontrolplanesresponse.go - - /models/components/controlplane.go - - /models/components/createcontrolplanerequest.go - - /models/components/proxyurl.go - - /models/components/updatecontrolplanerequest.go - - /models/components/acl.go - - /models/components/aclwithoutparents.go - - /models/components/basicauth.go - - /models/components/basicauthwithoutparents.go - - /models/components/cacertificate.go - - /models/components/cacertificateinput.go - - /models/components/certificate.go - - /models/components/certificateinput.go - - /models/components/sni.go - - /models/components/sniwithoutparents.go - - /models/components/consumergroup.go - - /models/components/consumergroupinput.go - - /models/components/consumer.go - - /models/components/consumerinput.go - - /models/components/hmacauth.go - - /models/components/hmacauthwithoutparents.go - - /models/components/jwt.go - - /models/components/jwtwithoutparents.go - - /models/components/keyauth.go - - /models/components/keyauthwithoutparents.go - - /models/components/keyset.go - - /models/components/keysetinput.go - - /models/components/key.go - - /models/components/listpluginschemas.go - - /models/components/pluginschemas.go - - /models/components/createpluginschemas.go - - /models/components/plugin.go - - /models/components/pluginwithoutparents.go - - /models/components/route.go - - /models/components/routewithoutparents.go - - /models/components/service.go - - /models/components/upstream.go - - /models/components/target.go - - /models/components/targetwithoutparents.go - - /models/components/vault.go - - /models/components/listdataplanecertificatesresponse.go - - /models/components/dataplaneclientcertificate.go - - /models/components/dataplaneclientcertificaterequest.go - - /models/components/getexpectedconfighash.go - - /models/components/listnodes.go - - /models/components/getnode.go - - /models/components/listnodeseol.go - - /models/components/groupmemberstatus.go - - /models/components/listgroupmemberships.go - - /models/components/controlplanesummary.go - - /models/components/cursorpaginatedmetawithsizeandtotal.go - - /models/components/cursormetawithsizeandtotal.go - - /models/components/groupmembership.go - - /models/components/groupstatus.go - - /models/components/groupconflict.go - - /models/components/groupconflictresource.go - - /models/components/authenticationsettings.go - - /models/components/updateauthenticationsettings.go - - /models/components/idp.go - - /models/components/updateidpconfiguration.go - - /models/components/teamgroupmappingcollection.go - - /models/components/teamgroupmapping.go - - /models/components/patchteamgroupmappings.go - - /models/components/teammappingresponse.go - - /models/components/teammappingcollection.go - - /models/components/teammapping.go - - /models/components/updateteammappings.go - - /models/components/inviteuser.go - - /models/components/getimpersonationsettingsresponse.go - - /models/components/updateimpersonationsettingsresponse.go - - /models/components/updateimpersonationsettingsrequest.go - - /models/components/meorganization.go - - /models/components/roles.go - - /models/components/assignedrolecollection.go - - /models/components/assignedrole.go - - /models/components/assignrole.go - - /models/components/systemaccountcollection.go - - /models/components/systemaccount.go - - /models/components/stringfieldfilter.go - - /models/components/stringfieldcontainsfilter.go - - /models/components/createsystemaccount.go - - /models/components/updatesystemaccount.go - - /models/components/systemaccountaccesstokencollection.go - - /models/components/systemaccountaccesstoken.go - - /models/components/systemaccountaccesstokencreated.go - - /models/components/createsystemaccountaccesstoken.go - - /models/components/updatesystemaccountaccesstoken.go - - /models/components/teamcollection.go - - /models/components/team.go - - /models/components/addsystemaccounttoteam.go - - /models/components/createteam.go - - /models/components/updateteam.go - - /models/components/usercollection.go - - /models/components/user.go - - /models/components/addusertoteam.go - - /models/components/updateuser.go - - /models/components/security.go - - /models/sdkerrors/unauthorizederror.go - - /models/sdkerrors/forbiddenerror.go + - /models/operations/upsertaclwithconsumer.go + - /models/operations/upsertbasicauthwithconsumer.go + - /models/operations/upsertcacertificate.go + - /models/operations/upsertcertificate.go + - /models/operations/upsertconsumer.go + - /models/operations/upsertconsumergroup.go + - /models/operations/upserthmacauthwithconsumer.go + - /models/operations/upsertjwtwithconsumer.go + - /models/operations/upsertkey.go + - /models/operations/upsertkeyauthwithconsumer.go + - /models/operations/upsertkeyset.go + - /models/operations/upsertplugin.go + - /models/operations/upsertpluginwithroute.go + - /models/operations/upsertpluginwithservice.go + - /models/operations/upsertroute.go + - /models/operations/upsertroutewithservice.go + - /models/operations/upsertservice.go + - /models/operations/upsertsni.go + - /models/operations/upsertsniwithcertificate.go + - /models/operations/upserttargetwithupstream.go + - /models/operations/upsertupstream.go + - /models/operations/upsertvault.go + - /models/operations/usersassignrole.go + - /models/operations/usersremoverole.go - /models/sdkerrors/badrequesterror.go - - /models/sdkerrors/notfounderror.go - - /models/sdkerrors/serviceunavailable.go - /models/sdkerrors/conflicterror.go - - /models/sdkerrors/internalservererror.go + - /models/sdkerrors/forbiddenerror.go - /models/sdkerrors/gatewayunauthorizederror.go + - /models/sdkerrors/internalservererror.go + - /models/sdkerrors/notfounderror.go - /models/sdkerrors/preconditionfailed.go - /models/sdkerrors/ratelimited.go - - docs/models/operations/listserverlesscloudgatewayrequest.md - - docs/models/operations/listserverlesscloudgatewayresponse.md - - docs/models/operations/createserverlesscloudgatewayresponse.md - - docs/models/operations/getserverlesscloudgatewayrequest.md - - docs/models/operations/getserverlesscloudgatewayresponse.md - - docs/models/operations/deleteserverlesscloudgatewayrequest.md - - docs/models/operations/deleteserverlesscloudgatewayresponse.md - - docs/models/operations/listcontrolplanesrequest.md - - docs/models/operations/listcontrolplanesresponse.md - - docs/models/operations/createcontrolplaneresponse.md - - docs/models/operations/getcontrolplanerequest.md - - docs/models/operations/getcontrolplaneresponse.md - - docs/models/operations/updatecontrolplanerequest.md - - docs/models/operations/updatecontrolplaneresponse.md - - docs/models/operations/deletecontrolplanerequest.md - - docs/models/operations/deletecontrolplaneresponse.md - - docs/models/operations/listaclrequest.md - - docs/models/operations/listaclresponsebody.md - - docs/models/operations/listaclresponse.md - - docs/models/operations/listaclwithconsumerrequest.md - - docs/models/operations/listaclwithconsumerresponsebody.md - - docs/models/operations/listaclwithconsumerresponse.md - - docs/models/operations/createaclwithconsumerrequest.md - - docs/models/operations/createaclwithconsumerresponse.md - - docs/models/operations/getaclwithconsumerrequest.md - - docs/models/operations/getaclwithconsumerresponse.md - - docs/models/operations/upsertaclwithconsumerrequest.md - - docs/models/operations/upsertaclwithconsumerresponse.md - - docs/models/operations/deleteaclwithconsumerrequest.md - - docs/models/operations/deleteaclwithconsumerresponse.md - - docs/models/operations/listbasicauthrequest.md - - docs/models/operations/listbasicauthresponsebody.md - - docs/models/operations/listbasicauthresponse.md - - docs/models/operations/listbasicauthwithconsumerrequest.md - - docs/models/operations/listbasicauthwithconsumerresponsebody.md - - docs/models/operations/listbasicauthwithconsumerresponse.md - - docs/models/operations/createbasicauthwithconsumerrequest.md - - docs/models/operations/createbasicauthwithconsumerresponse.md - - docs/models/operations/getbasicauthwithconsumerrequest.md - - docs/models/operations/getbasicauthwithconsumerresponse.md - - docs/models/operations/upsertbasicauthwithconsumerrequest.md - - docs/models/operations/upsertbasicauthwithconsumerresponse.md - - docs/models/operations/deletebasicauthwithconsumerrequest.md - - docs/models/operations/deletebasicauthwithconsumerresponse.md - - docs/models/operations/listcacertificaterequest.md - - docs/models/operations/listcacertificateresponsebody.md - - docs/models/operations/listcacertificateresponse.md - - docs/models/operations/createcacertificaterequest.md - - docs/models/operations/createcacertificateresponse.md - - docs/models/operations/getcacertificaterequest.md - - docs/models/operations/getcacertificateresponse.md - - docs/models/operations/upsertcacertificaterequest.md - - docs/models/operations/upsertcacertificateresponse.md - - docs/models/operations/deletecacertificaterequest.md - - docs/models/operations/deletecacertificateresponse.md - - docs/models/operations/listcertificaterequest.md - - docs/models/operations/listcertificateresponsebody.md - - docs/models/operations/listcertificateresponse.md - - docs/models/operations/createcertificaterequest.md - - docs/models/operations/createcertificateresponse.md - - docs/models/operations/getcertificaterequest.md - - docs/models/operations/getcertificateresponse.md - - docs/models/operations/upsertcertificaterequest.md - - docs/models/operations/upsertcertificateresponse.md - - docs/models/operations/deletecertificaterequest.md - - docs/models/operations/deletecertificateresponse.md - - docs/models/operations/listsniwithcertificaterequest.md - - docs/models/operations/listsniwithcertificateresponsebody.md - - docs/models/operations/listsniwithcertificateresponse.md - - docs/models/operations/createsniwithcertificaterequest.md - - docs/models/operations/createsniwithcertificateresponse.md - - docs/models/operations/getsniwithcertificaterequest.md - - docs/models/operations/getsniwithcertificateresponse.md - - docs/models/operations/upsertsniwithcertificaterequest.md - - docs/models/operations/upsertsniwithcertificateresponse.md - - docs/models/operations/deletesniwithcertificaterequest.md - - docs/models/operations/deletesniwithcertificateresponse.md - - docs/models/operations/listsnirequest.md - - docs/models/operations/listsniresponsebody.md - - docs/models/operations/listsniresponse.md - - docs/models/operations/createsnirequest.md - - docs/models/operations/createsniresponse.md - - docs/models/operations/getsnirequest.md - - docs/models/operations/getsniresponse.md - - docs/models/operations/upsertsnirequest.md - - docs/models/operations/upsertsniresponse.md - - docs/models/operations/deletesnirequest.md - - docs/models/operations/deletesniresponse.md - - docs/models/operations/listconsumergrouprequest.md - - docs/models/operations/listconsumergroupresponsebody.md - - docs/models/operations/listconsumergroupresponse.md - - docs/models/operations/createconsumergrouprequest.md - - docs/models/operations/createconsumergroupresponse.md - - docs/models/operations/getconsumergrouprequest.md - - docs/models/operations/getconsumergroupresponse.md - - docs/models/operations/upsertconsumergrouprequest.md - - docs/models/operations/upsertconsumergroupresponse.md - - docs/models/operations/deleteconsumergrouprequest.md - - docs/models/operations/deleteconsumergroupresponse.md - - docs/models/operations/addconsumertogrouprequestbody.md - - docs/models/operations/addconsumertogrouprequest.md - - docs/models/operations/addconsumertogroupresponsebody.md - - docs/models/operations/addconsumertogroupresponse.md - - docs/models/operations/listconsumerrequest.md - - docs/models/operations/listconsumerresponsebody.md - - docs/models/operations/listconsumerresponse.md - - docs/models/operations/createconsumerrequest.md - - docs/models/operations/createconsumerresponse.md - - docs/models/operations/getconsumerrequest.md - - docs/models/operations/getconsumerresponse.md - - docs/models/operations/upsertconsumerrequest.md - - docs/models/operations/upsertconsumerresponse.md - - docs/models/operations/deleteconsumerrequest.md - - docs/models/operations/deleteconsumerresponse.md - - docs/models/operations/listhmacauthwithconsumerrequest.md - - docs/models/operations/listhmacauthwithconsumerresponsebody.md - - docs/models/operations/listhmacauthwithconsumerresponse.md - - docs/models/operations/createhmacauthwithconsumerrequest.md - - docs/models/operations/createhmacauthwithconsumerresponse.md - - docs/models/operations/gethmacauthwithconsumerrequest.md - - docs/models/operations/gethmacauthwithconsumerresponse.md - - docs/models/operations/upserthmacauthwithconsumerrequest.md - - docs/models/operations/upserthmacauthwithconsumerresponse.md - - docs/models/operations/deletehmacauthwithconsumerrequest.md - - docs/models/operations/deletehmacauthwithconsumerresponse.md - - docs/models/operations/listhmacauthrequest.md - - docs/models/operations/listhmacauthresponsebody.md - - docs/models/operations/listhmacauthresponse.md - - docs/models/operations/listjwtwithconsumerrequest.md - - docs/models/operations/listjwtwithconsumerresponsebody.md - - docs/models/operations/listjwtwithconsumerresponse.md - - docs/models/operations/createjwtwithconsumerrequest.md - - docs/models/operations/createjwtwithconsumerresponse.md - - docs/models/operations/getjwtwithconsumerrequest.md - - docs/models/operations/getjwtwithconsumerresponse.md - - docs/models/operations/upsertjwtwithconsumerrequest.md - - docs/models/operations/upsertjwtwithconsumerresponse.md - - docs/models/operations/deletejwtwithconsumerrequest.md - - docs/models/operations/deletejwtwithconsumerresponse.md - - docs/models/operations/listjwtrequest.md - - docs/models/operations/listjwtresponsebody.md - - docs/models/operations/listjwtresponse.md - - docs/models/operations/listkeyauthwithconsumerrequest.md - - docs/models/operations/listkeyauthwithconsumerresponsebody.md - - docs/models/operations/listkeyauthwithconsumerresponse.md - - docs/models/operations/createkeyauthwithconsumerrequest.md - - docs/models/operations/createkeyauthwithconsumerresponse.md - - docs/models/operations/getkeyauthwithconsumerrequest.md - - docs/models/operations/getkeyauthwithconsumerresponse.md - - docs/models/operations/upsertkeyauthwithconsumerrequest.md - - docs/models/operations/upsertkeyauthwithconsumerresponse.md - - docs/models/operations/deletekeyauthwithconsumerrequest.md - - docs/models/operations/deletekeyauthwithconsumerresponse.md - - docs/models/operations/listkeyauthrequest.md - - docs/models/operations/listkeyauthresponsebody.md - - docs/models/operations/listkeyauthresponse.md - - docs/models/operations/listkeysetrequest.md - - docs/models/operations/listkeysetresponsebody.md - - docs/models/operations/listkeysetresponse.md - - docs/models/operations/createkeysetrequest.md - - docs/models/operations/createkeysetresponse.md - - docs/models/operations/getkeysetrequest.md - - docs/models/operations/getkeysetresponse.md - - docs/models/operations/upsertkeysetrequest.md - - docs/models/operations/upsertkeysetresponse.md - - docs/models/operations/deletekeysetrequest.md - - docs/models/operations/deletekeysetresponse.md - - docs/models/operations/listkeyrequest.md - - docs/models/operations/listkeyresponsebody.md - - docs/models/operations/listkeyresponse.md - - docs/models/operations/createkeyrequest.md - - docs/models/operations/createkeyresponse.md - - docs/models/operations/getkeyrequest.md - - docs/models/operations/getkeyresponse.md - - docs/models/operations/upsertkeyrequest.md - - docs/models/operations/upsertkeyresponse.md - - docs/models/operations/deletekeyrequest.md - - docs/models/operations/deletekeyresponse.md - - docs/models/operations/listpluginschemasrequest.md - - docs/models/operations/listpluginschemasresponse.md - - docs/models/operations/createpluginschemasrequest.md - - docs/models/operations/createpluginschemasresponse.md - - docs/models/operations/getpluginschemarequest.md - - docs/models/operations/getpluginschemaresponse.md - - docs/models/operations/updatepluginschemasrequest.md - - docs/models/operations/updatepluginschemasresponse.md - - docs/models/operations/deletepluginschemasrequest.md - - docs/models/operations/deletepluginschemasresponse.md - - docs/models/operations/listpluginrequest.md - - docs/models/operations/listpluginresponsebody.md - - docs/models/operations/listpluginresponse.md - - docs/models/operations/createpluginrequest.md - - docs/models/operations/createpluginresponse.md - - docs/models/operations/getpluginrequest.md - - docs/models/operations/getpluginresponse.md - - docs/models/operations/upsertpluginrequest.md - - docs/models/operations/upsertpluginresponse.md - - docs/models/operations/deletepluginrequest.md - - docs/models/operations/deletepluginresponse.md - - docs/models/operations/listpluginwithrouterequest.md - - docs/models/operations/listpluginwithrouteresponsebody.md - - docs/models/operations/listpluginwithrouteresponse.md - - docs/models/operations/createpluginwithrouterequest.md - - docs/models/operations/createpluginwithrouteresponse.md - - docs/models/operations/getpluginwithrouterequest.md - - docs/models/operations/getpluginwithrouteresponse.md - - docs/models/operations/upsertpluginwithrouterequest.md - - docs/models/operations/upsertpluginwithrouteresponse.md - - docs/models/operations/deletepluginwithrouterequest.md - - docs/models/operations/deletepluginwithrouteresponse.md - - docs/models/operations/fetchpluginschemarequest.md - - docs/models/operations/fetchpluginschemaresponsebody.md - - docs/models/operations/fetchpluginschemaresponse.md - - docs/models/operations/listpluginwithservicerequest.md - - docs/models/operations/listpluginwithserviceresponsebody.md - - docs/models/operations/listpluginwithserviceresponse.md - - docs/models/operations/createpluginwithservicerequest.md - - docs/models/operations/createpluginwithserviceresponse.md - - docs/models/operations/getpluginwithservicerequest.md - - docs/models/operations/getpluginwithserviceresponse.md - - docs/models/operations/upsertpluginwithservicerequest.md - - docs/models/operations/upsertpluginwithserviceresponse.md - - docs/models/operations/deletepluginwithservicerequest.md - - docs/models/operations/deletepluginwithserviceresponse.md - - docs/models/operations/listrouterequest.md - - docs/models/operations/listrouteresponsebody.md - - docs/models/operations/listrouteresponse.md - - docs/models/operations/createrouterequest.md - - docs/models/operations/createrouteresponse.md - - docs/models/operations/getrouterequest.md - - docs/models/operations/getrouteresponse.md - - docs/models/operations/upsertrouterequest.md - - docs/models/operations/upsertrouteresponse.md - - docs/models/operations/deleterouterequest.md - - docs/models/operations/deleterouteresponse.md - - docs/models/operations/listroutewithservicerequest.md - - docs/models/operations/listroutewithserviceresponsebody.md - - docs/models/operations/listroutewithserviceresponse.md - - docs/models/operations/createroutewithservicerequest.md - - docs/models/operations/createroutewithserviceresponse.md - - docs/models/operations/getroutewithservicerequest.md - - docs/models/operations/getroutewithserviceresponse.md - - docs/models/operations/upsertroutewithservicerequest.md - - docs/models/operations/upsertroutewithserviceresponse.md - - docs/models/operations/deleteroutewithservicerequest.md - - docs/models/operations/deleteroutewithserviceresponse.md - - docs/models/operations/listservicerequest.md - - docs/models/operations/listserviceresponsebody.md - - docs/models/operations/listserviceresponse.md - - docs/models/operations/createservicerequest.md - - docs/models/operations/createserviceresponse.md - - docs/models/operations/getservicerequest.md - - docs/models/operations/getserviceresponse.md - - docs/models/operations/upsertservicerequest.md - - docs/models/operations/upsertserviceresponse.md - - docs/models/operations/deleteservicerequest.md - - docs/models/operations/deleteserviceresponse.md - - docs/models/operations/listupstreamrequest.md - - docs/models/operations/listupstreamresponsebody.md - - docs/models/operations/listupstreamresponse.md - - docs/models/operations/createupstreamrequest.md - - docs/models/operations/createupstreamresponse.md - - docs/models/operations/getupstreamrequest.md - - docs/models/operations/getupstreamresponse.md - - docs/models/operations/upsertupstreamrequest.md - - docs/models/operations/upsertupstreamresponse.md - - docs/models/operations/deleteupstreamrequest.md - - docs/models/operations/deleteupstreamresponse.md - - docs/models/operations/listtargetwithupstreamrequest.md - - docs/models/operations/listtargetwithupstreamresponsebody.md - - docs/models/operations/listtargetwithupstreamresponse.md - - docs/models/operations/createtargetwithupstreamrequest.md - - docs/models/operations/createtargetwithupstreamresponse.md - - docs/models/operations/gettargetwithupstreamrequest.md - - docs/models/operations/gettargetwithupstreamresponse.md - - docs/models/operations/upserttargetwithupstreamrequest.md - - docs/models/operations/upserttargetwithupstreamresponse.md - - docs/models/operations/deletetargetwithupstreamrequest.md - - docs/models/operations/deletetargetwithupstreamresponse.md - - docs/models/operations/listvaultrequest.md - - docs/models/operations/listvaultresponsebody.md - - docs/models/operations/listvaultresponse.md - - docs/models/operations/createvaultrequest.md - - docs/models/operations/createvaultresponse.md - - docs/models/operations/getvaultrequest.md - - docs/models/operations/getvaultresponse.md - - docs/models/operations/upsertvaultrequest.md - - docs/models/operations/upsertvaultresponse.md - - docs/models/operations/deletevaultrequest.md - - docs/models/operations/deletevaultresponse.md - - docs/models/operations/listdpclientcertificatesrequest.md - - docs/models/operations/listdpclientcertificatesresponse.md - - docs/models/operations/createdataplanecertificaterequest.md - - docs/models/operations/createdataplanecertificateresponse.md - - docs/models/operations/getdataplanecertificaterequest.md - - docs/models/operations/getdataplanecertificateresponse.md - - docs/models/operations/deletedataplanecertificaterequest.md - - docs/models/operations/deletedataplanecertificateresponse.md - - docs/models/operations/getexpectedconfighashrequest.md - - docs/models/operations/getexpectedconfighashresponse.md - - docs/models/operations/listdataplanenodesrequest.md - - docs/models/operations/listdataplanenodesresponse.md - - docs/models/operations/getnodesnodeidrequest.md - - docs/models/operations/getnodesnodeidresponse.md - - docs/models/operations/deletenodesnodeidrequest.md - - docs/models/operations/deletenodesnodeidresponse.md - - docs/models/operations/getnodeseolrequest.md - - docs/models/operations/getnodeseolresponse.md - - docs/models/operations/getcontrolplanesidgroupmemberstatusrequest.md - - docs/models/operations/getcontrolplanesidgroupmemberstatusresponse.md - - docs/models/operations/getcontrolplanesidgroupmembershipsrequest.md - - docs/models/operations/getcontrolplanesidgroupmembershipsresponse.md - - docs/models/operations/postcontrolplanesidgroupmembershipsaddrequest.md - - docs/models/operations/postcontrolplanesidgroupmembershipsaddresponse.md - - docs/models/operations/postcontrolplanesidgroupmembershipsremoverequest.md - - docs/models/operations/postcontrolplanesidgroupmembershipsremoveresponse.md - - docs/models/operations/getcontrolplanesidgroupstatusrequest.md - - docs/models/operations/getcontrolplanesidgroupstatusresponse.md - - docs/models/operations/authenticatessorequest.md - - docs/models/operations/authenticatessoresponse.md - - docs/models/operations/getauthenticationsettingsresponse.md - - docs/models/operations/updateauthenticationsettingsresponse.md - - docs/models/operations/getidpconfigurationresponse.md - - docs/models/operations/updateidpconfigurationresponse.md - - docs/models/operations/getteamgroupmappingsrequest.md - - docs/models/operations/getteamgroupmappingsresponse.md - - docs/models/operations/patchteamgroupmappingsresponse.md - - docs/models/operations/getidpteammappingsrequest.md - - docs/models/operations/getidpteammappingsresponse.md - - docs/models/operations/updateidpteammappingsresponse.md - - docs/models/operations/inviteuserresponse.md - - docs/models/operations/getimpersonationsettingsresponse.md - - docs/models/operations/updateimpersonationsettingsresponse.md - - docs/models/operations/getorganizationsmeresponse.md - - docs/models/operations/getpredefinedrolesresponse.md - - docs/models/operations/listteamrolesqueryparamfilter.md - - docs/models/operations/listteamrolesrequest.md - - docs/models/operations/listteamrolesresponse.md - - docs/models/operations/teamsassignrolerequest.md - - docs/models/operations/teamsassignroleresponse.md - - docs/models/operations/teamsremoverolerequest.md - - docs/models/operations/teamsremoveroleresponse.md - - docs/models/operations/listuserrolesqueryparamfilter.md - - docs/models/operations/listuserrolesrequest.md - - docs/models/operations/listuserrolesresponse.md - - docs/models/operations/usersassignrolerequest.md - - docs/models/operations/usersassignroleresponse.md - - docs/models/operations/usersremoverolerequest.md - - docs/models/operations/usersremoveroleresponse.md - - docs/models/operations/filter.md - - docs/models/operations/getsystemaccountsrequest.md - - docs/models/operations/getsystemaccountsresponse.md - - docs/models/operations/postsystemaccountsresponse.md - - docs/models/operations/getsystemaccountsidrequest.md - - docs/models/operations/getsystemaccountsidresponse.md - - docs/models/operations/patchsystemaccountsidrequest.md - - docs/models/operations/patchsystemaccountsidresponse.md - - docs/models/operations/deletesystemaccountsidrequest.md - - docs/models/operations/deletesystemaccountsidresponse.md - - docs/models/operations/queryparamfilter.md - - docs/models/operations/getsystemaccountidaccesstokensrequest.md - - docs/models/operations/getsystemaccountidaccesstokensresponse.md - - docs/models/operations/postsystemaccountsidaccesstokensrequest.md - - docs/models/operations/postsystemaccountsidaccesstokensresponse.md - - docs/models/operations/getsystemaccountsidaccesstokensidrequest.md - - docs/models/operations/getsystemaccountsidaccesstokensidresponse.md - - docs/models/operations/patchsystemaccountsidaccesstokensidrequest.md - - docs/models/operations/patchsystemaccountsidaccesstokensidresponse.md - - docs/models/operations/deletesystemaccountsidaccesstokensidrequest.md - - docs/models/operations/deletesystemaccountsidaccesstokensidresponse.md - - docs/models/operations/getsystemaccountsaccountidassignedrolesqueryparamfilter.md - - docs/models/operations/getsystemaccountsaccountidassignedrolesrequest.md - - docs/models/operations/getsystemaccountsaccountidassignedrolesresponse.md - - docs/models/operations/postsystemaccountsaccountidassignedrolesrequest.md - - docs/models/operations/postsystemaccountsaccountidassignedrolesresponse.md - - docs/models/operations/deletesystemaccountsaccountidassignedrolesroleidrequest.md - - docs/models/operations/deletesystemaccountsaccountidassignedrolesroleidresponse.md - - docs/models/operations/getsystemaccountsaccountidteamsqueryparamfilter.md - - docs/models/operations/getsystemaccountsaccountidteamsrequest.md - - docs/models/operations/getsystemaccountsaccountidteamsresponse.md - - docs/models/operations/getteamsteamidsystemaccountsqueryparamfilter.md - - docs/models/operations/getteamsteamidsystemaccountsrequest.md - - docs/models/operations/getteamsteamidsystemaccountsresponse.md - - docs/models/operations/postteamsteamidsystemaccountsrequest.md - - docs/models/operations/postteamsteamidsystemaccountsresponse.md - - docs/models/operations/deleteteamsteamidsystemaccountsaccountidrequest.md - - docs/models/operations/deleteteamsteamidsystemaccountsaccountidresponse.md - - docs/models/operations/listteamsqueryparamfilter.md - - docs/models/operations/listteamsrequest.md - - docs/models/operations/listteamsresponse.md - - docs/models/operations/createteamresponse.md - - docs/models/operations/getteamrequest.md - - docs/models/operations/getteamresponse.md - - docs/models/operations/updateteamrequest.md - - docs/models/operations/updateteamresponse.md - - docs/models/operations/deleteteamrequest.md - - docs/models/operations/deleteteamresponse.md - - docs/models/operations/listteamusersqueryparamfilter.md - - docs/models/operations/listteamusersrequest.md - - docs/models/operations/listteamusersresponse.md - - docs/models/operations/addusertoteamrequest.md - - docs/models/operations/addusertoteamresponse.md - - docs/models/operations/removeuserfromteamrequest.md - - docs/models/operations/removeuserfromteamresponse.md - - docs/models/operations/listuserteamsqueryparamfilter.md - - docs/models/operations/listuserteamsrequest.md - - docs/models/operations/listuserteamsresponse.md - - docs/models/operations/listusersqueryparamfilter.md - - docs/models/operations/listusersrequest.md - - docs/models/operations/listusersresponse.md - - docs/models/operations/getuserrequest.md - - docs/models/operations/getuserresponse.md - - docs/models/operations/updateuserrequest.md - - docs/models/operations/updateuserresponse.md - - docs/models/operations/deleteuserrequest.md - - docs/models/operations/deleteuserresponse.md - - docs/models/components/listserverlesscloudgatewaysresponse.md - - docs/models/components/serverlesscloudgateway.md - - docs/models/components/serverlesscontrolplane.md - - docs/models/components/cpregion.md - - docs/models/components/paginatedmeta.md - - docs/models/components/pagemeta.md - - docs/models/components/invalidparameters.md - - docs/models/components/invalidparameterstandard.md - - docs/models/components/invalidrules.md - - docs/models/components/rule.md - - docs/models/components/invalidparameterminimumlength.md - - docs/models/components/invalidparameterchoiceitemrule.md - - docs/models/components/invalidparameterchoiceitem.md - - docs/models/components/invalidparameterdependentitemrule.md - - docs/models/components/invalidparameterdependentitem.md - - docs/models/components/createserverlesscloudgatewayrequest.md - - docs/models/components/listcontrolplanesresponse.md - - docs/models/components/config.md - - docs/models/components/controlplane.md - - docs/models/components/clustertype.md - - docs/models/components/authtype.md - - docs/models/components/createcontrolplanerequest.md - - docs/models/components/proxyurl.md - - docs/models/components/updatecontrolplanerequestauthtype.md - - docs/models/components/updatecontrolplanerequest.md - - docs/models/components/aclconsumer.md + - /models/sdkerrors/serviceunavailable.go + - /models/sdkerrors/unauthorizederror.go + - USAGE.md + - acls.go + - apikeys.go + - authentication.go + - authsettings.go + - basicauthcredentials.go + - cacertificates.go + - certificates.go + - consumergroups.go + - consumers.go + - controlplanegroups.go + - controlplanes.go + - custompluginschemas.go - docs/models/components/acl.md + - docs/models/components/aclconsumer.md - docs/models/components/aclwithoutparents.md - - docs/models/components/basicauthconsumer.md + - docs/models/components/active.md + - docs/models/components/addsystemaccounttoteam.md + - docs/models/components/addusertoteam.md + - docs/models/components/admin.md + - docs/models/components/algorithm.md + - docs/models/components/apiproducts.md + - docs/models/components/applicationregistration.md + - docs/models/components/assignedrole.md + - docs/models/components/assignedrolecollection.md + - docs/models/components/assignrole.md + - docs/models/components/assignroleentityregion.md + - docs/models/components/auditlogs.md + - docs/models/components/authenticationsettings.md + - docs/models/components/authtype.md - docs/models/components/basicauth.md + - docs/models/components/basicauthconsumer.md - docs/models/components/basicauthwithoutparents.md - docs/models/components/cacertificate.md - docs/models/components/certificate.md - - docs/models/components/snicertificate.md - - docs/models/components/sni.md - - docs/models/components/sniwithoutparents.md - - docs/models/components/consumergroup.md + - docs/models/components/certificateadmin.md + - docs/models/components/claimmappings.md + - docs/models/components/clientcertificate.md + - docs/models/components/clustertype.md + - docs/models/components/compatibilitystatus.md + - docs/models/components/config.md - docs/models/components/consumer.md - - docs/models/components/hmacauthconsumer.md - - docs/models/components/hmacauth.md - - docs/models/components/hmacauthwithoutparents.md - - docs/models/components/algorithm.md - - docs/models/components/jwtconsumer.md - - docs/models/components/jwt.md - - docs/models/components/jwtwithoutparentsalgorithm.md - - docs/models/components/jwtwithoutparents.md - - docs/models/components/keyauthconsumer.md - - docs/models/components/keyauth.md - - docs/models/components/keyauthwithoutparents.md - - docs/models/components/keyset.md - - docs/models/components/pem.md - - docs/models/components/set.md - - docs/models/components/key.md - - docs/models/components/items.md - - docs/models/components/page.md - - docs/models/components/listpluginschemas.md - - docs/models/components/item.md - - docs/models/components/pluginschemas.md + - docs/models/components/consumeradmin.md + - docs/models/components/consumergroup.md + - docs/models/components/controlplane.md + - docs/models/components/controlplanes.md + - docs/models/components/controlplanesummary.md + - docs/models/components/controlplanesummaryauthtype.md + - docs/models/components/controlplanesummaryclustertype.md + - docs/models/components/controlplanesummaryconfig.md + - docs/models/components/cpregion.md + - docs/models/components/createcontrolplanerequest.md - docs/models/components/createpluginschemas.md - - docs/models/components/protocols.md - - docs/models/components/pluginconsumer.md - - docs/models/components/pluginconsumergroup.md - - docs/models/components/pluginroute.md - - docs/models/components/pluginservice.md - - docs/models/components/plugin.md - - docs/models/components/pluginwithoutparentsprotocols.md - - docs/models/components/pluginwithoutparents.md + - docs/models/components/createserverlesscloudgatewayrequest.md + - docs/models/components/createsystemaccount.md + - docs/models/components/createsystemaccountaccesstoken.md + - docs/models/components/createteam.md + - docs/models/components/creator.md + - docs/models/components/cursormetawithsizeandtotal.md + - docs/models/components/cursorpaginatedmetawithsizeandtotal.md + - docs/models/components/data.md + - docs/models/components/dataplaneclientcertificate.md + - docs/models/components/dataplaneclientcertificateitem.md + - docs/models/components/dataplaneclientcertificaterequest.md + - docs/models/components/deployer.md + - docs/models/components/description.md - docs/models/components/destinations.md - - docs/models/components/httpsredirectstatuscode.md - - docs/models/components/pathhandling.md - - docs/models/components/routeprotocols.md - - docs/models/components/sources.md - - docs/models/components/routeservice.md - - docs/models/components/route.md - - docs/models/components/routewithoutparentsdestinations.md - - docs/models/components/routewithoutparentshttpsredirectstatuscode.md - - docs/models/components/routewithoutparentspathhandling.md - - docs/models/components/routewithoutparentsprotocols.md - - docs/models/components/routewithoutparentssources.md - - docs/models/components/routewithoutparents.md - - docs/models/components/clientcertificate.md - - docs/models/components/protocol.md - - docs/models/components/service.md - - docs/models/components/upstreamalgorithm.md - - docs/models/components/upstreamclientcertificate.md + - docs/models/components/entityregion.md + - docs/models/components/entitytypename.md + - docs/models/components/gatewayserviceadmin.md + - docs/models/components/getexpectedconfighash.md + - docs/models/components/getimpersonationsettingsresponse.md + - docs/models/components/getnode.md + - docs/models/components/getnodecompatibilitystatus.md + - docs/models/components/getnodeitem.md + - docs/models/components/groupconflict.md + - docs/models/components/groupconflictresource.md + - docs/models/components/groupmembership.md + - docs/models/components/groupmemberstatus.md + - docs/models/components/groupstatus.md - docs/models/components/hashfallback.md - docs/models/components/hashon.md - - docs/models/components/healthy.md - - docs/models/components/type.md - - docs/models/components/unhealthy.md - - docs/models/components/active.md - - docs/models/components/upstreamhealthy.md - - docs/models/components/upstreamtype.md - - docs/models/components/upstreamunhealthy.md - - docs/models/components/passive.md - docs/models/components/healthchecks.md - - docs/models/components/upstream.md - - docs/models/components/targetupstream.md - - docs/models/components/target.md - - docs/models/components/targetwithoutparents.md - - docs/models/components/vaultconfig.md - - docs/models/components/vault.md - - docs/models/components/listdataplanecertificatesresponsepage.md + - docs/models/components/healthy.md + - docs/models/components/hmacauth.md + - docs/models/components/hmacauthconsumer.md + - docs/models/components/hmacauthwithoutparents.md + - docs/models/components/httpsredirectstatuscode.md + - docs/models/components/identity.md + - docs/models/components/idp.md + - docs/models/components/invalidparameterchoiceitem.md + - docs/models/components/invalidparameterchoiceitemrule.md + - docs/models/components/invalidparameterdependentitem.md + - docs/models/components/invalidparameterdependentitemrule.md + - docs/models/components/invalidparameterminimumlength.md + - docs/models/components/invalidparameters.md + - docs/models/components/invalidparameterstandard.md + - docs/models/components/invalidrules.md + - docs/models/components/inviteuser.md + - docs/models/components/item.md + - docs/models/components/items.md + - docs/models/components/jwt.md + - docs/models/components/jwtconsumer.md + - docs/models/components/jwtwithoutparents.md + - docs/models/components/jwtwithoutparentsalgorithm.md + - docs/models/components/key.md + - docs/models/components/keyauth.md + - docs/models/components/keyauthconsumer.md + - docs/models/components/keyauthwithoutparents.md + - docs/models/components/keyset.md + - docs/models/components/listcontrolplanesresponse.md - docs/models/components/listdataplanecertificatesresponse.md - - docs/models/components/dataplaneclientcertificateitem.md - - docs/models/components/dataplaneclientcertificate.md - - docs/models/components/dataplaneclientcertificaterequest.md - - docs/models/components/getexpectedconfighash.md - - docs/models/components/compatibilitystatus.md - - docs/models/components/listnodesitems.md - - docs/models/components/listnodespage.md + - docs/models/components/listdataplanecertificatesresponsepage.md + - docs/models/components/listgroupmemberships.md - docs/models/components/listnodes.md - - docs/models/components/getnodecompatibilitystatus.md - - docs/models/components/getnodeitem.md - - docs/models/components/getnode.md + - docs/models/components/listnodeseol.md - docs/models/components/listnodeseolitems.md - docs/models/components/listnodeseolpage.md - - docs/models/components/listnodeseol.md - - docs/models/components/groupmemberstatus.md - - docs/models/components/listgroupmemberships.md - - docs/models/components/controlplanesummaryclustertype.md - - docs/models/components/controlplanesummaryauthtype.md - - docs/models/components/controlplanesummaryconfig.md - - docs/models/components/controlplanesummary.md - - docs/models/components/cursorpaginatedmetawithsizeandtotal.md - - docs/models/components/cursormetawithsizeandtotal.md - - docs/models/components/members.md - - docs/models/components/groupmembership.md - - docs/models/components/state.md - - docs/models/components/groupstatus.md - - docs/models/components/groupconflict.md - - docs/models/components/groupconflictresource.md - - docs/models/components/authenticationsettings.md - - docs/models/components/updateauthenticationsettings.md - - docs/models/components/claimmappings.md - - docs/models/components/idp.md - - docs/models/components/updateidpconfigurationclaimmappings.md - - docs/models/components/updateidpconfiguration.md - - docs/models/components/teamgroupmappingcollection.md - - docs/models/components/teamgroupmapping.md - - docs/models/components/data.md - - docs/models/components/patchteamgroupmappings.md - - docs/models/components/teammappingresponsepage.md - - docs/models/components/meta.md - - docs/models/components/teammappingresponsedata.md - - docs/models/components/teammappingresponse.md - - docs/models/components/teammappingcollection.md - - docs/models/components/teammapping.md + - docs/models/components/listnodesitems.md + - docs/models/components/listnodespage.md + - docs/models/components/listpluginschemas.md + - docs/models/components/listserverlesscloudgatewaysresponse.md + - docs/models/components/maintainer.md - docs/models/components/mappings.md - - docs/models/components/updateteammappings.md - - docs/models/components/inviteuser.md - - docs/models/components/getimpersonationsettingsresponse.md - - docs/models/components/updateimpersonationsettingsresponse.md - - docs/models/components/updateimpersonationsettingsrequest.md - - docs/models/components/meorganizationstate.md + - docs/models/components/members.md - docs/models/components/meorganization.md + - docs/models/components/meorganizationstate.md + - docs/models/components/meshcontrolplanes.md + - docs/models/components/meta.md - docs/models/components/name.md - - docs/models/components/rolescontrolplanesrolesadminname.md - - docs/models/components/description.md - - docs/models/components/admin.md - - docs/models/components/rolescontrolplanesname.md - - docs/models/components/rolesdescription.md - - docs/models/components/certificateadmin.md - - docs/models/components/rolescontrolplanesrolesname.md + - docs/models/components/page.md + - docs/models/components/pagemeta.md + - docs/models/components/paginatedmeta.md + - docs/models/components/passive.md + - docs/models/components/patchteamgroupmappings.md + - docs/models/components/pathhandling.md + - docs/models/components/pem.md + - docs/models/components/plugin.md + - docs/models/components/pluginadmin.md + - docs/models/components/pluginconsumer.md + - docs/models/components/pluginconsumergroup.md + - docs/models/components/pluginroute.md + - docs/models/components/pluginsadmin.md + - docs/models/components/pluginschemas.md + - docs/models/components/pluginservice.md + - docs/models/components/pluginwithoutparents.md + - docs/models/components/pluginwithoutparentsprotocols.md + - docs/models/components/protocol.md + - docs/models/components/protocols.md + - docs/models/components/proxyurl.md + - docs/models/components/publisher.md + - docs/models/components/rolename.md + - docs/models/components/roles.md + - docs/models/components/rolesadmin.md + - docs/models/components/rolesapiproductsdescription.md + - docs/models/components/rolesapiproductsname.md + - docs/models/components/rolesapiproductsrolescreatordescription.md + - docs/models/components/rolesapiproductsrolescreatorname.md + - docs/models/components/rolesapiproductsrolesdeployerdescription.md + - docs/models/components/rolesapiproductsrolesdeployername.md + - docs/models/components/rolesapiproductsrolesdescription.md + - docs/models/components/rolesapiproductsrolesmaintainerdescription.md + - docs/models/components/rolesapiproductsrolesmaintainername.md + - docs/models/components/rolesapiproductsrolesname.md + - docs/models/components/rolesapiproductsrolespluginsadmindescription.md + - docs/models/components/rolesapiproductsrolespluginsadminname.md + - docs/models/components/rolesapiproductsrolespublisherdescription.md + - docs/models/components/rolesapiproductsrolespublishername.md + - docs/models/components/rolesapiproductsrolesviewerdescription.md + - docs/models/components/rolesapiproductsrolesviewername.md + - docs/models/components/rolesauditlogsadmin.md + - docs/models/components/rolesauditlogsdescription.md + - docs/models/components/rolesauditlogsname.md + - docs/models/components/rolesauditlogsroles.md + - docs/models/components/rolesauditlogsrolesname.md - docs/models/components/rolescontrolplanesdescription.md - - docs/models/components/consumeradmin.md + - docs/models/components/rolescontrolplanesname.md + - docs/models/components/rolescontrolplanesroles.md + - docs/models/components/rolescontrolplanesrolesadminname.md - docs/models/components/rolescontrolplanesrolescreatorname.md - - docs/models/components/rolescontrolplanesrolesdescription.md - - docs/models/components/creator.md - - docs/models/components/rolescontrolplanesrolesdeployername.md - docs/models/components/rolescontrolplanesrolesdeployerdescription.md - - docs/models/components/deployer.md - - docs/models/components/rolescontrolplanesrolesgatewayserviceadminname.md + - docs/models/components/rolescontrolplanesrolesdeployername.md + - docs/models/components/rolescontrolplanesrolesdescription.md - docs/models/components/rolescontrolplanesrolesgatewayserviceadmindescription.md - - docs/models/components/gatewayserviceadmin.md - - docs/models/components/rolescontrolplanesrolespluginadminname.md + - docs/models/components/rolescontrolplanesrolesgatewayserviceadminname.md + - docs/models/components/rolescontrolplanesrolesname.md - docs/models/components/rolescontrolplanesrolespluginadmindescription.md - - docs/models/components/pluginadmin.md - - docs/models/components/rolescontrolplanesrolesrouteadminname.md + - docs/models/components/rolescontrolplanesrolespluginadminname.md - docs/models/components/rolescontrolplanesrolesrouteadmindescription.md - - docs/models/components/routeadmin.md - - docs/models/components/rolescontrolplanesrolessniadminname.md + - docs/models/components/rolescontrolplanesrolesrouteadminname.md - docs/models/components/rolescontrolplanesrolessniadmindescription.md - - docs/models/components/sniadmin.md - - docs/models/components/rolescontrolplanesrolesupstreamadminname.md + - docs/models/components/rolescontrolplanesrolessniadminname.md - docs/models/components/rolescontrolplanesrolesupstreamadmindescription.md - - docs/models/components/upstreamadmin.md - - docs/models/components/rolescontrolplanesrolesviewername.md + - docs/models/components/rolescontrolplanesrolesupstreamadminname.md - docs/models/components/rolescontrolplanesrolesviewerdescription.md - - docs/models/components/viewer.md - - docs/models/components/rolescontrolplanesroles.md - - docs/models/components/controlplanes.md - - docs/models/components/rolesname.md - - docs/models/components/rolesapiproductsname.md - - docs/models/components/rolesapiproductsdescription.md - - docs/models/components/rolesadmin.md - - docs/models/components/rolesapiproductsrolesname.md - - docs/models/components/rolesapiproductsrolesdescription.md - - docs/models/components/applicationregistration.md - - docs/models/components/rolesapiproductsrolescreatorname.md - - docs/models/components/rolesapiproductsrolescreatordescription.md + - docs/models/components/rolescontrolplanesrolesviewername.md - docs/models/components/rolescreator.md - - docs/models/components/rolesapiproductsrolesdeployername.md - - docs/models/components/rolesapiproductsrolesdeployerdescription.md - docs/models/components/rolesdeployer.md - - docs/models/components/rolesapiproductsrolesmaintainername.md - - docs/models/components/rolesapiproductsrolesmaintainerdescription.md - - docs/models/components/maintainer.md - - docs/models/components/rolesapiproductsrolespluginsadminname.md - - docs/models/components/rolesapiproductsrolespluginsadmindescription.md - - docs/models/components/pluginsadmin.md - - docs/models/components/rolesapiproductsrolespublishername.md - - docs/models/components/rolesapiproductsrolespublisherdescription.md - - docs/models/components/publisher.md - - docs/models/components/rolesapiproductsrolesviewername.md - - docs/models/components/rolesapiproductsrolesviewerdescription.md - - docs/models/components/rolesviewer.md - - docs/models/components/rolesroles.md - - docs/models/components/apiproducts.md - - docs/models/components/rolesauditlogsname.md - - docs/models/components/rolesauditlogsrolesname.md - - docs/models/components/rolesauditlogsdescription.md - - docs/models/components/rolesauditlogsadmin.md - - docs/models/components/rolesauditlogsroles.md - - docs/models/components/auditlogs.md - - docs/models/components/rolesidentityname.md - - docs/models/components/rolesidentityrolesname.md - - docs/models/components/rolesidentitydescription.md + - docs/models/components/rolesdescription.md - docs/models/components/rolesidentityadmin.md + - docs/models/components/rolesidentitydescription.md + - docs/models/components/rolesidentityname.md - docs/models/components/rolesidentityroles.md - - docs/models/components/identity.md - - docs/models/components/rolesmeshcontrolplanesname.md - - docs/models/components/rolesmeshcontrolplanesrolesname.md - - docs/models/components/rolesmeshcontrolplanesdescription.md + - docs/models/components/rolesidentityrolesname.md - docs/models/components/rolesmeshcontrolplanesadmin.md + - docs/models/components/rolesmeshcontrolplanescreator.md + - docs/models/components/rolesmeshcontrolplanesdescription.md + - docs/models/components/rolesmeshcontrolplanesname.md + - docs/models/components/rolesmeshcontrolplanesroles.md - docs/models/components/rolesmeshcontrolplanesrolescreatorname.md - docs/models/components/rolesmeshcontrolplanesrolesdescription.md - - docs/models/components/rolesmeshcontrolplanescreator.md - - docs/models/components/rolesmeshcontrolplanesrolesviewername.md + - docs/models/components/rolesmeshcontrolplanesrolesname.md - docs/models/components/rolesmeshcontrolplanesrolesviewerdescription.md + - docs/models/components/rolesmeshcontrolplanesrolesviewername.md - docs/models/components/rolesmeshcontrolplanesviewer.md - - docs/models/components/rolesmeshcontrolplanesroles.md - - docs/models/components/meshcontrolplanes.md - - docs/models/components/roles.md - - docs/models/components/assignedrolecollection.md - - docs/models/components/entityregion.md - - docs/models/components/assignedrole.md - - docs/models/components/rolename.md - - docs/models/components/entitytypename.md - - docs/models/components/assignroleentityregion.md - - docs/models/components/assignrole.md - - docs/models/components/systemaccountcollection.md - - docs/models/components/systemaccount.md - - docs/models/components/stringfieldfilter.md + - docs/models/components/rolesname.md + - docs/models/components/rolesroles.md + - docs/models/components/rolesviewer.md + - docs/models/components/route.md + - docs/models/components/routeadmin.md + - docs/models/components/routeprotocols.md + - docs/models/components/routeservice.md + - docs/models/components/routewithoutparents.md + - docs/models/components/routewithoutparentsdestinations.md + - docs/models/components/routewithoutparentshttpsredirectstatuscode.md + - docs/models/components/routewithoutparentspathhandling.md + - docs/models/components/routewithoutparentsprotocols.md + - docs/models/components/routewithoutparentssources.md + - docs/models/components/rule.md + - docs/models/components/security.md + - docs/models/components/serverlesscloudgateway.md + - docs/models/components/serverlesscontrolplane.md + - docs/models/components/service.md + - docs/models/components/set.md + - docs/models/components/sni.md + - docs/models/components/sniadmin.md + - docs/models/components/snicertificate.md + - docs/models/components/sniwithoutparents.md + - docs/models/components/sources.md + - docs/models/components/state.md - docs/models/components/stringfieldcontainsfilter.md - - docs/models/components/createsystemaccount.md + - docs/models/components/stringfieldfilter.md + - docs/models/components/systemaccount.md + - docs/models/components/systemaccountaccesstoken.md + - docs/models/components/systemaccountaccesstokencollection.md + - docs/models/components/systemaccountaccesstokencreated.md + - docs/models/components/systemaccountcollection.md + - docs/models/components/target.md + - docs/models/components/targetupstream.md + - docs/models/components/targetwithoutparents.md + - docs/models/components/team.md + - docs/models/components/teamcollection.md + - docs/models/components/teamgroupmapping.md + - docs/models/components/teamgroupmappingcollection.md + - docs/models/components/teammapping.md + - docs/models/components/teammappingcollection.md + - docs/models/components/teammappingresponse.md + - docs/models/components/teammappingresponsedata.md + - docs/models/components/teammappingresponsepage.md + - docs/models/components/type.md + - docs/models/components/unhealthy.md + - docs/models/components/updateauthenticationsettings.md + - docs/models/components/updatecontrolplanerequest.md + - docs/models/components/updatecontrolplanerequestauthtype.md + - docs/models/components/updateidpconfiguration.md + - docs/models/components/updateidpconfigurationclaimmappings.md + - docs/models/components/updateimpersonationsettingsrequest.md + - docs/models/components/updateimpersonationsettingsresponse.md - docs/models/components/updatesystemaccount.md - - docs/models/components/systemaccountaccesstokencollection.md - - docs/models/components/systemaccountaccesstoken.md - - docs/models/components/systemaccountaccesstokencreated.md - - docs/models/components/createsystemaccountaccesstoken.md - docs/models/components/updatesystemaccountaccesstoken.md - - docs/models/components/teamcollection.md - - docs/models/components/team.md - - docs/models/components/addsystemaccounttoteam.md - - docs/models/components/createteam.md - docs/models/components/updateteam.md - - docs/models/components/usercollection.md - - docs/models/components/user.md - - docs/models/components/addusertoteam.md + - docs/models/components/updateteammappings.md - docs/models/components/updateuser.md - - docs/models/components/security.md - - docs/models/sdkerrors/unauthorizederror.md - - docs/models/sdkerrors/forbiddenerror.md + - docs/models/components/upstream.md + - docs/models/components/upstreamadmin.md + - docs/models/components/upstreamalgorithm.md + - docs/models/components/upstreamclientcertificate.md + - docs/models/components/upstreamhealthy.md + - docs/models/components/upstreamtype.md + - docs/models/components/upstreamunhealthy.md + - docs/models/components/user.md + - docs/models/components/usercollection.md + - docs/models/components/vault.md + - docs/models/components/vaultconfig.md + - docs/models/components/viewer.md + - docs/models/operations/addconsumertogrouprequest.md + - docs/models/operations/addconsumertogrouprequestbody.md + - docs/models/operations/addconsumertogroupresponse.md + - docs/models/operations/addconsumertogroupresponsebody.md + - docs/models/operations/addusertoteamrequest.md + - docs/models/operations/addusertoteamresponse.md + - docs/models/operations/authenticatessorequest.md + - docs/models/operations/authenticatessoresponse.md + - docs/models/operations/createaclwithconsumerrequest.md + - docs/models/operations/createaclwithconsumerresponse.md + - docs/models/operations/createbasicauthwithconsumerrequest.md + - docs/models/operations/createbasicauthwithconsumerresponse.md + - docs/models/operations/createcacertificaterequest.md + - docs/models/operations/createcacertificateresponse.md + - docs/models/operations/createcertificaterequest.md + - docs/models/operations/createcertificateresponse.md + - docs/models/operations/createconsumergrouprequest.md + - docs/models/operations/createconsumergroupresponse.md + - docs/models/operations/createconsumerrequest.md + - docs/models/operations/createconsumerresponse.md + - docs/models/operations/createcontrolplaneresponse.md + - docs/models/operations/createdataplanecertificaterequest.md + - docs/models/operations/createdataplanecertificateresponse.md + - docs/models/operations/createhmacauthwithconsumerrequest.md + - docs/models/operations/createhmacauthwithconsumerresponse.md + - docs/models/operations/createjwtwithconsumerrequest.md + - docs/models/operations/createjwtwithconsumerresponse.md + - docs/models/operations/createkeyauthwithconsumerrequest.md + - docs/models/operations/createkeyauthwithconsumerresponse.md + - docs/models/operations/createkeyrequest.md + - docs/models/operations/createkeyresponse.md + - docs/models/operations/createkeysetrequest.md + - docs/models/operations/createkeysetresponse.md + - docs/models/operations/createpluginrequest.md + - docs/models/operations/createpluginresponse.md + - docs/models/operations/createpluginschemasrequest.md + - docs/models/operations/createpluginschemasresponse.md + - docs/models/operations/createpluginwithrouterequest.md + - docs/models/operations/createpluginwithrouteresponse.md + - docs/models/operations/createpluginwithservicerequest.md + - docs/models/operations/createpluginwithserviceresponse.md + - docs/models/operations/createrouterequest.md + - docs/models/operations/createrouteresponse.md + - docs/models/operations/createroutewithservicerequest.md + - docs/models/operations/createroutewithserviceresponse.md + - docs/models/operations/createserverlesscloudgatewayresponse.md + - docs/models/operations/createservicerequest.md + - docs/models/operations/createserviceresponse.md + - docs/models/operations/createsnirequest.md + - docs/models/operations/createsniresponse.md + - docs/models/operations/createsniwithcertificaterequest.md + - docs/models/operations/createsniwithcertificateresponse.md + - docs/models/operations/createtargetwithupstreamrequest.md + - docs/models/operations/createtargetwithupstreamresponse.md + - docs/models/operations/createteamresponse.md + - docs/models/operations/createupstreamrequest.md + - docs/models/operations/createupstreamresponse.md + - docs/models/operations/createvaultrequest.md + - docs/models/operations/createvaultresponse.md + - docs/models/operations/deleteaclwithconsumerrequest.md + - docs/models/operations/deleteaclwithconsumerresponse.md + - docs/models/operations/deletebasicauthwithconsumerrequest.md + - docs/models/operations/deletebasicauthwithconsumerresponse.md + - docs/models/operations/deletecacertificaterequest.md + - docs/models/operations/deletecacertificateresponse.md + - docs/models/operations/deletecertificaterequest.md + - docs/models/operations/deletecertificateresponse.md + - docs/models/operations/deleteconsumergrouprequest.md + - docs/models/operations/deleteconsumergroupresponse.md + - docs/models/operations/deleteconsumerrequest.md + - docs/models/operations/deleteconsumerresponse.md + - docs/models/operations/deletecontrolplanerequest.md + - docs/models/operations/deletecontrolplaneresponse.md + - docs/models/operations/deletedataplanecertificaterequest.md + - docs/models/operations/deletedataplanecertificateresponse.md + - docs/models/operations/deletehmacauthwithconsumerrequest.md + - docs/models/operations/deletehmacauthwithconsumerresponse.md + - docs/models/operations/deletejwtwithconsumerrequest.md + - docs/models/operations/deletejwtwithconsumerresponse.md + - docs/models/operations/deletekeyauthwithconsumerrequest.md + - docs/models/operations/deletekeyauthwithconsumerresponse.md + - docs/models/operations/deletekeyrequest.md + - docs/models/operations/deletekeyresponse.md + - docs/models/operations/deletekeysetrequest.md + - docs/models/operations/deletekeysetresponse.md + - docs/models/operations/deletenodesnodeidrequest.md + - docs/models/operations/deletenodesnodeidresponse.md + - docs/models/operations/deletepluginrequest.md + - docs/models/operations/deletepluginresponse.md + - docs/models/operations/deletepluginschemasrequest.md + - docs/models/operations/deletepluginschemasresponse.md + - docs/models/operations/deletepluginwithrouterequest.md + - docs/models/operations/deletepluginwithrouteresponse.md + - docs/models/operations/deletepluginwithservicerequest.md + - docs/models/operations/deletepluginwithserviceresponse.md + - docs/models/operations/deleterouterequest.md + - docs/models/operations/deleterouteresponse.md + - docs/models/operations/deleteroutewithservicerequest.md + - docs/models/operations/deleteroutewithserviceresponse.md + - docs/models/operations/deleteserverlesscloudgatewayrequest.md + - docs/models/operations/deleteserverlesscloudgatewayresponse.md + - docs/models/operations/deleteservicerequest.md + - docs/models/operations/deleteserviceresponse.md + - docs/models/operations/deletesnirequest.md + - docs/models/operations/deletesniresponse.md + - docs/models/operations/deletesniwithcertificaterequest.md + - docs/models/operations/deletesniwithcertificateresponse.md + - docs/models/operations/deletesystemaccountsaccountidassignedrolesroleidrequest.md + - docs/models/operations/deletesystemaccountsaccountidassignedrolesroleidresponse.md + - docs/models/operations/deletesystemaccountsidaccesstokensidrequest.md + - docs/models/operations/deletesystemaccountsidaccesstokensidresponse.md + - docs/models/operations/deletesystemaccountsidrequest.md + - docs/models/operations/deletesystemaccountsidresponse.md + - docs/models/operations/deletetargetwithupstreamrequest.md + - docs/models/operations/deletetargetwithupstreamresponse.md + - docs/models/operations/deleteteamrequest.md + - docs/models/operations/deleteteamresponse.md + - docs/models/operations/deleteteamsteamidsystemaccountsaccountidrequest.md + - docs/models/operations/deleteteamsteamidsystemaccountsaccountidresponse.md + - docs/models/operations/deleteupstreamrequest.md + - docs/models/operations/deleteupstreamresponse.md + - docs/models/operations/deleteuserrequest.md + - docs/models/operations/deleteuserresponse.md + - docs/models/operations/deletevaultrequest.md + - docs/models/operations/deletevaultresponse.md + - docs/models/operations/fetchpluginschemarequest.md + - docs/models/operations/fetchpluginschemaresponse.md + - docs/models/operations/fetchpluginschemaresponsebody.md + - docs/models/operations/filter.md + - docs/models/operations/getaclwithconsumerrequest.md + - docs/models/operations/getaclwithconsumerresponse.md + - docs/models/operations/getauthenticationsettingsresponse.md + - docs/models/operations/getbasicauthwithconsumerrequest.md + - docs/models/operations/getbasicauthwithconsumerresponse.md + - docs/models/operations/getcacertificaterequest.md + - docs/models/operations/getcacertificateresponse.md + - docs/models/operations/getcertificaterequest.md + - docs/models/operations/getcertificateresponse.md + - docs/models/operations/getconsumergrouprequest.md + - docs/models/operations/getconsumergroupresponse.md + - docs/models/operations/getconsumerrequest.md + - docs/models/operations/getconsumerresponse.md + - docs/models/operations/getcontrolplanerequest.md + - docs/models/operations/getcontrolplaneresponse.md + - docs/models/operations/getcontrolplanesidgroupmembershipsrequest.md + - docs/models/operations/getcontrolplanesidgroupmembershipsresponse.md + - docs/models/operations/getcontrolplanesidgroupmemberstatusrequest.md + - docs/models/operations/getcontrolplanesidgroupmemberstatusresponse.md + - docs/models/operations/getcontrolplanesidgroupstatusrequest.md + - docs/models/operations/getcontrolplanesidgroupstatusresponse.md + - docs/models/operations/getdataplanecertificaterequest.md + - docs/models/operations/getdataplanecertificateresponse.md + - docs/models/operations/getexpectedconfighashrequest.md + - docs/models/operations/getexpectedconfighashresponse.md + - docs/models/operations/gethmacauthwithconsumerrequest.md + - docs/models/operations/gethmacauthwithconsumerresponse.md + - docs/models/operations/getidpconfigurationresponse.md + - docs/models/operations/getidpteammappingsrequest.md + - docs/models/operations/getidpteammappingsresponse.md + - docs/models/operations/getimpersonationsettingsresponse.md + - docs/models/operations/getjwtwithconsumerrequest.md + - docs/models/operations/getjwtwithconsumerresponse.md + - docs/models/operations/getkeyauthwithconsumerrequest.md + - docs/models/operations/getkeyauthwithconsumerresponse.md + - docs/models/operations/getkeyrequest.md + - docs/models/operations/getkeyresponse.md + - docs/models/operations/getkeysetrequest.md + - docs/models/operations/getkeysetresponse.md + - docs/models/operations/getnodeseolrequest.md + - docs/models/operations/getnodeseolresponse.md + - docs/models/operations/getnodesnodeidrequest.md + - docs/models/operations/getnodesnodeidresponse.md + - docs/models/operations/getorganizationsmeresponse.md + - docs/models/operations/getpluginrequest.md + - docs/models/operations/getpluginresponse.md + - docs/models/operations/getpluginschemarequest.md + - docs/models/operations/getpluginschemaresponse.md + - docs/models/operations/getpluginwithrouterequest.md + - docs/models/operations/getpluginwithrouteresponse.md + - docs/models/operations/getpluginwithservicerequest.md + - docs/models/operations/getpluginwithserviceresponse.md + - docs/models/operations/getpredefinedrolesresponse.md + - docs/models/operations/getrouterequest.md + - docs/models/operations/getrouteresponse.md + - docs/models/operations/getroutewithservicerequest.md + - docs/models/operations/getroutewithserviceresponse.md + - docs/models/operations/getserverlesscloudgatewayrequest.md + - docs/models/operations/getserverlesscloudgatewayresponse.md + - docs/models/operations/getservicerequest.md + - docs/models/operations/getserviceresponse.md + - docs/models/operations/getsnirequest.md + - docs/models/operations/getsniresponse.md + - docs/models/operations/getsniwithcertificaterequest.md + - docs/models/operations/getsniwithcertificateresponse.md + - docs/models/operations/getsystemaccountidaccesstokensrequest.md + - docs/models/operations/getsystemaccountidaccesstokensresponse.md + - docs/models/operations/getsystemaccountsaccountidassignedrolesqueryparamfilter.md + - docs/models/operations/getsystemaccountsaccountidassignedrolesrequest.md + - docs/models/operations/getsystemaccountsaccountidassignedrolesresponse.md + - docs/models/operations/getsystemaccountsaccountidteamsqueryparamfilter.md + - docs/models/operations/getsystemaccountsaccountidteamsrequest.md + - docs/models/operations/getsystemaccountsaccountidteamsresponse.md + - docs/models/operations/getsystemaccountsidaccesstokensidrequest.md + - docs/models/operations/getsystemaccountsidaccesstokensidresponse.md + - docs/models/operations/getsystemaccountsidrequest.md + - docs/models/operations/getsystemaccountsidresponse.md + - docs/models/operations/getsystemaccountsrequest.md + - docs/models/operations/getsystemaccountsresponse.md + - docs/models/operations/gettargetwithupstreamrequest.md + - docs/models/operations/gettargetwithupstreamresponse.md + - docs/models/operations/getteamgroupmappingsrequest.md + - docs/models/operations/getteamgroupmappingsresponse.md + - docs/models/operations/getteamrequest.md + - docs/models/operations/getteamresponse.md + - docs/models/operations/getteamsteamidsystemaccountsqueryparamfilter.md + - docs/models/operations/getteamsteamidsystemaccountsrequest.md + - docs/models/operations/getteamsteamidsystemaccountsresponse.md + - docs/models/operations/getupstreamrequest.md + - docs/models/operations/getupstreamresponse.md + - docs/models/operations/getuserrequest.md + - docs/models/operations/getuserresponse.md + - docs/models/operations/getvaultrequest.md + - docs/models/operations/getvaultresponse.md + - docs/models/operations/inviteuserresponse.md + - docs/models/operations/listaclrequest.md + - docs/models/operations/listaclresponse.md + - docs/models/operations/listaclresponsebody.md + - docs/models/operations/listaclwithconsumerrequest.md + - docs/models/operations/listaclwithconsumerresponse.md + - docs/models/operations/listaclwithconsumerresponsebody.md + - docs/models/operations/listbasicauthrequest.md + - docs/models/operations/listbasicauthresponse.md + - docs/models/operations/listbasicauthresponsebody.md + - docs/models/operations/listbasicauthwithconsumerrequest.md + - docs/models/operations/listbasicauthwithconsumerresponse.md + - docs/models/operations/listbasicauthwithconsumerresponsebody.md + - docs/models/operations/listcacertificaterequest.md + - docs/models/operations/listcacertificateresponse.md + - docs/models/operations/listcacertificateresponsebody.md + - docs/models/operations/listcertificaterequest.md + - docs/models/operations/listcertificateresponse.md + - docs/models/operations/listcertificateresponsebody.md + - docs/models/operations/listconsumergrouprequest.md + - docs/models/operations/listconsumergroupresponse.md + - docs/models/operations/listconsumergroupresponsebody.md + - docs/models/operations/listconsumerrequest.md + - docs/models/operations/listconsumerresponse.md + - docs/models/operations/listconsumerresponsebody.md + - docs/models/operations/listcontrolplanesrequest.md + - docs/models/operations/listcontrolplanesresponse.md + - docs/models/operations/listdataplanenodesrequest.md + - docs/models/operations/listdataplanenodesresponse.md + - docs/models/operations/listdpclientcertificatesrequest.md + - docs/models/operations/listdpclientcertificatesresponse.md + - docs/models/operations/listhmacauthrequest.md + - docs/models/operations/listhmacauthresponse.md + - docs/models/operations/listhmacauthresponsebody.md + - docs/models/operations/listhmacauthwithconsumerrequest.md + - docs/models/operations/listhmacauthwithconsumerresponse.md + - docs/models/operations/listhmacauthwithconsumerresponsebody.md + - docs/models/operations/listjwtrequest.md + - docs/models/operations/listjwtresponse.md + - docs/models/operations/listjwtresponsebody.md + - docs/models/operations/listjwtwithconsumerrequest.md + - docs/models/operations/listjwtwithconsumerresponse.md + - docs/models/operations/listjwtwithconsumerresponsebody.md + - docs/models/operations/listkeyauthrequest.md + - docs/models/operations/listkeyauthresponse.md + - docs/models/operations/listkeyauthresponsebody.md + - docs/models/operations/listkeyauthwithconsumerrequest.md + - docs/models/operations/listkeyauthwithconsumerresponse.md + - docs/models/operations/listkeyauthwithconsumerresponsebody.md + - docs/models/operations/listkeyrequest.md + - docs/models/operations/listkeyresponse.md + - docs/models/operations/listkeyresponsebody.md + - docs/models/operations/listkeysetrequest.md + - docs/models/operations/listkeysetresponse.md + - docs/models/operations/listkeysetresponsebody.md + - docs/models/operations/listpluginrequest.md + - docs/models/operations/listpluginresponse.md + - docs/models/operations/listpluginresponsebody.md + - docs/models/operations/listpluginschemasrequest.md + - docs/models/operations/listpluginschemasresponse.md + - docs/models/operations/listpluginwithrouterequest.md + - docs/models/operations/listpluginwithrouteresponse.md + - docs/models/operations/listpluginwithrouteresponsebody.md + - docs/models/operations/listpluginwithservicerequest.md + - docs/models/operations/listpluginwithserviceresponse.md + - docs/models/operations/listpluginwithserviceresponsebody.md + - docs/models/operations/listrouterequest.md + - docs/models/operations/listrouteresponse.md + - docs/models/operations/listrouteresponsebody.md + - docs/models/operations/listroutewithservicerequest.md + - docs/models/operations/listroutewithserviceresponse.md + - docs/models/operations/listroutewithserviceresponsebody.md + - docs/models/operations/listserverlesscloudgatewayrequest.md + - docs/models/operations/listserverlesscloudgatewayresponse.md + - docs/models/operations/listservicerequest.md + - docs/models/operations/listserviceresponse.md + - docs/models/operations/listserviceresponsebody.md + - docs/models/operations/listsnirequest.md + - docs/models/operations/listsniresponse.md + - docs/models/operations/listsniresponsebody.md + - docs/models/operations/listsniwithcertificaterequest.md + - docs/models/operations/listsniwithcertificateresponse.md + - docs/models/operations/listsniwithcertificateresponsebody.md + - docs/models/operations/listtargetwithupstreamrequest.md + - docs/models/operations/listtargetwithupstreamresponse.md + - docs/models/operations/listtargetwithupstreamresponsebody.md + - docs/models/operations/listteamrolesqueryparamfilter.md + - docs/models/operations/listteamrolesrequest.md + - docs/models/operations/listteamrolesresponse.md + - docs/models/operations/listteamsqueryparamfilter.md + - docs/models/operations/listteamsrequest.md + - docs/models/operations/listteamsresponse.md + - docs/models/operations/listteamusersqueryparamfilter.md + - docs/models/operations/listteamusersrequest.md + - docs/models/operations/listteamusersresponse.md + - docs/models/operations/listupstreamrequest.md + - docs/models/operations/listupstreamresponse.md + - docs/models/operations/listupstreamresponsebody.md + - docs/models/operations/listuserrolesqueryparamfilter.md + - docs/models/operations/listuserrolesrequest.md + - docs/models/operations/listuserrolesresponse.md + - docs/models/operations/listusersqueryparamfilter.md + - docs/models/operations/listusersrequest.md + - docs/models/operations/listusersresponse.md + - docs/models/operations/listuserteamsqueryparamfilter.md + - docs/models/operations/listuserteamsrequest.md + - docs/models/operations/listuserteamsresponse.md + - docs/models/operations/listvaultrequest.md + - docs/models/operations/listvaultresponse.md + - docs/models/operations/listvaultresponsebody.md + - docs/models/operations/patchsystemaccountsidaccesstokensidrequest.md + - docs/models/operations/patchsystemaccountsidaccesstokensidresponse.md + - docs/models/operations/patchsystemaccountsidrequest.md + - docs/models/operations/patchsystemaccountsidresponse.md + - docs/models/operations/patchteamgroupmappingsresponse.md + - docs/models/operations/postcontrolplanesidgroupmembershipsaddrequest.md + - docs/models/operations/postcontrolplanesidgroupmembershipsaddresponse.md + - docs/models/operations/postcontrolplanesidgroupmembershipsremoverequest.md + - docs/models/operations/postcontrolplanesidgroupmembershipsremoveresponse.md + - docs/models/operations/postsystemaccountsaccountidassignedrolesrequest.md + - docs/models/operations/postsystemaccountsaccountidassignedrolesresponse.md + - docs/models/operations/postsystemaccountsidaccesstokensrequest.md + - docs/models/operations/postsystemaccountsidaccesstokensresponse.md + - docs/models/operations/postsystemaccountsresponse.md + - docs/models/operations/postteamsteamidsystemaccountsrequest.md + - docs/models/operations/postteamsteamidsystemaccountsresponse.md + - docs/models/operations/queryparamfilter.md + - docs/models/operations/removeuserfromteamrequest.md + - docs/models/operations/removeuserfromteamresponse.md + - docs/models/operations/teamsassignrolerequest.md + - docs/models/operations/teamsassignroleresponse.md + - docs/models/operations/teamsremoverolerequest.md + - docs/models/operations/teamsremoveroleresponse.md + - docs/models/operations/updateauthenticationsettingsresponse.md + - docs/models/operations/updatecontrolplanerequest.md + - docs/models/operations/updatecontrolplaneresponse.md + - docs/models/operations/updateidpconfigurationresponse.md + - docs/models/operations/updateidpteammappingsresponse.md + - docs/models/operations/updateimpersonationsettingsresponse.md + - docs/models/operations/updatepluginschemasrequest.md + - docs/models/operations/updatepluginschemasresponse.md + - docs/models/operations/updateteamrequest.md + - docs/models/operations/updateteamresponse.md + - docs/models/operations/updateuserrequest.md + - docs/models/operations/updateuserresponse.md + - docs/models/operations/upsertaclwithconsumerrequest.md + - docs/models/operations/upsertaclwithconsumerresponse.md + - docs/models/operations/upsertbasicauthwithconsumerrequest.md + - docs/models/operations/upsertbasicauthwithconsumerresponse.md + - docs/models/operations/upsertcacertificaterequest.md + - docs/models/operations/upsertcacertificateresponse.md + - docs/models/operations/upsertcertificaterequest.md + - docs/models/operations/upsertcertificateresponse.md + - docs/models/operations/upsertconsumergrouprequest.md + - docs/models/operations/upsertconsumergroupresponse.md + - docs/models/operations/upsertconsumerrequest.md + - docs/models/operations/upsertconsumerresponse.md + - docs/models/operations/upserthmacauthwithconsumerrequest.md + - docs/models/operations/upserthmacauthwithconsumerresponse.md + - docs/models/operations/upsertjwtwithconsumerrequest.md + - docs/models/operations/upsertjwtwithconsumerresponse.md + - docs/models/operations/upsertkeyauthwithconsumerrequest.md + - docs/models/operations/upsertkeyauthwithconsumerresponse.md + - docs/models/operations/upsertkeyrequest.md + - docs/models/operations/upsertkeyresponse.md + - docs/models/operations/upsertkeysetrequest.md + - docs/models/operations/upsertkeysetresponse.md + - docs/models/operations/upsertpluginrequest.md + - docs/models/operations/upsertpluginresponse.md + - docs/models/operations/upsertpluginwithrouterequest.md + - docs/models/operations/upsertpluginwithrouteresponse.md + - docs/models/operations/upsertpluginwithservicerequest.md + - docs/models/operations/upsertpluginwithserviceresponse.md + - docs/models/operations/upsertrouterequest.md + - docs/models/operations/upsertrouteresponse.md + - docs/models/operations/upsertroutewithservicerequest.md + - docs/models/operations/upsertroutewithserviceresponse.md + - docs/models/operations/upsertservicerequest.md + - docs/models/operations/upsertserviceresponse.md + - docs/models/operations/upsertsnirequest.md + - docs/models/operations/upsertsniresponse.md + - docs/models/operations/upsertsniwithcertificaterequest.md + - docs/models/operations/upsertsniwithcertificateresponse.md + - docs/models/operations/upserttargetwithupstreamrequest.md + - docs/models/operations/upserttargetwithupstreamresponse.md + - docs/models/operations/upsertupstreamrequest.md + - docs/models/operations/upsertupstreamresponse.md + - docs/models/operations/upsertvaultrequest.md + - docs/models/operations/upsertvaultresponse.md + - docs/models/operations/usersassignrolerequest.md + - docs/models/operations/usersassignroleresponse.md + - docs/models/operations/usersremoverolerequest.md + - docs/models/operations/usersremoveroleresponse.md - docs/models/sdkerrors/badrequesterror.md - - docs/models/sdkerrors/notfounderror.md - - docs/models/sdkerrors/status.md - - docs/models/sdkerrors/serviceunavailable.md - docs/models/sdkerrors/conflicterror.md - - docs/models/sdkerrors/internalservererrorstatus.md - - docs/models/sdkerrors/internalservererror.md + - docs/models/sdkerrors/forbiddenerror.md - docs/models/sdkerrors/gatewayunauthorizederror.md + - docs/models/sdkerrors/internalservererror.md + - docs/models/sdkerrors/internalservererrorstatus.md + - docs/models/sdkerrors/notfounderror.md - docs/models/sdkerrors/preconditionfailed.md - docs/models/sdkerrors/ratelimited.md - - USAGE.md - - models/operations/options.go - - .gitattributes + - docs/models/sdkerrors/serviceunavailable.md + - docs/models/sdkerrors/status.md + - docs/models/sdkerrors/unauthorizederror.md + - dpcertificates.go + - dpnodes.go + - go.mod + - hmacauthcredentials.go + - impersonationsettings.go - internal/hooks/hooks.go + - internal/utils/contenttype.go + - internal/utils/form.go + - internal/utils/headers.go + - internal/utils/json.go + - internal/utils/pathparams.go + - internal/utils/queryparams.go + - internal/utils/requestbody.go + - internal/utils/retries.go + - internal/utils/security.go + - internal/utils/utils.go + - invites.go + - jwts.go + - keys.go + - keysets.go + - me.go + - models/operations/options.go + - models/sdkerrors/sdkerror.go + - plugins.go + - retry/config.go + - roles.go + - routes.go + - sdk.go + - serverlesscloudgateways.go + - services.go + - snis.go + - systemaccounts.go + - systemaccountsaccesstokens.go + - systemaccountsroles.go + - systemaccountsteammembership.go + - targets.go + - teammembership.go + - teams.go + - types/bigint.go + - types/date.go + - types/datetime.go + - types/decimal.go + - types/pointers.go + - upstreams.go + - users.go + - vaults.go +examples: + list-serverless-cloud-gateway: + speakeasy-default-list-serverless-cloud-gateway: + parameters: + query: + page[size]: 10 + page[number]: 1 + labels: "filter[labels][eq]=env:prod" + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + create-serverless-cloud-gateway: + speakeasy-default-create-serverless-cloud-gateway: + requestBody: + application/json: {"control_plane": {"id": "d32d905a-ed33-46a3-a093-d8f536af9a8a", "prefix": "518da50bf7", "region": "us"}, "cluster_cert": "-----BEGIN CERTIFICATE----- MIICRDCCAa2gAwIBAgIBADANBgkqhkiG9w0BAQ0FADA/MQswCQYDVQQGEwJ1czEL MAkGA1UECAwCVFgxDTALBgNVBAoMBFRlc3QxFDASBgNVBAMMC2V4YW1wbGUuY29t MB4XDTI0MDQyNjA5NTA1OVoXDTI1MDQyNjA5NTA1OVowPzELMAkGA1UEBhMCdXMx CzAJBgNVBAgMAlRYMQ0wCwYDVQQKDARUZXN0MRQwEgYDVQQDDAtleGFtcGxlLmNv bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA8FaJZmPsthBT1XkTyqUJiuQV 4p4KaLpNMioNQtIdeGKFXelmZlVfW0bfLGBgFmkwo19KIzFtOlITUjb0Qqlub2Dn TIPoDs7rXA8aw6umJu73Z6647U3+alxNCpwTuYOY2CJQ+HWEIuOuwAdtQkndEp9r 7ZWA2xLatQKBYEvEmykCAwEAAaNQME4wHQYDVR0OBBYEFGUznNeZK74vlA4bqKHb 706tyMwcMB8GA1UdIwQYMBaAFGUznNeZK74vlA4bqKHb706tyMwcMAwGA1UdEwQF MAMBAf8wDQYJKoZIhvcNAQENBQADgYEARmnu/2vUcmJYLlg86MN0prXGC3CGXsem fDtPF4SBPxfchdG7HJKywTloIiCBKGEQALkCHiJcQJNcSHmzH3/Qk+SrOJNH01gt HsKA4SNFJZR5fCRpT6USCukyE2Wlr+PWPscrFCWbLXhK4Ql/t0oog1255B10HqKk 1qDkNrzCd/o= -----END CERTIFICATE-----\n", "cluster_cert_key": "-----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAPBWiWZj7LYQU9V5 E8qlCYrkFeKeCmi6TTIqDULSHXhihV3pZmZVX1tG3yxgYBZpMKNfSiMxbTpSE1I2 9EKpbm9g50yD6A7O61wPGsOrpibu92euuO1N/mpcTQqcE7mDmNgiUPh1hCLjrsAH bUJJ3RKfa+2VgNsS2rUCgWBLxJspAgMBAAECgYEAvA7qqozL/1ZdUu/P1cQ36E86 9L03ZeVJXFRdVgj2eGqW8vob3z00RUb6gE3VQhQDNALvDwSw9G6eoblQfgz31Hju sb+j6bGOm2BqzYrx6rpcgme7k9ScV0tEbtiBNX0E/ToHvNywHtdOBvDocN2wh42Z 6bS9um51H+SXR036mgUCQQD4T7WrJHL97Hj8TtHnTw895xWKaGn94H7ZQa2lo1nk 7CQ4Oi8rFX5tDdyV7UU6fekBWuhpmIhSGJhyHD7UThBjAkEA98ef9ey2Qx+j+R8S tgpgJAF3LVNJJicEHCS/Vltgc84X/vidVAMa2+TYPxPrrUjxBr0STCeB5wZhvvsB D8cOAwJBAJ5JqaQPUx1dDe7Ai/vooO20Dj4xu0c0QYha3sfU7qwIgDo7lO/g/ruj 93a3TscvlkXf3oHZ0ySKOzual86ciMMCQQDGOLgaWHVy+4QFTzt70I8bHuUFqKRT VlEuZqN/ZXijDFQcES5jwFwjYE8zHy+ioEDaIDXcIJsGhA98Zndx9M+bAkA4IFdx 4YIDhuk1MJAYPqVQs5szEF/0BGymLNVYlIox48bZg+TH3uXwTVRVySxvpRa8dd3O 0gHs3EIV6GFUl7ev -----END PRIVATE KEY-----\n", "labels": {"env": "test"}} + responses: + "201": + application/json: {"control_plane": {"id": "d32d905a-ed33-46a3-a093-d8f536af9a8a", "prefix": "518da50bf7", "region": "us"}, "gateway_endpoint": "us-kong-4594857kpl.kongcloud.dev", "created_at": "2023-01-11T02:30:42.227Z", "updated_at": "2023-01-11T02:30:42.227Z", "labels": {"env": "test"}} + "400": + application/problem+json: {"status": 151995, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + get-serverless-cloud-gateway: + "": + parameters: + path: + controlPlaneId: "bf138ba2-c9b1-4229-b268-04d9d8a6410b" + responses: + "200": + application/json: {"control_plane": {"id": "d32d905a-ed33-46a3-a093-d8f536af9a8a", "prefix": "518da50bf7", "region": "us"}, "gateway_endpoint": "us-kong-4594857kpl.kongcloud.dev", "created_at": "2023-01-11T02:30:42.227Z", "updated_at": "2023-01-11T02:30:42.227Z", "labels": {"env": "test"}} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + delete-serverless-cloud-gateway: + "": + parameters: + path: + controlPlaneId: "bf138ba2-c9b1-4229-b268-04d9d8a6410b" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-control-planes: + "": + parameters: + query: + page[size]: 10 + page[number]: 1 + filter[name][eq]: "test" + filter[name]: "test" + filter[name][contains]: "test" + filter[name][neq]: "test" + filter[id][eq]: "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7" + filter[id]: "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7" + filter[id][oeq]: "some-value,some-other-value" + filter[cluster_type][eq]: "CLUSTER_TYPE_CONTROL_PLANE" + filter[cluster_type]: "CLUSTER_TYPE_CONTROL_PLANE" + filter[cluster_type][neq]: "test" + labels: "key:value,existCheck" + sort: "name,created_at desc" + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": []} + "400": + application/problem+json: {"status": 710664, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + create-control-plane: + speakeasy-default-create-control-plane: + requestBody: + application/json: {"name": "Test Control Plane", "description": "A test control plane for exploration.", "cluster_type": "CLUSTER_TYPE_CONTROL_PLANE", "auth_type": "pinned_client_certs", "cloud_gateway": false, "proxy_urls": [{"host": "example.com", "port": 443, "protocol": "https"}], "labels": {"env": "test"}} + responses: + "201": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "Test Control Plane", "description": "A test control plane for exploration.", "labels": {"env": "test"}, "config": {"control_plane_endpoint": "https://acfe5f253f.cp0.konghq.com", "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com"}, "created_at": "2022-11-04T20:10:06.927Z", "updated_at": "2022-11-04T20:10:06.927Z"} + "400": + application/problem+json: {"status": 528095, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + "500": + application/problem+json: {"status": 500, "title": "Internal Server Error", "instance": "konnect:trace:2287285207635123011", "detail": "Could not propagate control plane changes to control plane cluster service."} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + get-control-plane: + speakeasy-default-get-control-plane: + parameters: + path: + id: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "Test Control Plane", "description": "A test control plane for exploration.", "labels": {"env": "test"}, "config": {"control_plane_endpoint": "https://acfe5f253f.cp0.konghq.com", "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com"}, "created_at": "2022-11-04T20:10:06.927Z", "updated_at": "2022-11-04T20:10:06.927Z"} + "400": + application/problem+json: {"status": 95128, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + update-control-plane: + speakeasy-default-update-control-plane: + parameters: + path: + id: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + requestBody: + application/json: {"name": "Test Control Plane", "description": "A test control plane for exploration.", "auth_type": "pinned_client_certs", "proxy_urls": [{"host": "example.com", "port": 443, "protocol": "https"}], "labels": {"env": "test"}} + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "Test Control Plane", "description": "A test control plane for exploration.", "labels": {"env": "test"}, "config": {"control_plane_endpoint": "https://acfe5f253f.cp0.konghq.com", "telemetry_endpoint": "https://acfe5f253f.tp0.konghq.com"}, "created_at": "2022-11-04T20:10:06.927Z", "updated_at": "2022-11-04T20:10:06.927Z"} + "400": + application/problem+json: {"status": 292302, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "500": + application/problem+json: {"status": 500, "title": "Internal Server Error", "instance": "konnect:trace:2287285207635123011", "detail": "Could not propagate control plane changes to control plane cluster service."} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + delete-control-plane: + speakeasy-default-delete-control-plane: + parameters: + path: + id: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "400": + application/problem+json: {"status": 179990, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "500": + application/problem+json: {"status": 500, "title": "Internal Server Error", "instance": "konnect:trace:2287285207635123011", "detail": "Could not propagate control plane changes to control plane cluster service."} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + list-acl: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 186994} + list-acl-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + query: + tags: "tag1,tag2" + create-acl-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + get-acl-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + ACLId: "f28acbfa-c866-4587-b688-0208ac24df21" + upsert-acl-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + ACLId: "f28acbfa-c866-4587-b688-0208ac24df21" + delete-acl-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + ACLId: "f28acbfa-c866-4587-b688-0208ac24df21" + list-basic-auth: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 601420} + list-basic-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + query: + tags: "tag1,tag2" + create-basic-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + get-basic-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + BasicAuthId: "80db1b58-ca7c-4d21-b92a-64eb07725872" + upsert-basic-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + BasicAuthId: "80db1b58-ca7c-4d21-b92a-64eb07725872" + delete-basic-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + BasicAuthId: "80db1b58-ca7c-4d21-b92a-64eb07725872" + list-ca_certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 41102} + create-ca_certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 812329} + get-ca_certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CACertificateId: "3c31f18a-f27a-4f9b-8cd4-bf841554612f" + responses: + "401": + application/json: {"message": "", "status": 834989} + upsert-ca_certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CACertificateId: "3c31f18a-f27a-4f9b-8cd4-bf841554612f" + responses: + "401": + application/json: {"message": "", "status": 10999} + delete-ca_certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CACertificateId: "3c31f18a-f27a-4f9b-8cd4-bf841554612f" + responses: + "401": + application/json: {"message": "", "status": 495870} + list-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 637614} + create-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 143829} + get-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + responses: + "401": + application/json: {"message": "", "status": 173775} + upsert-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + responses: + "401": + application/json: {"message": "", "status": 45220} + delete-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + responses: + "401": + application/json: {"message": "", "status": 841254} + list-sni-with-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + query: + tags: "tag1,tag2" + create-sni-with-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + get-sni-with-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + upsert-sni-with-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + delete-sni-with-certificate: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + CertificateId: "ddf3cdaa-3329-4961-822a-ce6dbd38eff7" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + list-sni: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 974373} + create-sni: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 805552} + get-sni: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + responses: + "401": + application/json: {"message": "", "status": 786293} + upsert-sni: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + responses: + "401": + application/json: {"message": "", "status": 145107} + delete-sni: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + SNIId: "64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f" + responses: + "401": + application/json: {"message": "", "status": 761859} + list-consumer_group: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 463382} + create-consumer_group: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 933383} + get-consumer_group: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerGroupId: "" + responses: + "401": + application/json: {"message": "", "status": 945866} + upsert-consumer_group: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerGroupId: "" + responses: + "401": + application/json: {"message": "", "status": 153550} + delete-consumer_group: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerGroupId: "" + responses: + "401": + application/json: {"message": "", "status": 256735} + add-consumer-to-group: + "": + parameters: + path: + ConsumerGroupId: "" + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + requestBody: + application/json: {"consumer": "bob"} + list-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 184678} + create-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 848959} + get-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerId: "c1059869-6fa7-4329-a5f5-5946d14ca2c5" + responses: + "401": + application/json: {"message": "", "status": 616749} + upsert-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerId: "c1059869-6fa7-4329-a5f5-5946d14ca2c5" + responses: + "401": + application/json: {"message": "", "status": 246381} + delete-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerId: "c1059869-6fa7-4329-a5f5-5946d14ca2c5" + responses: + "401": + application/json: {"message": "", "status": 265954} + list-hmac-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + query: + tags: "tag1,tag2" + create-hmac-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + get-hmac-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + HMACAuthId: "70e7b00b-72f2-471b-a5ce-9c4171775360" + upsert-hmac-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + HMACAuthId: "70e7b00b-72f2-471b-a5ce-9c4171775360" + delete-hmac-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + HMACAuthId: "70e7b00b-72f2-471b-a5ce-9c4171775360" + list-hmac-auth: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 964312} + list-jwt-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + query: + tags: "tag1,tag2" + create-jwt-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + get-jwt-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + JWTId: "4a7f5faa-8c96-46d6-8214-c87573ef2ac4" + upsert-jwt-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + JWTId: "4a7f5faa-8c96-46d6-8214-c87573ef2ac4" + delete-jwt-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + JWTId: "4a7f5faa-8c96-46d6-8214-c87573ef2ac4" + list-jwt: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 276} + list-key-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + query: + tags: "tag1,tag2" + create-key-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + get-key-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + KeyAuthId: "" + upsert-key-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + KeyAuthId: "" + delete-key-auth-with-consumer: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ConsumerIdForNestedEntities: "f28acbfa-c866-4587-b688-0208ac24df21" + KeyAuthId: "" + list-key-auth: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 225401} + list-key-set: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 539517} + create-key-set: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 454928} + get-key-set: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeySetId: "6cc34248-50b4-4a81-9201-3bdf7a83f712" + responses: + "401": + application/json: {"message": "", "status": 321714} + upsert-key-set: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeySetId: "6cc34248-50b4-4a81-9201-3bdf7a83f712" + responses: + "401": + application/json: {"message": "", "status": 666641} + delete-key-set: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeySetId: "6cc34248-50b4-4a81-9201-3bdf7a83f712" + responses: + "401": + application/json: {"message": "", "status": 151744} + list-key: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 54127} + create-key: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 907390} + get-key: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeyId: "bba22c06-a632-42be-a018-1b9ff357b5b9" + responses: + "401": + application/json: {"message": "", "status": 265510} + upsert-key: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeyId: "bba22c06-a632-42be-a018-1b9ff357b5b9" + responses: + "401": + application/json: {"message": "", "status": 385247} + delete-key: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + KeyId: "bba22c06-a632-42be-a018-1b9ff357b5b9" + responses: + "401": + application/json: {"message": "", "status": 201277} + list-plugin-schemas: + speakeasy-default-list-plugin-schemas: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + page[size]: 10 + page[after]: "ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ" + responses: + "200": + application/json: {"items": []} + "400": + application/problem+json: {"status": 173619, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + create-plugin-schemas: + speakeasy-default-create-plugin-schemas: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + requestBody: + application/json: {"lua_schema": "return { name = \\\"myplugin\\\", fields = { { config = { type = \\\"record\\\", fields = { } } } } }"} + responses: + "201": + application/json: {"item": {"lua_schema": "return { name = \\\"myplugin\\\", fields = { { config = { type = \\\"record\\\", fields = { } } } } }", "name": "myplugin", "created_at": 1422386534, "updated_at": 1422412345}} + "400": + application/problem+json: {"status": 747162, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + get-plugin-schema: + speakeasy-default-get-plugin-schema: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + name: "myplugin" + responses: + "200": + application/json: {"item": {"lua_schema": "return { name = \\\"myplugin\\\", fields = { { config = { type = \\\"record\\\", fields = { } } } } }", "name": "myplugin", "created_at": 1422386534, "updated_at": 1422412345}} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + update-plugin-schemas: + speakeasy-default-update-plugin-schemas: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + name: "myplugin" + requestBody: + application/json: {"lua_schema": "return { name = \\\"myplugin\\\", fields = { { config = { type = \\\"record\\\", fields = { } } } } }"} + responses: + "200": + application/json: {"item": {"lua_schema": "return { name = \\\"myplugin\\\", fields = { { config = { type = \\\"record\\\", fields = { } } } } }", "name": "myplugin", "created_at": 1422386534, "updated_at": 1422412345}} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + delete-plugin-schemas: + speakeasy-default-delete-plugin-schemas: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + name: "myplugin" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-plugin: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 792384} + create-plugin: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 130029} + get-plugin: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + responses: + "401": + application/json: {"message": "", "status": 929065} + upsert-plugin: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + responses: + "401": + application/json: {"message": "", "status": 114024} + delete-plugin: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + responses: + "401": + application/json: {"message": "", "status": 447223} + list-plugin-with-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + query: + tags: "tag1,tag2" + create-plugin-with-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + get-plugin-with-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + upsert-plugin-with-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + delete-plugin-with-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + fetch-plugin-schema: + "": + parameters: + path: + pluginName: "" + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + list-plugin-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + query: + tags: "tag1,tag2" + create-plugin-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + get-plugin-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + upsert-plugin-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + delete-plugin-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + PluginId: "3473c251-5b6c-4f45-b1ff-7ede735a366d" + list-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 175066} + create-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 811488} + get-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + responses: + "401": + application/json: {"message": "", "status": 248766} + upsert-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + responses: + "401": + application/json: {"message": "", "status": 298474} + delete-route: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + responses: + "401": + application/json: {"message": "", "status": 433241} + list-route-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + query: + tags: "tag1,tag2" + create-route-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + get-route-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + upsert-route-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + delete-route-with-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + RouteId: "a4326a41-aa12-44e3-93e4-6b6e58bfb9d7" + list-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 151286} + create-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + requestBody: + application/json: {"host": "fumbling-airship.org"} + responses: + "201": + application/json: {"host": "courageous-jalapeño.com"} + "401": + application/json: {"message": "", "status": 216580} + get-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + responses: + "200": + application/json: {"host": "stable-menu.org"} + "401": + application/json: {"message": "", "status": 446943} + upsert-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + requestBody: + application/json: {"host": "shady-zen.name"} + responses: + "200": + application/json: {"host": "criminal-shield.name"} + "401": + application/json: {"message": "", "status": 431439} + delete-service: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + ServiceId: "7fca84d6-7d37-4a74-a7b0-93e576089a41" + responses: + "401": + application/json: {"message": "", "status": 641115} + list-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 702828} + create-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 670650} + get-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamId: "426d620c-7058-4ae6-aacc-f85a3204a2c5" + responses: + "401": + application/json: {"message": "", "status": 104017} + upsert-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamId: "426d620c-7058-4ae6-aacc-f85a3204a2c5" + responses: + "401": + application/json: {"message": "", "status": 59493} + delete-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamId: "426d620c-7058-4ae6-aacc-f85a3204a2c5" + responses: + "401": + application/json: {"message": "", "status": 424361} + list-target-with-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamIdForTarget: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + query: + tags: "tag1,tag2" + create-target-with-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamIdForTarget: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + get-target-with-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamIdForTarget: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + TargetId: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + upsert-target-with-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamIdForTarget: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + TargetId: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + delete-target-with-upstream: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + UpstreamIdForTarget: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + TargetId: "5a078780-5d4c-4aae-984a-bdc6f52113d8" + list-vault: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + responses: + "401": + application/json: {"message": "", "status": 831425} + create-vault: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + responses: + "401": + application/json: {"message": "", "status": 954798} + get-vault: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + VaultId: "9d4d6d19-77c6-428e-a965-9bc9647633e9" + responses: + "401": + application/json: {"message": "", "status": 429820} + upsert-vault: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + VaultId: "9d4d6d19-77c6-428e-a965-9bc9647633e9" + responses: + "401": + application/json: {"message": "", "status": 63413} + delete-vault: + "": + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + VaultId: "9d4d6d19-77c6-428e-a965-9bc9647633e9" + responses: + "401": + application/json: {"message": "", "status": 348903} + list-dp-client-certificates: + speakeasy-default-list-dp-client-certificates: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + page[size]: 10 + page[after]: "ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ" + create-dataplane-certificate: + speakeasy-default-create-dataplane-certificate: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + get-dataplane-certificate: + speakeasy-default-get-dataplane-certificate: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + certificateId: "" + delete-dataplane-certificate: + speakeasy-default-delete-dataplane-certificate: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + certificateId: "" + get-expected-config-hash: + speakeasy-default-get-expected-config-hash: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + list-dataplane-nodes: + speakeasy-default-list-dataplane-nodes: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + page[size]: 10 + page[after]: "ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ" + get-nodes-node_id: + "": + parameters: + path: + nodeId: "" + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + tags: "tag1,tag2" + delete-nodes-node_id: + speakeasy-default-delete-nodes-node-id: + parameters: + path: + nodeId: "" + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + get-nodes-eol: + speakeasy-default-get-nodes-eol: + parameters: + path: + controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458" + query: + page[size]: 10 + page[after]: "ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ" + get-control-planes-id-group-member-status: + speakeasy-default-get-control-planes-id-group-member-status: + parameters: + path: + id: "" + responses: + "200": + application/json: {"is_member": true} + "400": + application/problem+json: {"status": 237682, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + get-control-planes-id-group-memberships: + speakeasy-default-get-control-planes-id-group-memberships: + parameters: + path: + id: "" + query: + page[size]: 10 + page[after]: "ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ" + responses: + "200": + application/json: {"meta": {"page": {"next": "/home/user", "size": 10, "total": 974}}, "data": []} + "400": + application/problem+json: {"status": 779373, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + post-control-planes-id-group-memberships-add: + speakeasy-default-post-control-planes-id-group-memberships-add: + parameters: + path: + id: "" + responses: + "400": + application/problem+json: {"status": 436362, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + post-control-planes-id-group-memberships-remove: + speakeasy-default-post-control-planes-id-group-memberships-remove: + parameters: + path: + id: "" + responses: + "400": + application/problem+json: {"status": 753975, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + get-control-planes-id-group-status: + speakeasy-default-get-control-planes-id-group-status: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "created_at": "2022-11-04T20:10:06.927Z", "updated_at": "2022-11-04T20:10:06.927Z", "conflicts": [], "state": "CONFLICT"} + "400": + application/problem+json: {"status": 801860, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "503": + application/problem+json: {"status": 503, "title": "Service Unavailable", "instance": "konnect:trace:2287285207635123011", "detail": "Could not retrieve permissions to check resource accessibility."} + authenticate-sso: + speakeasy-default-authenticate-sso: + parameters: + path: + organizationLoginPath: "" + query: {} + responses: + "400": + application/problem+json: {"status": 825298, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + get-authentication-settings: + speakeasy-default-get-authentication-settings: + responses: + "200": + application/json: {"basic_auth_enabled": true, "oidc_auth_enabled": false, "idp_mapping_enabled": true, "konnect_mapping_enabled": false} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + update-authentication-settings: + speakeasy-default-update-authentication-settings: + requestBody: + application/json: {"basic_auth_enabled": true, "oidc_auth_enabled": false, "idp_mapping_enabled": true, "konnect_mapping_enabled": false} + responses: + "200": + application/json: {"basic_auth_enabled": true, "oidc_auth_enabled": false, "idp_mapping_enabled": true, "konnect_mapping_enabled": false} + "400": + application/problem+json: {"status": 512469, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + get-idp-configuration: + speakeasy-default-get-idp-configuration: + responses: + "200": + application/json: {"issuer": "https://myidp.com/oauth2", "login_path": "myapp", "client_id": "YOUR_CLIENT_ID", "claim_mappings": {"name": "name", "email": "email", "groups": "custom-groups-claim"}} + "400": + application/problem+json: {"status": 690822, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + update-idp-configuration: + speakeasy-default-update-idp-configuration: + requestBody: + application/json: {"issuer": "https://myidp.com/oauth2", "login_path": "myapp", "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "claim_mappings": {"name": "name", "email": "email", "groups": "custom-group-claim"}} + responses: + "200": + application/json: {"issuer": "https://myidp.com/oauth2", "login_path": "myapp", "client_id": "YOUR_CLIENT_ID", "claim_mappings": {"name": "name", "email": "email", "groups": "custom-groups-claim"}} + "400": + application/problem+json: {"status": 774219, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + get-team-group-mappings: + speakeasy-default-get-team-group-mappings: + parameters: + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"team_id": "6801e673-cc10-498a-94cd-4271de07a0d3", "groups": ["Tech Leads", "API Engineers"]}]} + "400": + application/problem+json: {"status": 452924, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + patch-team-group-mappings: + speakeasy-default-patch-team-group-mappings: + requestBody: + application/json: {} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"team_id": "6801e673-cc10-498a-94cd-4271de07a0d3", "groups": ["Tech Leads", "API Engineers"]}]} + "400": + application/problem+json: {"status": 282866, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + get-idp-team-mappings: + speakeasy-default-get-idp-team-mappings: + parameters: + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 9, "total": 5}}, "data": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "412": + application/problem+json: {"status": 412, "title": "Precondition Failed", "instance": "konnect:trace:1896611024257578096", "detail": "IdP configuration not found"} + update-idp-team-mappings: + speakeasy-default-update-idp-team-mappings: + requestBody: + application/json: {"mappings": [{"group": "Service Developers", "team_ids": ["af91db4c-6e51-403e-a2bf-33d27ae50c0a"]}]} + responses: + "200": + application/json: {"data": [{"group": "Service Developers", "team_ids": ["6801e673-cc10-498a-94cd-4271de07a0d3"]}]} + "400": + application/problem+json: {"status": 605, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "412": + application/problem+json: {"status": 412, "title": "Precondition Failed", "instance": "konnect:trace:1896611024257578096", "detail": "IdP configuration not found"} + invite-user: + speakeasy-default-invite-user: + requestBody: + application/json: {"email": "james.c.woods@example.com"} + responses: + "400": + application/problem+json: {"status": 177403, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + "429": + application/problem+json: {"status": 429, "title": "Rate Limited", "instance": "konnect:trace:3674017986744198214", "detail": "Too many requests"} + get-impersonation-settings: + speakeasy-default-get-impersonation-settings: + responses: + "200": + application/json: {"enabled": true} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + update-impersonation-settings: + speakeasy-default-update-impersonation-settings: + requestBody: + application/json: {"enabled": true} + responses: + "200": + application/json: {"enabled": true} + "400": + application/problem+json: {"status": 479685, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-organizations-me: + speakeasy-default-get-organizations-me: + responses: + "200": + application/json: {"id": "d99c041a-c7cf-46a2-bf3a-44bb5f75400e", "name": "string", "owner_id": "1c9c3848-5897-4f2c-beed-df6f3e3adb37", "created_at": "2023-01-23T17:22:52.150Z", "updated_at": "2023-01-23T17:22:52.150Z", "state": "active", "retention_period_days": 90} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + get-predefined-roles: + speakeasy-default-get-predefined-roles: + responses: + "200": + application/json: {"control_planes": {"name": "Control Planes", "roles": {"admin": {"name": "Admin", "description": "This role grants full write access to all entities within a control plane."}, "certificate_admin": {"name": "Certificate Admin", "description": "This role grants full write access to administer certificates."}, "consumer_admin": {"name": "Consumer Admin", "description": "This role grants full write access to administer consumers."}, "creator": {"name": "Creator", "description": "Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create."}, "deployer": {"name": "Deployer", "description": "This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub."}, "gateway_service_admin": {"name": "Gateway Service Admin", "description": "This role grants full write access to administer gateway services."}, "plugin_admin": {"name": "Plugin Admin", "description": "This role grants full write access to administer plugins."}, "route_admin": {"name": "Route Admin", "description": "This role grants full write access to administer routes."}, "sni_admin": {"name": "SNI Admin", "description": "This role grants full write access to administer SNIs."}, "upstream_admin": {"name": "Upstream Admin", "description": "This role grants full write access to administer upstreams."}, "viewer": {"name": "Viewer", "description": "This role grants read only access to all entities within a control plane."}}}, "api_products": {"name": "API Products", "roles": {"admin": {"name": "Admin", "description": "This role grants full write access to an API product and its versions."}, "application_registration": {"name": "Application Registration", "description": "This role grants permission to enable and disable application registration on an API product."}, "creator": {"name": "Creator", "description": "This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc."}, "deployer": {"name": "Deployer", "description": "This role grants permission to deploy and remove an API product from a control plane."}, "maintainer": {"name": "Maintainer", "description": "This role grants all write permission to manage an API product and to administer plugins."}, "plugins_admin": {"name": "Plugins Admin", "description": "This role grants full write permission to administer plugins."}, "publisher": {"name": "Publisher", "description": "This role grants permission to publish an API product to one or more portals."}, "viewer": {"name": "Viewer", "description": "Viewer has read-only access to an API product and its sub-entities."}}}, "audit_logs": {"name": "Audit Logs", "roles": {"admin": {"name": "Admin", "description": "This role grants full write access to the Audit log configuration."}}}, "identity": {"name": "Identity", "roles": {"admin": {"name": "Admin", "description": "This role grants full write access to the Identity configuration."}}}, "mesh_control_planes": {"name": "Mesh Control Plane", "roles": {"admin": {"name": "Admin", "description": "This role grants full write access to the related to Mesh control planes."}, "creator": {"name": "Creator", "description": "This role grants access to create new Mesh control planes."}, "viewer": {"name": "Viewer", "description": "This role grants access to read-only permissions to Mesh control planes."}}}} + "400": + application/problem+json: {"status": 615012, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + list-team-roles: + speakeasy-default-list-team-roles: + parameters: + path: + teamId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + query: {} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"}]} + "400": + application/problem+json: {"status": 309033, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + teams-assign-role: + speakeasy-default-teams-assign-role: + parameters: + path: + teamId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + requestBody: + application/json: {"role_name": "Viewer", "entity_id": "e67490ce-44dc-4cbd-b65e-b52c746fc26a", "entity_type_name": "Control Planes", "entity_region": "eu"} + responses: + "201": + application/json: {"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"} + "400": + application/problem+json: {"status": 96861, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + teams-remove-role: + speakeasy-default-teams-remove-role: + parameters: + path: + teamId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + roleId: "8350205f-a305-4e39-abe9-bc082a80091a" + responses: + "400": + application/problem+json: {"status": 187339, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-user-roles: + speakeasy-default-list-user-roles: + parameters: + path: + userId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + query: {} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"}]} + "400": + application/problem+json: {"status": 918136, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + users-assign-role: + speakeasy-default-users-assign-role: + parameters: + path: + userId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + requestBody: + application/json: {"role_name": "Viewer", "entity_id": "e67490ce-44dc-4cbd-b65e-b52c746fc26a", "entity_type_name": "Control Planes", "entity_region": "eu"} + responses: + "201": + application/json: {"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"} + "400": + application/problem+json: {"status": 883546, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + users-remove-role: + speakeasy-default-users-remove-role: + parameters: + path: + userId: "e81bc3e5-e9db-4764-b7dd-e81e39072cbe" + roleId: "8350205f-a305-4e39-abe9-bc082a80091a" + responses: + "400": + application/problem+json: {"status": 969941, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-system-accounts: + speakeasy-default-get-system-accounts: + parameters: + query: + page[size]: 10 + page[number]: 1 + filter: {"konnect_managed": true} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Example System Account", "description": "This is a sample system account description.", "created_at": "2022-08-24T14:15:22Z", "updated_at": "2022-10-05T10:33:49Z", "konnect_managed": false}]} + "400": + application/problem+json: {"status": 577977, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + post-system-accounts: + speakeasy-default-post-system-accounts: + responses: + "201": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Example System Account", "description": "This is a sample system account description.", "created_at": "2022-08-24T14:15:22Z", "updated_at": "2022-10-05T10:33:49Z", "konnect_managed": false} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + get-system-accounts-id: + speakeasy-default-get-system-accounts-id: + parameters: + path: + accountId: "" + responses: + "200": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Example System Account", "description": "This is a sample system account description.", "created_at": "2022-08-24T14:15:22Z", "updated_at": "2022-10-05T10:33:49Z", "konnect_managed": false} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + patch-system-accounts-id: + speakeasy-default-patch-system-accounts-id: + parameters: + path: + accountId: "" + responses: + "200": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Example System Account", "description": "This is a sample system account description.", "created_at": "2022-08-24T14:15:22Z", "updated_at": "2022-10-05T10:33:49Z", "konnect_managed": false} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + delete-system-accounts-id: + speakeasy-default-delete-system-accounts-id: + parameters: + path: + accountId: "" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-system-account-id-access-tokens: + speakeasy-default-get-system-account-id-access-tokens: + parameters: + path: + accountId: "" + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Sample Access Token", "created_at": "2022-08-01T14:16:09Z", "updated_at": "2022-08-02T08:35:49Z", "expires_at": "2022-12-31T12:52:23Z", "last_used_at": "2022-10-24T13:05:42Z"}]} + "400": + application/problem+json: {"status": 336288, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + post-system-accounts-id-access-tokens: + speakeasy-default-post-system-accounts-id-access-tokens: + parameters: + path: + accountId: "" + responses: + "201": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Sample Access Token", "created_at": "2022-08-01T14:16:09Z", "updated_at": "2022-08-02T08:35:49Z", "expires_at": "2022-12-31T12:52:23Z", "last_used_at": "2022-10-24T13:05:42Z"} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + get-system-accounts-id-access-tokens-id: + speakeasy-default-get-system-accounts-id-access-tokens-id: + parameters: + path: + accountId: "" + tokenId: "" + responses: + "200": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Sample Access Token", "created_at": "2022-08-01T14:16:09Z", "updated_at": "2022-08-02T08:35:49Z", "expires_at": "2022-12-31T12:52:23Z", "last_used_at": "2022-10-24T13:05:42Z"} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + patch-system-accounts-id-access-tokens-id: + speakeasy-default-patch-system-accounts-id-access-tokens-id: + parameters: + path: + accountId: "" + tokenId: "" + responses: + "200": + application/json: {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Sample Access Token", "created_at": "2022-08-01T14:16:09Z", "updated_at": "2022-08-02T08:35:49Z", "expires_at": "2022-12-31T12:52:23Z", "last_used_at": "2022-10-24T13:05:42Z"} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + delete-system-accounts-id-access-tokens-id: + speakeasy-default-delete-system-accounts-id-access-tokens-id: + parameters: + path: + accountId: "" + tokenId: "" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-system-accounts-accountId-assigned-roles: + speakeasy-default-get-system-accounts-account-id-assigned-roles: + parameters: + path: + accountId: "" + query: {} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"}]} + "400": + application/problem+json: {"status": 571370, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + post-system-accounts-accountId-assigned-roles: + speakeasy-default-post-system-accounts-account-id-assigned-roles: + parameters: + path: + accountId: "" + requestBody: + application/json: {"role_name": "Viewer", "entity_id": "e67490ce-44dc-4cbd-b65e-b52c746fc26a", "entity_type_name": "Control Planes", "entity_region": "eu"} + responses: + "201": + application/json: {"id": "54cc6168-ebb1-4300-8168-d62a0dd08fc8", "role_name": "Viewer", "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61", "entity_type_name": "Control Planes", "entity_region": "us"} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + delete-system-accounts-accountId-assigned-roles-roleId: + speakeasy-default-delete-system-accounts-account-id-assigned-roles-role-id: + parameters: + path: + accountId: "" + roleId: "" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-system-accounts-accountId-teams: + speakeasy-default-get-system-accounts-account-id-teams: + parameters: + path: + accountId: "" + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"}]} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + get-teams-teamId-system-accounts: + speakeasy-default-get-teams-team-id-system-accounts: + parameters: + path: + teamId: "" + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "Example System Account", "description": "This is a sample system account description.", "created_at": "2022-08-24T14:15:22Z", "updated_at": "2022-10-05T10:33:49Z", "konnect_managed": false}]} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + post-teams-teamId-system-accounts: + speakeasy-default-post-teams-team-id-system-accounts: + parameters: + path: + teamId: "" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + "409": + application/problem+json: {"status": 409, "title": "Conflict", "type": "https://httpstatuses.com/409", "instance": "kong:trace:1234567890", "detail": "Conflict"} + delete-teams-teamId-system-accounts-accountId: + speakeasy-default-delete-teams-team-id-system-accounts-account-id: + parameters: + path: + teamId: "" + accountId: "" + responses: + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-teams: + speakeasy-default-list-teams: + parameters: + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"}]} + "400": + application/problem+json: {"status": 479032, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + create-team: + speakeasy-default-create-team: + requestBody: + application/json: {"name": "IDM - Developers", "description": "The Identity Management (IDM) team.", "labels": {"env": "test"}} + responses: + "201": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"} + "400": + application/problem+json: {"status": 100185, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + get-team: + speakeasy-default-get-team: + parameters: + path: + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"} + "400": + application/problem+json: {"status": 367838, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + update-team: + speakeasy-default-update-team: + parameters: + path: + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + requestBody: + application/json: {"name": "IDM - Developers", "description": "The Identity Management (IDM) API team.", "labels": {"env": "test"}} + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"} + "400": + application/problem+json: {"status": 338118, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + delete-team: + speakeasy-default-delete-team: + parameters: + path: + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "400": + application/problem+json: {"status": 47150, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-team-users: + speakeasy-default-list-team-users: + parameters: + path: + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + query: + page[size]: 10 + page[number]: 1 + filter: {"active": true} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "email": "user@email.com", "full_name": "Test User", "preferred_name": "test", "active": true, "created_at": "2022-02-07T17:46:57.52Z", "updated_at": "2022-10-08T17:00:00.52Z"}]} + "400": + application/problem+json: {"status": 726452, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + add-user-to-team: + speakeasy-default-add-user-to-team: + parameters: + path: + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + requestBody: + application/json: {"id": "df120cb4-f60b-47bc-a2f8-6a28e6a3c63b"} + responses: + "400": + application/problem+json: {"status": 346361, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + remove-user-from-team: + speakeasy-default-remove-user-from-team: + parameters: + path: + userId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + teamId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "400": + application/problem+json: {"status": 237077, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-user-teams: + speakeasy-default-list-user-teams: + parameters: + path: + userId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + query: + page[size]: 10 + page[number]: 1 + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "name": "IDM - Developers", "description": "The developers for the IDM API.", "system_team": false, "labels": {"env": "test"}, "created_at": "1992-02-07T17:46:57.52Z", "updated_at": "2022-08-31T17:00:00.52Z"}]} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + list-users: + speakeasy-default-list-users: + parameters: + query: + page[size]: 10 + page[number]: 1 + filter: {"active": true} + responses: + "200": + application/json: {"meta": {"page": {"number": 1, "size": 10, "total": 100}}, "data": [{"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "email": "user@email.com", "full_name": "Test User", "preferred_name": "test", "active": true, "created_at": "2022-02-07T17:46:57.52Z", "updated_at": "2022-10-08T17:00:00.52Z"}]} + "400": + application/problem+json: {"status": 606239, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + get-user: + speakeasy-default-get-user: + parameters: + path: + userId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "email": "user@email.com", "full_name": "Test User", "preferred_name": "test", "active": true, "created_at": "2022-02-07T17:46:57.52Z", "updated_at": "2022-10-08T17:00:00.52Z"} + "400": + application/problem+json: {"status": 281740, "title": "", "instance": "", "detail": "", "invalid_parameters": []} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + update-user: + speakeasy-default-update-user: + parameters: + path: + userId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + requestBody: + application/json: {"full_name": "James C. Woods", "preferred_name": "Jimmy"} + responses: + "200": + application/json: {"id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7", "email": "user@email.com", "full_name": "Test User", "preferred_name": "test", "active": true, "created_at": "2022-02-07T17:46:57.52Z", "updated_at": "2022-10-08T17:00:00.52Z"} + "401": + application/problem+json: {"status": 401, "title": "Unauthorized", "type": "https://httpstatuses.com/401", "instance": "kong:trace:1234567890", "detail": "Invalid credentials"} + "403": + application/problem+json: {"status": 403, "title": "Forbidden", "type": "https://httpstatuses.com/403", "instance": "kong:trace:1234567890", "detail": "Forbidden"} + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} + delete-user: + speakeasy-default-delete-user: + parameters: + path: + userId: "d32d905a-ed33-46a3-a093-d8f536af9a8a" + responses: + "404": + application/problem+json: {"status": 404, "title": "Not Found", "type": "https://httpstatuses.com/404", "instance": "kong:trace:1234567890", "detail": "Not found"} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index fadf593..71f6e20 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: false go: - version: 0.0.6 + version: 0.0.7 additionalDependencies: {} allowUnknownFieldsInWeakUnions: false clientServerStatusCodesAsErrors: true diff --git a/README.md b/README.md index 2566eda..15098f2 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { var e *sdkerrors.UnauthorizedError @@ -103,13 +103,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { log.Fatal(err) } @@ -142,13 +142,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { log.Fatal(err) } @@ -179,13 +179,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request, operations.WithServerURL("https://global.api.konghq.com/")) + }, operations.WithServerURL("https://global.api.konghq.com/")) if err != nil { log.Fatal(err) } @@ -257,13 +257,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { log.Fatal(err) } @@ -281,6 +281,28 @@ func main() { + +## Summary + +Konnect API - Go SDK: The Konnect platform API + +For more information about the API: [Documentation for Kong Gateway and its APIs](https://docs.konghq.com) + + + +## Table of Contents + +* [SDK Installation](#sdk-installation) +* [SDK Example Usage](#sdk-example-usage) +* [Available Resources and Operations](#available-resources-and-operations) +* [Retries](#retries) +* [Error Handling](#error-handling) +* [Server Selection](#server-selection) +* [Custom HTTP Client](#custom-http-client) +* [Authentication](#authentication) +* [Special Types](#special-types) + + ## Retries @@ -306,13 +328,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request, operations.WithRetries( + }, operations.WithRetries( retry.Config{ Strategy: "backoff", Backoff: &retry.BackoffStrategy{ @@ -363,13 +385,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { log.Fatal(err) } diff --git a/USAGE.md b/USAGE.md index e2878a7..da62273 100644 --- a/USAGE.md +++ b/USAGE.md @@ -16,13 +16,13 @@ func main() { PersonalAccessToken: sdkkonnectgo.String(""), }), ) - request := operations.ListServerlessCloudGatewayRequest{ + + ctx := context.Background() + res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, operations.ListServerlessCloudGatewayRequest{ PageSize: sdkkonnectgo.Int64(10), PageNumber: sdkkonnectgo.Int64(1), Labels: sdkkonnectgo.String("filter[labels][eq]=env:prod"), - } - ctx := context.Background() - res, err := s.ServerlessCloudGateways.ListServerlessCloudGateway(ctx, request) + }) if err != nil { log.Fatal(err) } diff --git a/acls.go b/acls.go index f2a356b..8e07185 100644 --- a/acls.go +++ b/acls.go @@ -171,17 +171,25 @@ func (s *ACLs) ListACL(ctx context.Context, request operations.ListACLRequest, o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListACLResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,11 +197,21 @@ func (s *ACLs) ListACL(ctx context.Context, request operations.ListACLRequest, o res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -201,13 +219,28 @@ func (s *ACLs) ListACL(ctx context.Context, request operations.ListACLRequest, o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -360,17 +393,25 @@ func (s *ACLs) ListACLWithConsumer(ctx context.Context, request operations.ListA RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListACLWithConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -378,13 +419,28 @@ func (s *ACLs) ListACLWithConsumer(ctx context.Context, request operations.ListA res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -539,17 +595,25 @@ func (s *ACLs) CreateACLWithConsumer(ctx context.Context, request operations.Cre RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ACL if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -557,13 +621,28 @@ func (s *ACLs) CreateACLWithConsumer(ctx context.Context, request operations.Cre res.ACL = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -712,17 +791,25 @@ func (s *ACLs) GetACLWithConsumer(ctx context.Context, request operations.GetACL RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ACL if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -730,6 +817,11 @@ func (s *ACLs) GetACLWithConsumer(ctx context.Context, request operations.GetACL res.ACL = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -737,8 +829,18 @@ func (s *ACLs) GetACLWithConsumer(ctx context.Context, request operations.GetACL case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -893,17 +995,25 @@ func (s *ACLs) UpsertACLWithConsumer(ctx context.Context, request operations.Ups RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ACL if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -911,13 +1021,28 @@ func (s *ACLs) UpsertACLWithConsumer(ctx context.Context, request operations.Ups res.ACL = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1066,20 +1191,33 @@ func (s *ACLs) DeleteACLWithConsumer(ctx context.Context, request operations.Del RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/apikeys.go b/apikeys.go index 1e1984e..33b78b4 100644 --- a/apikeys.go +++ b/apikeys.go @@ -171,17 +171,25 @@ func (s *APIKeys) ListKeyAuthWithConsumer(ctx context.Context, request operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListKeyAuthWithConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,13 +197,28 @@ func (s *APIKeys) ListKeyAuthWithConsumer(ctx context.Context, request operation res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -350,17 +373,25 @@ func (s *APIKeys) CreateKeyAuthWithConsumer(ctx context.Context, request operati RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeyAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -368,13 +399,28 @@ func (s *APIKeys) CreateKeyAuthWithConsumer(ctx context.Context, request operati res.KeyAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -523,17 +569,25 @@ func (s *APIKeys) GetKeyAuthWithConsumer(ctx context.Context, request operations RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeyAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -541,6 +595,11 @@ func (s *APIKeys) GetKeyAuthWithConsumer(ctx context.Context, request operations res.KeyAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -548,8 +607,18 @@ func (s *APIKeys) GetKeyAuthWithConsumer(ctx context.Context, request operations case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -704,17 +773,25 @@ func (s *APIKeys) UpsertKeyAuthWithConsumer(ctx context.Context, request operati RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeyAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -722,13 +799,28 @@ func (s *APIKeys) UpsertKeyAuthWithConsumer(ctx context.Context, request operati res.KeyAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -877,20 +969,33 @@ func (s *APIKeys) DeleteKeyAuthWithConsumer(ctx context.Context, request operati RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1043,17 +1148,25 @@ func (s *APIKeys) ListKeyAuth(ctx context.Context, request operations.ListKeyAut RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListKeyAuthResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1061,11 +1174,21 @@ func (s *APIKeys) ListKeyAuth(ctx context.Context, request operations.ListKeyAut res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1073,13 +1196,28 @@ func (s *APIKeys) ListKeyAuth(ctx context.Context, request operations.ListKeyAut return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/authentication.go b/authentication.go index 07015c0..2a6163d 100644 --- a/authentication.go +++ b/authentication.go @@ -180,18 +180,26 @@ func (s *Authentication) AuthenticateSso(ctx context.Context, organizationLoginP RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 302: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -199,11 +207,21 @@ func (s *Authentication) AuthenticateSso(ctx context.Context, organizationLoginP return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -211,13 +229,28 @@ func (s *Authentication) AuthenticateSso(ctx context.Context, organizationLoginP return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/authsettings.go b/authsettings.go index 722b17e..0349652 100644 --- a/authsettings.go +++ b/authsettings.go @@ -173,17 +173,25 @@ func (s *AuthSettings) GetAuthenticationSettings(ctx context.Context, opts ...op RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AuthenticationSettings if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *AuthSettings) GetAuthenticationSettings(ctx context.Context, opts ...op res.AuthenticationSettings = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,13 +221,28 @@ func (s *AuthSettings) GetAuthenticationSettings(ctx context.Context, opts ...op return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -369,17 +402,25 @@ func (s *AuthSettings) UpdateAuthenticationSettings(ctx context.Context, request RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AuthenticationSettings if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -387,11 +428,21 @@ func (s *AuthSettings) UpdateAuthenticationSettings(ctx context.Context, request res.AuthenticationSettings = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -399,6 +450,11 @@ func (s *AuthSettings) UpdateAuthenticationSettings(ctx context.Context, request return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -406,6 +462,11 @@ func (s *AuthSettings) UpdateAuthenticationSettings(ctx context.Context, request case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -413,13 +474,28 @@ func (s *AuthSettings) UpdateAuthenticationSettings(ctx context.Context, request return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -573,17 +649,25 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.IDP if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -591,11 +675,21 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio res.IDP = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -603,11 +697,21 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -615,11 +719,21 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -627,11 +741,21 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -639,13 +763,28 @@ func (s *AuthSettings) GetIdpConfiguration(ctx context.Context, opts ...operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -805,17 +944,25 @@ func (s *AuthSettings) UpdateIdpConfiguration(ctx context.Context, request *comp RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.IDP if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -823,11 +970,21 @@ func (s *AuthSettings) UpdateIdpConfiguration(ctx context.Context, request *comp res.IDP = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -835,6 +992,11 @@ func (s *AuthSettings) UpdateIdpConfiguration(ctx context.Context, request *comp return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -842,6 +1004,11 @@ func (s *AuthSettings) UpdateIdpConfiguration(ctx context.Context, request *comp case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -849,13 +1016,28 @@ func (s *AuthSettings) UpdateIdpConfiguration(ctx context.Context, request *comp return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1019,17 +1201,25 @@ func (s *AuthSettings) GetTeamGroupMappings(ctx context.Context, pageSize *int64 RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamGroupMappingCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1037,11 +1227,21 @@ func (s *AuthSettings) GetTeamGroupMappings(ctx context.Context, pageSize *int64 res.TeamGroupMappingCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1049,11 +1249,21 @@ func (s *AuthSettings) GetTeamGroupMappings(ctx context.Context, pageSize *int64 return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1061,11 +1271,21 @@ func (s *AuthSettings) GetTeamGroupMappings(ctx context.Context, pageSize *int64 return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1073,13 +1293,28 @@ func (s *AuthSettings) GetTeamGroupMappings(ctx context.Context, pageSize *int64 return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1244,17 +1479,25 @@ func (s *AuthSettings) PatchTeamGroupMappings(ctx context.Context, request *comp RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamGroupMappingCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1262,11 +1505,21 @@ func (s *AuthSettings) PatchTeamGroupMappings(ctx context.Context, request *comp res.TeamGroupMappingCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1274,11 +1527,21 @@ func (s *AuthSettings) PatchTeamGroupMappings(ctx context.Context, request *comp return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1286,11 +1549,21 @@ func (s *AuthSettings) PatchTeamGroupMappings(ctx context.Context, request *comp return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1298,13 +1571,28 @@ func (s *AuthSettings) PatchTeamGroupMappings(ctx context.Context, request *comp return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1467,17 +1755,25 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamMappingResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1485,11 +1781,21 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, res.TeamMappingResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1497,11 +1803,21 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1509,11 +1825,21 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1521,11 +1847,21 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 412: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.PreconditionFailed if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1533,13 +1869,28 @@ func (s *AuthSettings) GetIdpTeamMappings(ctx context.Context, pageSize *int64, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1699,17 +2050,25 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamMappingCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1717,11 +2076,21 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo res.TeamMappingCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1729,11 +2098,21 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1741,11 +2120,21 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1753,11 +2142,21 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 412: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.PreconditionFailed if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1765,13 +2164,28 @@ func (s *AuthSettings) UpdateIdpTeamMappings(ctx context.Context, request *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/basicauthcredentials.go b/basicauthcredentials.go index 7969435..32e4470 100644 --- a/basicauthcredentials.go +++ b/basicauthcredentials.go @@ -171,17 +171,25 @@ func (s *BasicAuthCredentials) ListBasicAuth(ctx context.Context, request operat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListBasicAuthResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,11 +197,21 @@ func (s *BasicAuthCredentials) ListBasicAuth(ctx context.Context, request operat res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -201,13 +219,28 @@ func (s *BasicAuthCredentials) ListBasicAuth(ctx context.Context, request operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -360,17 +393,25 @@ func (s *BasicAuthCredentials) ListBasicAuthWithConsumer(ctx context.Context, re RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListBasicAuthWithConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -378,13 +419,28 @@ func (s *BasicAuthCredentials) ListBasicAuthWithConsumer(ctx context.Context, re res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -539,17 +595,25 @@ func (s *BasicAuthCredentials) CreateBasicAuthWithConsumer(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.BasicAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -557,13 +621,28 @@ func (s *BasicAuthCredentials) CreateBasicAuthWithConsumer(ctx context.Context, res.BasicAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -712,17 +791,25 @@ func (s *BasicAuthCredentials) GetBasicAuthWithConsumer(ctx context.Context, req RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.BasicAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -730,6 +817,11 @@ func (s *BasicAuthCredentials) GetBasicAuthWithConsumer(ctx context.Context, req res.BasicAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -737,8 +829,18 @@ func (s *BasicAuthCredentials) GetBasicAuthWithConsumer(ctx context.Context, req case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -893,17 +995,25 @@ func (s *BasicAuthCredentials) UpsertBasicAuthWithConsumer(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.BasicAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -911,13 +1021,28 @@ func (s *BasicAuthCredentials) UpsertBasicAuthWithConsumer(ctx context.Context, res.BasicAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1066,20 +1191,33 @@ func (s *BasicAuthCredentials) DeleteBasicAuthWithConsumer(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/cacertificates.go b/cacertificates.go index b1c81d7..bf7e569 100644 --- a/cacertificates.go +++ b/cacertificates.go @@ -173,17 +173,25 @@ func (s *CACertificates) ListCaCertificate(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListCaCertificateResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *CACertificates) ListCaCertificate(ctx context.Context, request operatio res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,13 +221,28 @@ func (s *CACertificates) ListCaCertificate(ctx context.Context, request operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -369,17 +402,25 @@ func (s *CACertificates) CreateCaCertificate(ctx context.Context, controlPlaneID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.CACertificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -387,11 +428,21 @@ func (s *CACertificates) CreateCaCertificate(ctx context.Context, controlPlaneID res.CACertificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -399,13 +450,28 @@ func (s *CACertificates) CreateCaCertificate(ctx context.Context, controlPlaneID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -559,17 +625,25 @@ func (s *CACertificates) GetCaCertificate(ctx context.Context, controlPlaneID st RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.CACertificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -577,11 +651,21 @@ func (s *CACertificates) GetCaCertificate(ctx context.Context, controlPlaneID st res.CACertificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -589,6 +673,11 @@ func (s *CACertificates) GetCaCertificate(ctx context.Context, controlPlaneID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -596,8 +685,18 @@ func (s *CACertificates) GetCaCertificate(ctx context.Context, controlPlaneID st case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -752,17 +851,25 @@ func (s *CACertificates) UpsertCaCertificate(ctx context.Context, request operat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.CACertificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -770,11 +877,21 @@ func (s *CACertificates) UpsertCaCertificate(ctx context.Context, request operat res.CACertificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -782,13 +899,28 @@ func (s *CACertificates) UpsertCaCertificate(ctx context.Context, request operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -942,18 +1074,26 @@ func (s *CACertificates) DeleteCaCertificate(ctx context.Context, controlPlaneID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -961,13 +1101,28 @@ func (s *CACertificates) DeleteCaCertificate(ctx context.Context, controlPlaneID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/certificates.go b/certificates.go index 6f75b0d..54476db 100644 --- a/certificates.go +++ b/certificates.go @@ -176,17 +176,25 @@ func (s *Certificates) ListCertificate(ctx context.Context, request operations.L RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListCertificateResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -194,11 +202,21 @@ func (s *Certificates) ListCertificate(ctx context.Context, request operations.L res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -206,13 +224,28 @@ func (s *Certificates) ListCertificate(ctx context.Context, request operations.L return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -372,17 +405,25 @@ func (s *Certificates) CreateCertificate(ctx context.Context, controlPlaneID str RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Certificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -390,11 +431,21 @@ func (s *Certificates) CreateCertificate(ctx context.Context, controlPlaneID str res.Certificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -402,13 +453,28 @@ func (s *Certificates) CreateCertificate(ctx context.Context, controlPlaneID str return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -562,17 +628,25 @@ func (s *Certificates) GetCertificate(ctx context.Context, controlPlaneID string RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Certificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -580,11 +654,21 @@ func (s *Certificates) GetCertificate(ctx context.Context, controlPlaneID string res.Certificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -592,6 +676,11 @@ func (s *Certificates) GetCertificate(ctx context.Context, controlPlaneID string return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -599,8 +688,18 @@ func (s *Certificates) GetCertificate(ctx context.Context, controlPlaneID string case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -755,17 +854,25 @@ func (s *Certificates) UpsertCertificate(ctx context.Context, request operations RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Certificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -773,11 +880,21 @@ func (s *Certificates) UpsertCertificate(ctx context.Context, request operations res.Certificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -785,13 +902,28 @@ func (s *Certificates) UpsertCertificate(ctx context.Context, request operations return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -945,18 +1077,26 @@ func (s *Certificates) DeleteCertificate(ctx context.Context, controlPlaneID str RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -964,13 +1104,28 @@ func (s *Certificates) DeleteCertificate(ctx context.Context, controlPlaneID str return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/consumergroups.go b/consumergroups.go index 53d042b..223e4d3 100644 --- a/consumergroups.go +++ b/consumergroups.go @@ -173,17 +173,25 @@ func (s *ConsumerGroups) ListConsumerGroup(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListConsumerGroupResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *ConsumerGroups) ListConsumerGroup(ctx context.Context, request operatio res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,13 +221,28 @@ func (s *ConsumerGroups) ListConsumerGroup(ctx context.Context, request operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -369,17 +402,25 @@ func (s *ConsumerGroups) CreateConsumerGroup(ctx context.Context, controlPlaneID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ConsumerGroup if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -387,11 +428,21 @@ func (s *ConsumerGroups) CreateConsumerGroup(ctx context.Context, controlPlaneID res.ConsumerGroup = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -399,13 +450,28 @@ func (s *ConsumerGroups) CreateConsumerGroup(ctx context.Context, controlPlaneID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -559,17 +625,25 @@ func (s *ConsumerGroups) GetConsumerGroup(ctx context.Context, controlPlaneID st RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ConsumerGroup if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -577,11 +651,21 @@ func (s *ConsumerGroups) GetConsumerGroup(ctx context.Context, controlPlaneID st res.ConsumerGroup = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -589,6 +673,11 @@ func (s *ConsumerGroups) GetConsumerGroup(ctx context.Context, controlPlaneID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -596,8 +685,18 @@ func (s *ConsumerGroups) GetConsumerGroup(ctx context.Context, controlPlaneID st case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -752,17 +851,25 @@ func (s *ConsumerGroups) UpsertConsumerGroup(ctx context.Context, request operat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ConsumerGroup if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -770,11 +877,21 @@ func (s *ConsumerGroups) UpsertConsumerGroup(ctx context.Context, request operat res.ConsumerGroup = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -782,13 +899,28 @@ func (s *ConsumerGroups) UpsertConsumerGroup(ctx context.Context, request operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -942,18 +1074,26 @@ func (s *ConsumerGroups) DeleteConsumerGroup(ctx context.Context, controlPlaneID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -961,13 +1101,28 @@ func (s *ConsumerGroups) DeleteConsumerGroup(ctx context.Context, controlPlaneID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1122,17 +1277,25 @@ func (s *ConsumerGroups) AddConsumerToGroup(ctx context.Context, request operati RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.AddConsumerToGroupResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1140,13 +1303,28 @@ func (s *ConsumerGroups) AddConsumerToGroup(ctx context.Context, request operati res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/consumers.go b/consumers.go index 2947b37..32f47d1 100644 --- a/consumers.go +++ b/consumers.go @@ -173,17 +173,25 @@ func (s *Consumers) ListConsumer(ctx context.Context, request operations.ListCon RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *Consumers) ListConsumer(ctx context.Context, request operations.ListCon res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,13 +221,28 @@ func (s *Consumers) ListConsumer(ctx context.Context, request operations.ListCon return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -369,17 +402,25 @@ func (s *Consumers) CreateConsumer(ctx context.Context, controlPlaneID string, c RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Consumer if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -387,11 +428,21 @@ func (s *Consumers) CreateConsumer(ctx context.Context, controlPlaneID string, c res.Consumer = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -399,13 +450,28 @@ func (s *Consumers) CreateConsumer(ctx context.Context, controlPlaneID string, c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -559,17 +625,25 @@ func (s *Consumers) GetConsumer(ctx context.Context, controlPlaneID string, cons RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Consumer if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -577,11 +651,21 @@ func (s *Consumers) GetConsumer(ctx context.Context, controlPlaneID string, cons res.Consumer = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -589,6 +673,11 @@ func (s *Consumers) GetConsumer(ctx context.Context, controlPlaneID string, cons return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -596,8 +685,18 @@ func (s *Consumers) GetConsumer(ctx context.Context, controlPlaneID string, cons case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -752,17 +851,25 @@ func (s *Consumers) UpsertConsumer(ctx context.Context, request operations.Upser RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Consumer if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -770,11 +877,21 @@ func (s *Consumers) UpsertConsumer(ctx context.Context, request operations.Upser res.Consumer = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -782,13 +899,28 @@ func (s *Consumers) UpsertConsumer(ctx context.Context, request operations.Upser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -942,18 +1074,26 @@ func (s *Consumers) DeleteConsumer(ctx context.Context, controlPlaneID string, c RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -961,13 +1101,28 @@ func (s *Consumers) DeleteConsumer(ctx context.Context, controlPlaneID string, c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/controlplanegroups.go b/controlplanegroups.go index 5aa37a5..2ddb752 100644 --- a/controlplanegroups.go +++ b/controlplanegroups.go @@ -171,17 +171,25 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.GroupMemberStatus if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,11 +197,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con res.GroupMemberStatus = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -201,11 +219,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -213,11 +241,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -225,11 +263,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -237,11 +285,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -249,13 +307,28 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberStatus(ctx context.Con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -408,17 +481,25 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListGroupMemberships if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -426,11 +507,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont res.ListGroupMemberships = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -438,11 +529,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -450,11 +551,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -462,11 +573,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -474,11 +595,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -486,13 +617,28 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupMemberships(ctx context.Cont return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -652,18 +798,26 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -671,11 +825,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -683,11 +847,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -695,11 +869,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -707,11 +891,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -719,13 +913,28 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsAdd(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -885,18 +1094,26 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -904,11 +1121,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -916,11 +1143,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -928,11 +1165,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -940,11 +1187,21 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -952,13 +1209,28 @@ func (s *ControlPlaneGroups) PostControlPlanesIDGroupMembershipsRemove(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1111,17 +1383,25 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.GroupStatus if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1129,11 +1409,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, res.GroupStatus = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1141,11 +1431,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1153,11 +1453,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1165,11 +1475,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1177,11 +1497,21 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1189,13 +1519,28 @@ func (s *ControlPlaneGroups) GetControlPlanesIDGroupStatus(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/controlplanes.go b/controlplanes.go index 947dda7..ddf6b64 100644 --- a/controlplanes.go +++ b/controlplanes.go @@ -172,17 +172,25 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListControlPlanesResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,11 +198,21 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation res.ListControlPlanesResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -202,11 +220,21 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -214,11 +242,21 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -226,11 +264,21 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -238,13 +286,28 @@ func (s *ControlPlanes) ListControlPlanes(ctx context.Context, request operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -399,17 +462,25 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ControlPlane if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -417,11 +488,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen res.ControlPlane = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -429,11 +510,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -441,11 +532,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -453,11 +554,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -465,11 +576,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 500: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.InternalServerError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -477,11 +598,21 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -489,13 +620,28 @@ func (s *ControlPlanes) CreateControlPlane(ctx context.Context, request componen return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -648,17 +794,25 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ControlPlane if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -666,11 +820,21 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... res.ControlPlane = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -678,11 +842,21 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -690,11 +864,21 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -702,11 +886,21 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -714,11 +908,21 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -726,13 +930,28 @@ func (s *ControlPlanes) GetControlPlane(ctx context.Context, id string, opts ... return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -892,17 +1111,25 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ControlPlane if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -910,11 +1137,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat res.ControlPlane = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -922,11 +1159,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -934,11 +1181,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -946,11 +1203,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -958,11 +1225,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 500: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.InternalServerError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -970,11 +1247,21 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -982,13 +1269,28 @@ func (s *ControlPlanes) UpdateControlPlane(ctx context.Context, id string, updat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1141,18 +1443,26 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1160,11 +1470,21 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1172,11 +1492,21 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1184,11 +1514,21 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1196,11 +1536,21 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 500: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.InternalServerError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1208,11 +1558,21 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 503: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ServiceUnavailable if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1220,13 +1580,28 @@ func (s *ControlPlanes) DeleteControlPlane(ctx context.Context, id string, opts return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/custompluginschemas.go b/custompluginschemas.go index e7070ac..80a15f8 100644 --- a/custompluginschemas.go +++ b/custompluginschemas.go @@ -172,17 +172,25 @@ func (s *CustomPluginSchemas) ListPluginSchemas(ctx context.Context, request ope RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListPluginSchemas if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,11 +198,21 @@ func (s *CustomPluginSchemas) ListPluginSchemas(ctx context.Context, request ope res.ListPluginSchemas = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -202,11 +220,21 @@ func (s *CustomPluginSchemas) ListPluginSchemas(ctx context.Context, request ope return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -214,11 +242,21 @@ func (s *CustomPluginSchemas) ListPluginSchemas(ctx context.Context, request ope return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -226,13 +264,28 @@ func (s *CustomPluginSchemas) ListPluginSchemas(ctx context.Context, request ope return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -392,17 +445,25 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.PluginSchemas if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -410,11 +471,21 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl res.PluginSchemas = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -422,11 +493,21 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -434,11 +515,21 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -446,11 +537,21 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -458,13 +559,28 @@ func (s *CustomPluginSchemas) CreatePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -618,17 +734,25 @@ func (s *CustomPluginSchemas) GetPluginSchema(ctx context.Context, controlPlaneI RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.PluginSchemas if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -636,11 +760,21 @@ func (s *CustomPluginSchemas) GetPluginSchema(ctx context.Context, controlPlaneI res.PluginSchemas = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -648,11 +782,21 @@ func (s *CustomPluginSchemas) GetPluginSchema(ctx context.Context, controlPlaneI return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -660,11 +804,21 @@ func (s *CustomPluginSchemas) GetPluginSchema(ctx context.Context, controlPlaneI return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -672,13 +826,28 @@ func (s *CustomPluginSchemas) GetPluginSchema(ctx context.Context, controlPlaneI return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -833,17 +1002,25 @@ func (s *CustomPluginSchemas) UpdatePluginSchemas(ctx context.Context, request o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.PluginSchemas if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -851,11 +1028,21 @@ func (s *CustomPluginSchemas) UpdatePluginSchemas(ctx context.Context, request o res.PluginSchemas = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -863,11 +1050,21 @@ func (s *CustomPluginSchemas) UpdatePluginSchemas(ctx context.Context, request o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -875,11 +1072,21 @@ func (s *CustomPluginSchemas) UpdatePluginSchemas(ctx context.Context, request o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -887,13 +1094,28 @@ func (s *CustomPluginSchemas) UpdatePluginSchemas(ctx context.Context, request o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1047,18 +1269,26 @@ func (s *CustomPluginSchemas) DeletePluginSchemas(ctx context.Context, controlPl RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1066,11 +1296,21 @@ func (s *CustomPluginSchemas) DeletePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1078,11 +1318,21 @@ func (s *CustomPluginSchemas) DeletePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1090,13 +1340,28 @@ func (s *CustomPluginSchemas) DeletePluginSchemas(ctx context.Context, controlPl return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/dpcertificates.go b/dpcertificates.go index e17b419..ace1b73 100644 --- a/dpcertificates.go +++ b/dpcertificates.go @@ -172,17 +172,25 @@ func (s *DPCertificates) ListDpClientCertificates(ctx context.Context, request o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListDataPlaneCertificatesResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,13 +198,28 @@ func (s *DPCertificates) ListDpClientCertificates(ctx context.Context, request o res.ListDataPlaneCertificatesResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -356,17 +379,25 @@ func (s *DPCertificates) CreateDataplaneCertificate(ctx context.Context, control RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.DataPlaneClientCertificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -374,13 +405,28 @@ func (s *DPCertificates) CreateDataplaneCertificate(ctx context.Context, control res.DataPlaneClientCertificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -534,17 +580,25 @@ func (s *DPCertificates) GetDataplaneCertificate(ctx context.Context, controlPla RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.DataPlaneClientCertificate if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -552,13 +606,28 @@ func (s *DPCertificates) GetDataplaneCertificate(ctx context.Context, controlPla res.DataPlaneClientCertificate = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -712,20 +781,33 @@ func (s *DPCertificates) DeleteDataplaneCertificate(ctx context.Context, control RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/dpnodes.go b/dpnodes.go index 87d577b..455b121 100644 --- a/dpnodes.go +++ b/dpnodes.go @@ -172,17 +172,25 @@ func (s *DPNodes) GetExpectedConfigHash(ctx context.Context, controlPlaneID stri RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.GetExpectedConfigHash if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,13 +198,28 @@ func (s *DPNodes) GetExpectedConfigHash(ctx context.Context, controlPlaneID stri res.GetExpectedConfigHash = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -349,17 +372,25 @@ func (s *DPNodes) ListDataplaneNodes(ctx context.Context, request operations.Lis RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListNodes if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -367,13 +398,28 @@ func (s *DPNodes) ListDataplaneNodes(ctx context.Context, request operations.Lis res.ListNodes = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -526,17 +572,25 @@ func (s *DPNodes) GetNodesNodeID(ctx context.Context, request operations.GetNode RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.GetNode if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -544,13 +598,28 @@ func (s *DPNodes) GetNodesNodeID(ctx context.Context, request operations.GetNode res.GetNode = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -704,20 +773,33 @@ func (s *DPNodes) DeleteNodesNodeID(ctx context.Context, nodeID string, controlP RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -870,17 +952,25 @@ func (s *DPNodes) GetNodesEol(ctx context.Context, request operations.GetNodesEo RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListNodesEol if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -888,13 +978,28 @@ func (s *DPNodes) GetNodesEol(ctx context.Context, request operations.GetNodesEo res.ListNodesEol = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/hmacauthcredentials.go b/hmacauthcredentials.go index 450f342..67cb16a 100644 --- a/hmacauthcredentials.go +++ b/hmacauthcredentials.go @@ -171,17 +171,25 @@ func (s *HMACAuthCredentials) ListHmacAuthWithConsumer(ctx context.Context, requ RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListHmacAuthWithConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,13 +197,28 @@ func (s *HMACAuthCredentials) ListHmacAuthWithConsumer(ctx context.Context, requ res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -350,17 +373,25 @@ func (s *HMACAuthCredentials) CreateHmacAuthWithConsumer(ctx context.Context, re RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.HMACAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -368,13 +399,28 @@ func (s *HMACAuthCredentials) CreateHmacAuthWithConsumer(ctx context.Context, re res.HMACAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -523,17 +569,25 @@ func (s *HMACAuthCredentials) GetHmacAuthWithConsumer(ctx context.Context, reque RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.HMACAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -541,6 +595,11 @@ func (s *HMACAuthCredentials) GetHmacAuthWithConsumer(ctx context.Context, reque res.HMACAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -548,8 +607,18 @@ func (s *HMACAuthCredentials) GetHmacAuthWithConsumer(ctx context.Context, reque case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -704,17 +773,25 @@ func (s *HMACAuthCredentials) UpsertHmacAuthWithConsumer(ctx context.Context, re RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.HMACAuth if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -722,13 +799,28 @@ func (s *HMACAuthCredentials) UpsertHmacAuthWithConsumer(ctx context.Context, re res.HMACAuth = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -877,20 +969,33 @@ func (s *HMACAuthCredentials) DeleteHmacAuthWithConsumer(ctx context.Context, re RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1043,17 +1148,25 @@ func (s *HMACAuthCredentials) ListHmacAuth(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListHmacAuthResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1061,11 +1174,21 @@ func (s *HMACAuthCredentials) ListHmacAuth(ctx context.Context, request operatio res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1073,13 +1196,28 @@ func (s *HMACAuthCredentials) ListHmacAuth(ctx context.Context, request operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/impersonationsettings.go b/impersonationsettings.go index 77a5a7f..0fa4c2d 100644 --- a/impersonationsettings.go +++ b/impersonationsettings.go @@ -173,17 +173,25 @@ func (s *ImpersonationSettings) GetImpersonationSettings(ctx context.Context, op RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.GetImpersonationSettingsResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *ImpersonationSettings) GetImpersonationSettings(ctx context.Context, op res.GetImpersonationSettingsResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,11 +221,21 @@ func (s *ImpersonationSettings) GetImpersonationSettings(ctx context.Context, op return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -215,13 +243,28 @@ func (s *ImpersonationSettings) GetImpersonationSettings(ctx context.Context, op return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -381,17 +424,25 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.UpdateImpersonationSettingsResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -399,11 +450,21 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, res.UpdateImpersonationSettingsResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -411,6 +472,11 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -418,6 +484,11 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -425,11 +496,21 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -437,13 +518,28 @@ func (s *ImpersonationSettings) UpdateImpersonationSettings(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/internal/utils/json.go b/internal/utils/json.go index 4754b20..f35f208 100644 --- a/internal/utils/json.go +++ b/internal/utils/json.go @@ -487,30 +487,29 @@ func unmarshalValue(value json.RawMessage, v reflect.Value, tag reflect.StructTa v.Set(m) return nil case reflect.Slice, reflect.Array: - if bytes.Equal(value, []byte("null")) || !isComplexValueType(dereferenceTypePointer(typ.Elem())) { - if v.CanAddr() { - return json.Unmarshal(value, v.Addr().Interface()) - } else { - return json.Unmarshal(value, v.Interface()) - } - } - - var unmarhsaled []json.RawMessage + var unmarshaled []json.RawMessage - if err := json.Unmarshal(value, &unmarhsaled); err != nil { + if err := json.Unmarshal(value, &unmarshaled); err != nil { return err } - arrVal := v + arrVal := reflect.MakeSlice(typ, len(unmarshaled), len(unmarshaled)) - for _, value := range unmarhsaled { + for index, value := range unmarshaled { itemVal := reflect.New(typ.Elem()) if err := unmarshalValue(value, itemVal, tag, disallowUnknownFields); err != nil { return err } - arrVal = reflect.Append(arrVal, itemVal.Elem()) + arrVal.Index(index).Set(itemVal.Elem()) + } + + if v.Kind() == reflect.Pointer { + if v.IsNil() { + v.Set(reflect.New(typ)) + } + v = v.Elem() } v.Set(arrVal) diff --git a/internal/utils/requestbody.go b/internal/utils/requestbody.go index cee9da2..000226e 100644 --- a/internal/utils/requestbody.go +++ b/internal/utils/requestbody.go @@ -66,15 +66,16 @@ func serializeRequestBody(request interface{}, nullable, optional bool, requestF if tag != nil { // request object (non-flattened) requestVal := requestValType.FieldByName(requestFieldName) + val := reflect.ValueOf(requestVal.Interface()) if isNil(requestField.Type, requestVal) { if !nullable && optional { return nil, "", nil } - return serializeContentType(requestFieldName, tag.MediaType, requestVal, string(requestField.Tag)) + return serializeContentType(requestFieldName, tag.MediaType, val, string(requestField.Tag)) } - return serializeContentType(requestFieldName, tag.MediaType, requestVal, string(requestField.Tag)) + return serializeContentType(requestFieldName, tag.MediaType, val, string(requestField.Tag)) } } diff --git a/internal/utils/security.go b/internal/utils/security.go index c8503f9..19dfa6f 100644 --- a/internal/utils/security.go +++ b/internal/utils/security.go @@ -119,9 +119,14 @@ func parseSecurityScheme(headers, queryParams map[string]string, schemeTag *secu } if schemeType.Kind() == reflect.Struct { - if schemeTag.Type == "http" && schemeTag.SubType == "basic" { - handleBasicAuthScheme(headers, schemeVal.Interface()) - return + if schemeTag.Type == "http" { + switch schemeTag.SubType { + case "basic": + handleBasicAuthScheme(headers, schemeVal.Interface()) + return + case "custom": + return + } } for i := 0; i < schemeType.NumField(); i++ { @@ -171,6 +176,7 @@ func parseSecuritySchemeValue(headers, queryParams map[string]string, schemeTag switch schemeTag.SubType { case "bearer": headers[secTag.Name] = prefixBearer(valToString(val)) + case "custom": default: panic("not supported") } diff --git a/invites.go b/invites.go index dcde969..c401616 100644 --- a/invites.go +++ b/invites.go @@ -179,18 +179,26 @@ func (s *Invites) InviteUser(ctx context.Context, request *components.InviteUser RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -198,11 +206,21 @@ func (s *Invites) InviteUser(ctx context.Context, request *components.InviteUser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -210,11 +228,21 @@ func (s *Invites) InviteUser(ctx context.Context, request *components.InviteUser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 429: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.RateLimited if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -222,13 +250,28 @@ func (s *Invites) InviteUser(ctx context.Context, request *components.InviteUser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/jwts.go b/jwts.go index 4f244ad..15b7b52 100644 --- a/jwts.go +++ b/jwts.go @@ -171,17 +171,25 @@ func (s *JWTs) ListJwtWithConsumer(ctx context.Context, request operations.ListJ RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListJwtWithConsumerResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,13 +197,28 @@ func (s *JWTs) ListJwtWithConsumer(ctx context.Context, request operations.ListJ res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -350,17 +373,25 @@ func (s *JWTs) CreateJwtWithConsumer(ctx context.Context, request operations.Cre RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Jwt if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -368,13 +399,28 @@ func (s *JWTs) CreateJwtWithConsumer(ctx context.Context, request operations.Cre res.Jwt = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -523,17 +569,25 @@ func (s *JWTs) GetJwtWithConsumer(ctx context.Context, request operations.GetJwt RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Jwt if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -541,6 +595,11 @@ func (s *JWTs) GetJwtWithConsumer(ctx context.Context, request operations.GetJwt res.Jwt = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -548,8 +607,18 @@ func (s *JWTs) GetJwtWithConsumer(ctx context.Context, request operations.GetJwt case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -704,17 +773,25 @@ func (s *JWTs) UpsertJwtWithConsumer(ctx context.Context, request operations.Ups RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Jwt if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -722,13 +799,28 @@ func (s *JWTs) UpsertJwtWithConsumer(ctx context.Context, request operations.Ups res.Jwt = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -877,20 +969,33 @@ func (s *JWTs) DeleteJwtWithConsumer(ctx context.Context, request operations.Del RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1043,17 +1148,25 @@ func (s *JWTs) ListJwt(ctx context.Context, request operations.ListJwtRequest, o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListJwtResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1061,11 +1174,21 @@ func (s *JWTs) ListJwt(ctx context.Context, request operations.ListJwtRequest, o res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1073,13 +1196,28 @@ func (s *JWTs) ListJwt(ctx context.Context, request operations.ListJwtRequest, o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/keys.go b/keys.go index a6181f0..4181b99 100644 --- a/keys.go +++ b/keys.go @@ -172,17 +172,25 @@ func (s *Keys) ListKey(ctx context.Context, request operations.ListKeyRequest, o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListKeyResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,11 +198,21 @@ func (s *Keys) ListKey(ctx context.Context, request operations.ListKeyRequest, o res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -202,13 +220,28 @@ func (s *Keys) ListKey(ctx context.Context, request operations.ListKeyRequest, o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -368,17 +401,25 @@ func (s *Keys) CreateKey(ctx context.Context, controlPlaneID string, key compone RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Key if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -386,11 +427,21 @@ func (s *Keys) CreateKey(ctx context.Context, controlPlaneID string, key compone res.Key = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -398,13 +449,28 @@ func (s *Keys) CreateKey(ctx context.Context, controlPlaneID string, key compone return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -558,17 +624,25 @@ func (s *Keys) GetKey(ctx context.Context, controlPlaneID string, keyID string, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Key if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -576,11 +650,21 @@ func (s *Keys) GetKey(ctx context.Context, controlPlaneID string, keyID string, res.Key = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -588,6 +672,11 @@ func (s *Keys) GetKey(ctx context.Context, controlPlaneID string, keyID string, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -595,8 +684,18 @@ func (s *Keys) GetKey(ctx context.Context, controlPlaneID string, keyID string, case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -751,17 +850,25 @@ func (s *Keys) UpsertKey(ctx context.Context, request operations.UpsertKeyReques RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Key if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -769,11 +876,21 @@ func (s *Keys) UpsertKey(ctx context.Context, request operations.UpsertKeyReques res.Key = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -781,13 +898,28 @@ func (s *Keys) UpsertKey(ctx context.Context, request operations.UpsertKeyReques return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -941,18 +1073,26 @@ func (s *Keys) DeleteKey(ctx context.Context, controlPlaneID string, keyID strin RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -960,13 +1100,28 @@ func (s *Keys) DeleteKey(ctx context.Context, controlPlaneID string, keyID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/keysets.go b/keysets.go index d99ef00..29fb08f 100644 --- a/keysets.go +++ b/keysets.go @@ -172,17 +172,25 @@ func (s *KeySets) ListKeySet(ctx context.Context, request operations.ListKeySetR RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListKeySetResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -190,11 +198,21 @@ func (s *KeySets) ListKeySet(ctx context.Context, request operations.ListKeySetR res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -202,13 +220,28 @@ func (s *KeySets) ListKeySet(ctx context.Context, request operations.ListKeySetR return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -368,17 +401,25 @@ func (s *KeySets) CreateKeySet(ctx context.Context, controlPlaneID string, keySe RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeySet if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -386,11 +427,21 @@ func (s *KeySets) CreateKeySet(ctx context.Context, controlPlaneID string, keySe res.KeySet = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -398,13 +449,28 @@ func (s *KeySets) CreateKeySet(ctx context.Context, controlPlaneID string, keySe return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -558,17 +624,25 @@ func (s *KeySets) GetKeySet(ctx context.Context, controlPlaneID string, keySetID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeySet if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -576,11 +650,21 @@ func (s *KeySets) GetKeySet(ctx context.Context, controlPlaneID string, keySetID res.KeySet = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -588,6 +672,11 @@ func (s *KeySets) GetKeySet(ctx context.Context, controlPlaneID string, keySetID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -595,8 +684,18 @@ func (s *KeySets) GetKeySet(ctx context.Context, controlPlaneID string, keySetID case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -751,17 +850,25 @@ func (s *KeySets) UpsertKeySet(ctx context.Context, request operations.UpsertKey RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.KeySet if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -769,11 +876,21 @@ func (s *KeySets) UpsertKeySet(ctx context.Context, request operations.UpsertKey res.KeySet = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -781,13 +898,28 @@ func (s *KeySets) UpsertKeySet(ctx context.Context, request operations.UpsertKey return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -941,18 +1073,26 @@ func (s *KeySets) DeleteKeySet(ctx context.Context, controlPlaneID string, keySe RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -960,13 +1100,28 @@ func (s *KeySets) DeleteKeySet(ctx context.Context, controlPlaneID string, keySe return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/me.go b/me.go index ac2c061..83bcd7d 100644 --- a/me.go +++ b/me.go @@ -173,17 +173,25 @@ func (s *Me) GetOrganizationsMe(ctx context.Context, opts ...operations.Option) RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.MeOrganization if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *Me) GetOrganizationsMe(ctx context.Context, opts ...operations.Option) res.MeOrganization = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,13 +221,28 @@ func (s *Me) GetOrganizationsMe(ctx context.Context, opts ...operations.Option) return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/plugins.go b/plugins.go index b90a220..79593ba 100644 --- a/plugins.go +++ b/plugins.go @@ -177,17 +177,25 @@ func (s *Plugins) ListPlugin(ctx context.Context, request operations.ListPluginR RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListPluginResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -195,11 +203,21 @@ func (s *Plugins) ListPlugin(ctx context.Context, request operations.ListPluginR res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -207,13 +225,28 @@ func (s *Plugins) ListPlugin(ctx context.Context, request operations.ListPluginR return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -373,17 +406,25 @@ func (s *Plugins) CreatePlugin(ctx context.Context, controlPlaneID string, plugi RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -391,11 +432,21 @@ func (s *Plugins) CreatePlugin(ctx context.Context, controlPlaneID string, plugi res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -403,13 +454,28 @@ func (s *Plugins) CreatePlugin(ctx context.Context, controlPlaneID string, plugi return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -563,17 +629,25 @@ func (s *Plugins) GetPlugin(ctx context.Context, controlPlaneID string, pluginID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -581,11 +655,21 @@ func (s *Plugins) GetPlugin(ctx context.Context, controlPlaneID string, pluginID res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -593,6 +677,11 @@ func (s *Plugins) GetPlugin(ctx context.Context, controlPlaneID string, pluginID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -600,8 +689,18 @@ func (s *Plugins) GetPlugin(ctx context.Context, controlPlaneID string, pluginID case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -756,17 +855,25 @@ func (s *Plugins) UpsertPlugin(ctx context.Context, request operations.UpsertPlu RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -774,11 +881,21 @@ func (s *Plugins) UpsertPlugin(ctx context.Context, request operations.UpsertPlu res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -786,13 +903,28 @@ func (s *Plugins) UpsertPlugin(ctx context.Context, request operations.UpsertPlu return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -946,18 +1078,26 @@ func (s *Plugins) DeletePlugin(ctx context.Context, controlPlaneID string, plugi RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -965,13 +1105,28 @@ func (s *Plugins) DeletePlugin(ctx context.Context, controlPlaneID string, plugi return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1124,17 +1279,25 @@ func (s *Plugins) ListPluginWithRoute(ctx context.Context, request operations.Li RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListPluginWithRouteResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1142,13 +1305,28 @@ func (s *Plugins) ListPluginWithRoute(ctx context.Context, request operations.Li res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1303,17 +1481,25 @@ func (s *Plugins) CreatePluginWithRoute(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1321,13 +1507,28 @@ func (s *Plugins) CreatePluginWithRoute(ctx context.Context, request operations. res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1476,17 +1677,25 @@ func (s *Plugins) GetPluginWithRoute(ctx context.Context, request operations.Get RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1494,6 +1703,11 @@ func (s *Plugins) GetPluginWithRoute(ctx context.Context, request operations.Get res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -1501,8 +1715,18 @@ func (s *Plugins) GetPluginWithRoute(ctx context.Context, request operations.Get case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1657,17 +1881,25 @@ func (s *Plugins) UpsertPluginWithRoute(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1675,13 +1907,28 @@ func (s *Plugins) UpsertPluginWithRoute(ctx context.Context, request operations. res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1830,20 +2077,33 @@ func (s *Plugins) DeletePluginWithRoute(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1997,17 +2257,25 @@ func (s *Plugins) FetchPluginSchema(ctx context.Context, pluginName string, cont RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.FetchPluginSchemaResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -2015,13 +2283,28 @@ func (s *Plugins) FetchPluginSchema(ctx context.Context, pluginName string, cont res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -2174,17 +2457,25 @@ func (s *Plugins) ListPluginWithService(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListPluginWithServiceResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -2192,13 +2483,28 @@ func (s *Plugins) ListPluginWithService(ctx context.Context, request operations. res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -2353,17 +2659,25 @@ func (s *Plugins) CreatePluginWithService(ctx context.Context, request operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -2371,13 +2685,28 @@ func (s *Plugins) CreatePluginWithService(ctx context.Context, request operation res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -2526,17 +2855,25 @@ func (s *Plugins) GetPluginWithService(ctx context.Context, request operations.G RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -2544,6 +2881,11 @@ func (s *Plugins) GetPluginWithService(ctx context.Context, request operations.G res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -2551,8 +2893,18 @@ func (s *Plugins) GetPluginWithService(ctx context.Context, request operations.G case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -2707,17 +3059,25 @@ func (s *Plugins) UpsertPluginWithService(ctx context.Context, request operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Plugin if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -2725,13 +3085,28 @@ func (s *Plugins) UpsertPluginWithService(ctx context.Context, request operation res.Plugin = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -2880,20 +3255,33 @@ func (s *Plugins) DeletePluginWithService(ctx context.Context, request operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/roles.go b/roles.go index 2c544c5..ef04ccc 100644 --- a/roles.go +++ b/roles.go @@ -173,17 +173,25 @@ func (s *Roles) GetPredefinedRoles(ctx context.Context, opts ...operations.Optio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Roles if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -191,11 +199,21 @@ func (s *Roles) GetPredefinedRoles(ctx context.Context, opts ...operations.Optio res.Roles = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -203,11 +221,21 @@ func (s *Roles) GetPredefinedRoles(ctx context.Context, opts ...operations.Optio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -215,13 +243,28 @@ func (s *Roles) GetPredefinedRoles(ctx context.Context, opts ...operations.Optio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -384,17 +427,25 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRoleCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -402,11 +453,21 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat res.AssignedRoleCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -414,11 +475,21 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -426,11 +497,21 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -438,11 +519,21 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -450,13 +541,28 @@ func (s *Roles) ListTeamRoles(ctx context.Context, teamID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -621,17 +727,25 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRole if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -639,11 +753,21 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * res.AssignedRole = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -651,11 +775,21 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -663,11 +797,21 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -675,11 +819,21 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -687,11 +841,21 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -699,13 +863,28 @@ func (s *Roles) TeamsAssignRole(ctx context.Context, teamID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -864,18 +1043,26 @@ func (s *Roles) TeamsRemoveRole(ctx context.Context, teamID string, roleID strin RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -883,11 +1070,21 @@ func (s *Roles) TeamsRemoveRole(ctx context.Context, teamID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -895,11 +1092,21 @@ func (s *Roles) TeamsRemoveRole(ctx context.Context, teamID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -907,11 +1114,21 @@ func (s *Roles) TeamsRemoveRole(ctx context.Context, teamID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -919,13 +1136,28 @@ func (s *Roles) TeamsRemoveRole(ctx context.Context, teamID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1088,17 +1320,25 @@ func (s *Roles) ListUserRoles(ctx context.Context, userID string, filter *operat RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRoleCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1106,11 +1346,21 @@ func (s *Roles) ListUserRoles(ctx context.Context, userID string, filter *operat res.AssignedRoleCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1118,11 +1368,21 @@ func (s *Roles) ListUserRoles(ctx context.Context, userID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1130,13 +1390,28 @@ func (s *Roles) ListUserRoles(ctx context.Context, userID string, filter *operat return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1301,17 +1576,25 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRole if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1319,11 +1602,21 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * res.AssignedRole = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1331,11 +1624,21 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1343,11 +1646,21 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1355,11 +1668,21 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1367,11 +1690,21 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1379,13 +1712,28 @@ func (s *Roles) UsersAssignRole(ctx context.Context, userID string, assignRole * return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1544,18 +1892,26 @@ func (s *Roles) UsersRemoveRole(ctx context.Context, userID string, roleID strin RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1563,11 +1919,21 @@ func (s *Roles) UsersRemoveRole(ctx context.Context, userID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1575,11 +1941,21 @@ func (s *Roles) UsersRemoveRole(ctx context.Context, userID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1587,13 +1963,28 @@ func (s *Roles) UsersRemoveRole(ctx context.Context, userID string, roleID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/routes.go b/routes.go index 633185e..b77f1b2 100644 --- a/routes.go +++ b/routes.go @@ -195,17 +195,25 @@ func (s *Routes) ListRoute(ctx context.Context, request operations.ListRouteRequ RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListRouteResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -213,11 +221,21 @@ func (s *Routes) ListRoute(ctx context.Context, request operations.ListRouteRequ res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -225,13 +243,28 @@ func (s *Routes) ListRoute(ctx context.Context, request operations.ListRouteRequ return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -391,17 +424,25 @@ func (s *Routes) CreateRoute(ctx context.Context, controlPlaneID string, route c RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -409,11 +450,21 @@ func (s *Routes) CreateRoute(ctx context.Context, controlPlaneID string, route c res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -421,13 +472,28 @@ func (s *Routes) CreateRoute(ctx context.Context, controlPlaneID string, route c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -581,17 +647,25 @@ func (s *Routes) GetRoute(ctx context.Context, controlPlaneID string, routeID st RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -599,11 +673,21 @@ func (s *Routes) GetRoute(ctx context.Context, controlPlaneID string, routeID st res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -611,6 +695,11 @@ func (s *Routes) GetRoute(ctx context.Context, controlPlaneID string, routeID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -618,8 +707,18 @@ func (s *Routes) GetRoute(ctx context.Context, controlPlaneID string, routeID st case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -774,17 +873,25 @@ func (s *Routes) UpsertRoute(ctx context.Context, request operations.UpsertRoute RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -792,11 +899,21 @@ func (s *Routes) UpsertRoute(ctx context.Context, request operations.UpsertRoute res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -804,13 +921,28 @@ func (s *Routes) UpsertRoute(ctx context.Context, request operations.UpsertRoute return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -964,18 +1096,26 @@ func (s *Routes) DeleteRoute(ctx context.Context, controlPlaneID string, routeID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -983,13 +1123,28 @@ func (s *Routes) DeleteRoute(ctx context.Context, controlPlaneID string, routeID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1142,17 +1297,25 @@ func (s *Routes) ListRouteWithService(ctx context.Context, request operations.Li RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListRouteWithServiceResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1160,13 +1323,28 @@ func (s *Routes) ListRouteWithService(ctx context.Context, request operations.Li res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1321,17 +1499,25 @@ func (s *Routes) CreateRouteWithService(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1339,13 +1525,28 @@ func (s *Routes) CreateRouteWithService(ctx context.Context, request operations. res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1494,17 +1695,25 @@ func (s *Routes) GetRouteWithService(ctx context.Context, request operations.Get RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1512,6 +1721,11 @@ func (s *Routes) GetRouteWithService(ctx context.Context, request operations.Get res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -1519,8 +1733,18 @@ func (s *Routes) GetRouteWithService(ctx context.Context, request operations.Get case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1675,17 +1899,25 @@ func (s *Routes) UpsertRouteWithService(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Route if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1693,13 +1925,28 @@ func (s *Routes) UpsertRouteWithService(ctx context.Context, request operations. res.Route = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1848,20 +2095,33 @@ func (s *Routes) DeleteRouteWithService(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/sdk.go b/sdk.go index d69b77e..0af8f50 100644 --- a/sdk.go +++ b/sdk.go @@ -261,9 +261,9 @@ func New(opts ...SDKOption) *SDK { sdkConfiguration: sdkConfiguration{ Language: "go", OpenAPIDocVersion: "0.0.1", - SDKVersion: "0.0.6", - GenVersion: "2.404.2", - UserAgent: "speakeasy-sdk/go 0.0.6 2.404.2 0.0.1 github.com/Kong/sdk-konnect-go", + SDKVersion: "0.0.7", + GenVersion: "2.415.0", + UserAgent: "speakeasy-sdk/go 0.0.7 2.415.0 0.0.1 github.com/Kong/sdk-konnect-go", Hooks: hooks.New(), }, } diff --git a/serverlesscloudgateways.go b/serverlesscloudgateways.go index f7f5e04..612523b 100644 --- a/serverlesscloudgateways.go +++ b/serverlesscloudgateways.go @@ -177,17 +177,25 @@ func (s *ServerlessCloudGateways) ListServerlessCloudGateway(ctx context.Context RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ListServerlessCloudGatewaysResponse if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -195,11 +203,21 @@ func (s *ServerlessCloudGateways) ListServerlessCloudGateway(ctx context.Context res.ListServerlessCloudGatewaysResponse = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -207,11 +225,21 @@ func (s *ServerlessCloudGateways) ListServerlessCloudGateway(ctx context.Context return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -219,13 +247,28 @@ func (s *ServerlessCloudGateways) ListServerlessCloudGateway(ctx context.Context return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -385,17 +428,25 @@ func (s *ServerlessCloudGateways) CreateServerlessCloudGateway(ctx context.Conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ServerlessCloudGateway if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -403,11 +454,21 @@ func (s *ServerlessCloudGateways) CreateServerlessCloudGateway(ctx context.Conte res.ServerlessCloudGateway = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -415,11 +476,21 @@ func (s *ServerlessCloudGateways) CreateServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -427,11 +498,21 @@ func (s *ServerlessCloudGateways) CreateServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -439,13 +520,28 @@ func (s *ServerlessCloudGateways) CreateServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -603,17 +699,25 @@ func (s *ServerlessCloudGateways) GetServerlessCloudGateway(ctx context.Context, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.ServerlessCloudGateway if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -621,11 +725,21 @@ func (s *ServerlessCloudGateways) GetServerlessCloudGateway(ctx context.Context, res.ServerlessCloudGateway = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -633,11 +747,21 @@ func (s *ServerlessCloudGateways) GetServerlessCloudGateway(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -645,11 +769,21 @@ func (s *ServerlessCloudGateways) GetServerlessCloudGateway(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -657,13 +791,28 @@ func (s *ServerlessCloudGateways) GetServerlessCloudGateway(ctx context.Context, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -821,18 +970,26 @@ func (s *ServerlessCloudGateways) DeleteServerlessCloudGateway(ctx context.Conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -840,11 +997,21 @@ func (s *ServerlessCloudGateways) DeleteServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -852,11 +1019,21 @@ func (s *ServerlessCloudGateways) DeleteServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -864,13 +1041,28 @@ func (s *ServerlessCloudGateways) DeleteServerlessCloudGateway(ctx context.Conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/services.go b/services.go index e0632d4..323a390 100644 --- a/services.go +++ b/services.go @@ -178,17 +178,25 @@ func (s *Services) ListService(ctx context.Context, request operations.ListServi RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListServiceResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -196,11 +204,21 @@ func (s *Services) ListService(ctx context.Context, request operations.ListServi res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -208,13 +226,28 @@ func (s *Services) ListService(ctx context.Context, request operations.ListServi return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -374,17 +407,25 @@ func (s *Services) CreateService(ctx context.Context, controlPlaneID string, ser RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Service if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -392,11 +433,21 @@ func (s *Services) CreateService(ctx context.Context, controlPlaneID string, ser res.Service = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -404,13 +455,28 @@ func (s *Services) CreateService(ctx context.Context, controlPlaneID string, ser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -564,17 +630,25 @@ func (s *Services) GetService(ctx context.Context, controlPlaneID string, servic RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Service if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -582,11 +656,21 @@ func (s *Services) GetService(ctx context.Context, controlPlaneID string, servic res.Service = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -594,6 +678,11 @@ func (s *Services) GetService(ctx context.Context, controlPlaneID string, servic return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -601,8 +690,18 @@ func (s *Services) GetService(ctx context.Context, controlPlaneID string, servic case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -757,17 +856,25 @@ func (s *Services) UpsertService(ctx context.Context, request operations.UpsertS RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Service if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -775,11 +882,21 @@ func (s *Services) UpsertService(ctx context.Context, request operations.UpsertS res.Service = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -787,13 +904,28 @@ func (s *Services) UpsertService(ctx context.Context, request operations.UpsertS return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -947,18 +1079,26 @@ func (s *Services) DeleteService(ctx context.Context, controlPlaneID string, ser RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -966,13 +1106,28 @@ func (s *Services) DeleteService(ctx context.Context, controlPlaneID string, ser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/snis.go b/snis.go index 86764ba..cd3c416 100644 --- a/snis.go +++ b/snis.go @@ -174,17 +174,25 @@ func (s *SNIs) ListSniWithCertificate(ctx context.Context, request operations.Li RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListSniWithCertificateResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -192,13 +200,28 @@ func (s *SNIs) ListSniWithCertificate(ctx context.Context, request operations.Li res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -353,17 +376,25 @@ func (s *SNIs) CreateSniWithCertificate(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -371,13 +402,28 @@ func (s *SNIs) CreateSniWithCertificate(ctx context.Context, request operations. res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -526,17 +572,25 @@ func (s *SNIs) GetSniWithCertificate(ctx context.Context, request operations.Get RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -544,6 +598,11 @@ func (s *SNIs) GetSniWithCertificate(ctx context.Context, request operations.Get res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -551,8 +610,18 @@ func (s *SNIs) GetSniWithCertificate(ctx context.Context, request operations.Get case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -707,17 +776,25 @@ func (s *SNIs) UpsertSniWithCertificate(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -725,13 +802,28 @@ func (s *SNIs) UpsertSniWithCertificate(ctx context.Context, request operations. res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -880,20 +972,33 @@ func (s *SNIs) DeleteSniWithCertificate(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1046,17 +1151,25 @@ func (s *SNIs) ListSni(ctx context.Context, request operations.ListSniRequest, o RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListSniResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1064,11 +1177,21 @@ func (s *SNIs) ListSni(ctx context.Context, request operations.ListSniRequest, o res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1076,13 +1199,28 @@ func (s *SNIs) ListSni(ctx context.Context, request operations.ListSniRequest, o return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1242,17 +1380,25 @@ func (s *SNIs) CreateSni(ctx context.Context, controlPlaneID string, sni compone RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1260,11 +1406,21 @@ func (s *SNIs) CreateSni(ctx context.Context, controlPlaneID string, sni compone res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1272,13 +1428,28 @@ func (s *SNIs) CreateSni(ctx context.Context, controlPlaneID string, sni compone return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1432,17 +1603,25 @@ func (s *SNIs) GetSni(ctx context.Context, controlPlaneID string, sniID string, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1450,11 +1629,21 @@ func (s *SNIs) GetSni(ctx context.Context, controlPlaneID string, sniID string, res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1462,6 +1651,11 @@ func (s *SNIs) GetSni(ctx context.Context, controlPlaneID string, sniID string, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -1469,8 +1663,18 @@ func (s *SNIs) GetSni(ctx context.Context, controlPlaneID string, sniID string, case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1625,17 +1829,25 @@ func (s *SNIs) UpsertSni(ctx context.Context, request operations.UpsertSniReques RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Sni if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1643,11 +1855,21 @@ func (s *SNIs) UpsertSni(ctx context.Context, request operations.UpsertSniReques res.Sni = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1655,13 +1877,28 @@ func (s *SNIs) UpsertSni(ctx context.Context, request operations.UpsertSniReques return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1815,18 +2052,26 @@ func (s *SNIs) DeleteSni(ctx context.Context, controlPlaneID string, sniID strin RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1834,13 +2079,28 @@ func (s *SNIs) DeleteSni(ctx context.Context, controlPlaneID string, sniID strin return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/systemaccounts.go b/systemaccounts.go index c8b86e0..9e85d0b 100644 --- a/systemaccounts.go +++ b/systemaccounts.go @@ -177,17 +177,25 @@ func (s *SystemAccounts) GetSystemAccounts(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -195,11 +203,21 @@ func (s *SystemAccounts) GetSystemAccounts(ctx context.Context, request operatio res.SystemAccountCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -207,6 +225,11 @@ func (s *SystemAccounts) GetSystemAccounts(ctx context.Context, request operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -214,6 +237,11 @@ func (s *SystemAccounts) GetSystemAccounts(ctx context.Context, request operatio case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -221,13 +249,28 @@ func (s *SystemAccounts) GetSystemAccounts(ctx context.Context, request operatio return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -387,17 +430,25 @@ func (s *SystemAccounts) PostSystemAccounts(ctx context.Context, request *compon RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccount if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -405,6 +456,11 @@ func (s *SystemAccounts) PostSystemAccounts(ctx context.Context, request *compon res.SystemAccount = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -412,6 +468,11 @@ func (s *SystemAccounts) PostSystemAccounts(ctx context.Context, request *compon case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -419,11 +480,21 @@ func (s *SystemAccounts) PostSystemAccounts(ctx context.Context, request *compon return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -431,13 +502,28 @@ func (s *SystemAccounts) PostSystemAccounts(ctx context.Context, request *compon return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -595,17 +681,25 @@ func (s *SystemAccounts) GetSystemAccountsID(ctx context.Context, accountID stri RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccount if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -613,6 +707,11 @@ func (s *SystemAccounts) GetSystemAccountsID(ctx context.Context, accountID stri res.SystemAccount = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -620,6 +719,11 @@ func (s *SystemAccounts) GetSystemAccountsID(ctx context.Context, accountID stri case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -627,11 +731,21 @@ func (s *SystemAccounts) GetSystemAccountsID(ctx context.Context, accountID stri return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -639,13 +753,28 @@ func (s *SystemAccounts) GetSystemAccountsID(ctx context.Context, accountID stri return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -810,17 +939,25 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccount if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -828,6 +965,11 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st res.SystemAccount = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -835,6 +977,11 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -842,11 +989,21 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -854,11 +1011,21 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -866,13 +1033,28 @@ func (s *SystemAccounts) PatchSystemAccountsID(ctx context.Context, accountID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1030,12 +1212,15 @@ func (s *SystemAccounts) DeleteSystemAccountsID(ctx context.Context, accountID s RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: @@ -1044,6 +1229,11 @@ func (s *SystemAccounts) DeleteSystemAccountsID(ctx context.Context, accountID s case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1051,11 +1241,21 @@ func (s *SystemAccounts) DeleteSystemAccountsID(ctx context.Context, accountID s return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1063,13 +1263,28 @@ func (s *SystemAccounts) DeleteSystemAccountsID(ctx context.Context, accountID s return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/systemaccountsaccesstokens.go b/systemaccountsaccesstokens.go index 7470705..e4be868 100644 --- a/systemaccountsaccesstokens.go +++ b/systemaccountsaccesstokens.go @@ -176,17 +176,25 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountAccessTokenCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -194,11 +202,21 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. res.SystemAccountAccessTokenCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -206,6 +224,11 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -213,6 +236,11 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -220,11 +248,21 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -232,13 +270,28 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountIDAccessTokens(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -403,17 +456,25 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountAccessTokenCreated if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -421,6 +482,11 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex res.SystemAccountAccessTokenCreated = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -428,6 +494,11 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -435,11 +506,21 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -447,11 +528,21 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -459,13 +550,28 @@ func (s *SystemAccountsAccessTokens) PostSystemAccountsIDAccessTokens(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -624,17 +730,25 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountsIDAccessTokensID(ctx conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountAccessToken if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -642,6 +756,11 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountsIDAccessTokensID(ctx conte res.SystemAccountAccessToken = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -649,6 +768,11 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountsIDAccessTokensID(ctx conte case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -656,11 +780,21 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountsIDAccessTokensID(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -668,13 +802,28 @@ func (s *SystemAccountsAccessTokens) GetSystemAccountsIDAccessTokensID(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -834,17 +983,25 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountAccessToken if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -852,6 +1009,11 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con res.SystemAccountAccessToken = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -859,6 +1021,11 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -866,11 +1033,21 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -878,11 +1055,21 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -890,13 +1077,28 @@ func (s *SystemAccountsAccessTokens) PatchSystemAccountsIDAccessTokensID(ctx con return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1055,12 +1257,15 @@ func (s *SystemAccountsAccessTokens) DeleteSystemAccountsIDAccessTokensID(ctx co RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: @@ -1069,6 +1274,11 @@ func (s *SystemAccountsAccessTokens) DeleteSystemAccountsIDAccessTokensID(ctx co case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1076,11 +1286,21 @@ func (s *SystemAccountsAccessTokens) DeleteSystemAccountsIDAccessTokensID(ctx co return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1088,13 +1308,28 @@ func (s *SystemAccountsAccessTokens) DeleteSystemAccountsIDAccessTokensID(ctx co return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/systemaccountsroles.go b/systemaccountsroles.go index 552c917..2a481dc 100644 --- a/systemaccountsroles.go +++ b/systemaccountsroles.go @@ -181,17 +181,25 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRoleCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -199,11 +207,21 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex res.AssignedRoleCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -211,6 +229,11 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -218,6 +241,11 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -225,11 +253,21 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -237,13 +275,28 @@ func (s *SystemAccountsRoles) GetSystemAccountsAccountIDAssignedRoles(ctx contex return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -408,17 +461,25 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.AssignedRole if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -426,6 +487,11 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte res.AssignedRole = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -433,6 +499,11 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -440,11 +511,21 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -452,11 +533,21 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -464,13 +555,28 @@ func (s *SystemAccountsRoles) PostSystemAccountsAccountIDAssignedRoles(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -629,12 +735,15 @@ func (s *SystemAccountsRoles) DeleteSystemAccountsAccountIDAssignedRolesRoleID(c RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: @@ -643,6 +752,11 @@ func (s *SystemAccountsRoles) DeleteSystemAccountsAccountIDAssignedRolesRoleID(c case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -650,11 +764,21 @@ func (s *SystemAccountsRoles) DeleteSystemAccountsAccountIDAssignedRolesRoleID(c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -662,13 +786,28 @@ func (s *SystemAccountsRoles) DeleteSystemAccountsAccountIDAssignedRolesRoleID(c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/systemaccountsteammembership.go b/systemaccountsteammembership.go index bb45ece..b5bbd1e 100644 --- a/systemaccountsteammembership.go +++ b/systemaccountsteammembership.go @@ -176,17 +176,25 @@ func (s *SystemAccountsTeamMembership) GetSystemAccountsAccountIDTeams(ctx conte RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -194,6 +202,11 @@ func (s *SystemAccountsTeamMembership) GetSystemAccountsAccountIDTeams(ctx conte res.TeamCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -201,6 +214,11 @@ func (s *SystemAccountsTeamMembership) GetSystemAccountsAccountIDTeams(ctx conte case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -208,11 +226,21 @@ func (s *SystemAccountsTeamMembership) GetSystemAccountsAccountIDTeams(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -220,13 +248,28 @@ func (s *SystemAccountsTeamMembership) GetSystemAccountsAccountIDTeams(ctx conte return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -384,17 +427,25 @@ func (s *SystemAccountsTeamMembership) GetTeamsTeamIDSystemAccounts(ctx context. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.SystemAccountCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -402,6 +453,11 @@ func (s *SystemAccountsTeamMembership) GetTeamsTeamIDSystemAccounts(ctx context. res.SystemAccountCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: @@ -409,6 +465,11 @@ func (s *SystemAccountsTeamMembership) GetTeamsTeamIDSystemAccounts(ctx context. case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -416,11 +477,21 @@ func (s *SystemAccountsTeamMembership) GetTeamsTeamIDSystemAccounts(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -428,13 +499,28 @@ func (s *SystemAccountsTeamMembership) GetTeamsTeamIDSystemAccounts(ctx context. return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -599,12 +685,15 @@ func (s *SystemAccountsTeamMembership) PostTeamsTeamIDSystemAccounts(ctx context RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: @@ -613,6 +702,11 @@ func (s *SystemAccountsTeamMembership) PostTeamsTeamIDSystemAccounts(ctx context case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -620,11 +714,21 @@ func (s *SystemAccountsTeamMembership) PostTeamsTeamIDSystemAccounts(ctx context return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -632,11 +736,21 @@ func (s *SystemAccountsTeamMembership) PostTeamsTeamIDSystemAccounts(ctx context return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 409: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ConflictError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -644,13 +758,28 @@ func (s *SystemAccountsTeamMembership) PostTeamsTeamIDSystemAccounts(ctx context return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -809,12 +938,15 @@ func (s *SystemAccountsTeamMembership) DeleteTeamsTeamIDSystemAccountsAccountID( RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: @@ -823,6 +955,11 @@ func (s *SystemAccountsTeamMembership) DeleteTeamsTeamIDSystemAccountsAccountID( case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -830,11 +967,21 @@ func (s *SystemAccountsTeamMembership) DeleteTeamsTeamIDSystemAccountsAccountID( return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -842,13 +989,28 @@ func (s *SystemAccountsTeamMembership) DeleteTeamsTeamIDSystemAccountsAccountID( return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/targets.go b/targets.go index 8e3a349..c2ffdef 100644 --- a/targets.go +++ b/targets.go @@ -171,17 +171,25 @@ func (s *Targets) ListTargetWithUpstream(ctx context.Context, request operations RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListTargetWithUpstreamResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -189,13 +197,28 @@ func (s *Targets) ListTargetWithUpstream(ctx context.Context, request operations res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -350,17 +373,25 @@ func (s *Targets) CreateTargetWithUpstream(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Target if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -368,13 +399,28 @@ func (s *Targets) CreateTargetWithUpstream(ctx context.Context, request operatio res.Target = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -523,17 +569,25 @@ func (s *Targets) GetTargetWithUpstream(ctx context.Context, request operations. RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Target if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -541,6 +595,11 @@ func (s *Targets) GetTargetWithUpstream(ctx context.Context, request operations. res.Target = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -548,8 +607,18 @@ func (s *Targets) GetTargetWithUpstream(ctx context.Context, request operations. case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -704,17 +773,25 @@ func (s *Targets) UpsertTargetWithUpstream(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Target if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -722,13 +799,28 @@ func (s *Targets) UpsertTargetWithUpstream(ctx context.Context, request operatio res.Target = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -877,20 +969,33 @@ func (s *Targets) DeleteTargetWithUpstream(ctx context.Context, request operatio RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/teammembership.go b/teammembership.go index 3163578..631b1f7 100644 --- a/teammembership.go +++ b/teammembership.go @@ -176,17 +176,25 @@ func (s *TeamMembership) ListTeamUsers(ctx context.Context, request operations.L RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.UserCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -194,11 +202,21 @@ func (s *TeamMembership) ListTeamUsers(ctx context.Context, request operations.L res.UserCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -206,11 +224,21 @@ func (s *TeamMembership) ListTeamUsers(ctx context.Context, request operations.L return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -218,13 +246,28 @@ func (s *TeamMembership) ListTeamUsers(ctx context.Context, request operations.L return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -389,18 +432,26 @@ func (s *TeamMembership) AddUserToTeam(ctx context.Context, teamID string, addUs RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -408,11 +459,21 @@ func (s *TeamMembership) AddUserToTeam(ctx context.Context, teamID string, addUs return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -420,13 +481,28 @@ func (s *TeamMembership) AddUserToTeam(ctx context.Context, teamID string, addUs return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -586,18 +662,26 @@ func (s *TeamMembership) RemoveUserFromTeam(ctx context.Context, userID string, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -605,11 +689,21 @@ func (s *TeamMembership) RemoveUserFromTeam(ctx context.Context, userID string, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -617,13 +711,28 @@ func (s *TeamMembership) RemoveUserFromTeam(ctx context.Context, userID string, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -781,17 +890,25 @@ func (s *TeamMembership) ListUserTeams(ctx context.Context, request operations.L RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -799,11 +916,21 @@ func (s *TeamMembership) ListUserTeams(ctx context.Context, request operations.L res.TeamCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -811,13 +938,28 @@ func (s *TeamMembership) ListUserTeams(ctx context.Context, request operations.L return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/teams.go b/teams.go index 992c7ad..d0235f9 100644 --- a/teams.go +++ b/teams.go @@ -177,17 +177,25 @@ func (s *Teams) ListTeams(ctx context.Context, request operations.ListTeamsReque RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.TeamCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -195,11 +203,21 @@ func (s *Teams) ListTeams(ctx context.Context, request operations.ListTeamsReque res.TeamCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -207,11 +225,21 @@ func (s *Teams) ListTeams(ctx context.Context, request operations.ListTeamsReque return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -219,13 +247,28 @@ func (s *Teams) ListTeams(ctx context.Context, request operations.ListTeamsReque return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -385,17 +428,25 @@ func (s *Teams) CreateTeam(ctx context.Context, request *components.CreateTeam, RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Team if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -403,11 +454,21 @@ func (s *Teams) CreateTeam(ctx context.Context, request *components.CreateTeam, res.Team = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -415,11 +476,21 @@ func (s *Teams) CreateTeam(ctx context.Context, request *components.CreateTeam, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -427,13 +498,28 @@ func (s *Teams) CreateTeam(ctx context.Context, request *components.CreateTeam, return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -591,17 +677,25 @@ func (s *Teams) GetTeam(ctx context.Context, teamID string, opts ...operations.O RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Team if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -609,11 +703,21 @@ func (s *Teams) GetTeam(ctx context.Context, teamID string, opts ...operations.O res.Team = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -621,11 +725,21 @@ func (s *Teams) GetTeam(ctx context.Context, teamID string, opts ...operations.O return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -633,13 +747,28 @@ func (s *Teams) GetTeam(ctx context.Context, teamID string, opts ...operations.O return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -804,17 +933,25 @@ func (s *Teams) UpdateTeam(ctx context.Context, teamID string, updateTeam *compo RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Team if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -822,11 +959,21 @@ func (s *Teams) UpdateTeam(ctx context.Context, teamID string, updateTeam *compo res.Team = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -834,11 +981,21 @@ func (s *Teams) UpdateTeam(ctx context.Context, teamID string, updateTeam *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -846,13 +1003,28 @@ func (s *Teams) UpdateTeam(ctx context.Context, teamID string, updateTeam *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -1010,18 +1182,26 @@ func (s *Teams) DeleteTeam(ctx context.Context, teamID string, opts ...operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1029,11 +1209,21 @@ func (s *Teams) DeleteTeam(ctx context.Context, teamID string, opts ...operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -1041,13 +1231,28 @@ func (s *Teams) DeleteTeam(ctx context.Context, teamID string, opts ...operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/upstreams.go b/upstreams.go index 48e11fa..78bae7b 100644 --- a/upstreams.go +++ b/upstreams.go @@ -175,17 +175,25 @@ func (s *Upstreams) ListUpstream(ctx context.Context, request operations.ListUps RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListUpstreamResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -193,11 +201,21 @@ func (s *Upstreams) ListUpstream(ctx context.Context, request operations.ListUps res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -205,13 +223,28 @@ func (s *Upstreams) ListUpstream(ctx context.Context, request operations.ListUps return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -371,17 +404,25 @@ func (s *Upstreams) CreateUpstream(ctx context.Context, controlPlaneID string, u RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Upstream if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -389,11 +430,21 @@ func (s *Upstreams) CreateUpstream(ctx context.Context, controlPlaneID string, u res.Upstream = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -401,13 +452,28 @@ func (s *Upstreams) CreateUpstream(ctx context.Context, controlPlaneID string, u return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -561,17 +627,25 @@ func (s *Upstreams) GetUpstream(ctx context.Context, controlPlaneID string, upst RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Upstream if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -579,11 +653,21 @@ func (s *Upstreams) GetUpstream(ctx context.Context, controlPlaneID string, upst res.Upstream = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -591,6 +675,11 @@ func (s *Upstreams) GetUpstream(ctx context.Context, controlPlaneID string, upst return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -598,8 +687,18 @@ func (s *Upstreams) GetUpstream(ctx context.Context, controlPlaneID string, upst case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -754,17 +853,25 @@ func (s *Upstreams) UpsertUpstream(ctx context.Context, request operations.Upser RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Upstream if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -772,11 +879,21 @@ func (s *Upstreams) UpsertUpstream(ctx context.Context, request operations.Upser res.Upstream = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -784,13 +901,28 @@ func (s *Upstreams) UpsertUpstream(ctx context.Context, request operations.Upser return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -944,18 +1076,26 @@ func (s *Upstreams) DeleteUpstream(ctx context.Context, controlPlaneID string, u RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -963,13 +1103,28 @@ func (s *Upstreams) DeleteUpstream(ctx context.Context, controlPlaneID string, u return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/users.go b/users.go index fb41dd9..47dd120 100644 --- a/users.go +++ b/users.go @@ -177,17 +177,25 @@ func (s *Users) ListUsers(ctx context.Context, request operations.ListUsersReque RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.UserCollection if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -195,11 +203,21 @@ func (s *Users) ListUsers(ctx context.Context, request operations.ListUsersReque res.UserCollection = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -207,13 +225,28 @@ func (s *Users) ListUsers(ctx context.Context, request operations.ListUsersReque return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -371,17 +404,25 @@ func (s *Users) GetUser(ctx context.Context, userID string, opts ...operations.O RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.User if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -389,11 +430,21 @@ func (s *Users) GetUser(ctx context.Context, userID string, opts ...operations.O res.User = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 400: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.BadRequestError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -401,11 +452,21 @@ func (s *Users) GetUser(ctx context.Context, userID string, opts ...operations.O return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -413,13 +474,28 @@ func (s *Users) GetUser(ctx context.Context, userID string, opts ...operations.O return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -584,17 +660,25 @@ func (s *Users) UpdateUser(ctx context.Context, userID string, updateUser *compo RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.User if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -602,11 +686,21 @@ func (s *Users) UpdateUser(ctx context.Context, userID string, updateUser *compo res.User = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.UnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -614,11 +708,21 @@ func (s *Users) UpdateUser(ctx context.Context, userID string, updateUser *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 403: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.ForbiddenError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -626,11 +730,21 @@ func (s *Users) UpdateUser(ctx context.Context, userID string, updateUser *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -638,13 +752,28 @@ func (s *Users) UpdateUser(ctx context.Context, userID string, updateUser *compo return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -802,18 +931,26 @@ func (s *Users) DeleteUser(ctx context.Context, userID string, opts ...operation RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 404: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/problem+json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.NotFoundError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -821,13 +958,28 @@ func (s *Users) DeleteUser(ctx context.Context, userID string, opts ...operation return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/vaults.go b/vaults.go index 8191e9f..539a664 100644 --- a/vaults.go +++ b/vaults.go @@ -178,17 +178,25 @@ func (s *Vaults) ListVault(ctx context.Context, request operations.ListVaultRequ RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out operations.ListVaultResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -196,11 +204,21 @@ func (s *Vaults) ListVault(ctx context.Context, request operations.ListVaultRequ res.Object = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -208,13 +226,28 @@ func (s *Vaults) ListVault(ctx context.Context, request operations.ListVaultRequ return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -374,17 +407,25 @@ func (s *Vaults) CreateVault(ctx context.Context, controlPlaneID string, vault c RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 201: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Vault if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -392,11 +433,21 @@ func (s *Vaults) CreateVault(ctx context.Context, controlPlaneID string, vault c res.Vault = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -404,13 +455,28 @@ func (s *Vaults) CreateVault(ctx context.Context, controlPlaneID string, vault c return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -564,17 +630,25 @@ func (s *Vaults) GetVault(ctx context.Context, controlPlaneID string, vaultID st RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Vault if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -582,11 +656,21 @@ func (s *Vaults) GetVault(ctx context.Context, controlPlaneID string, vaultID st res.Vault = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -594,6 +678,11 @@ func (s *Vaults) GetVault(ctx context.Context, controlPlaneID string, vaultID st return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 404: @@ -601,8 +690,18 @@ func (s *Vaults) GetVault(ctx context.Context, controlPlaneID string, vaultID st case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -757,17 +856,25 @@ func (s *Vaults) UpsertVault(ctx context.Context, request operations.UpsertVault RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out components.Vault if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -775,11 +882,21 @@ func (s *Vaults) UpsertVault(ctx context.Context, request operations.UpsertVault res.Vault = &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -787,13 +904,28 @@ func (s *Vaults) UpsertVault(ctx context.Context, request operations.UpsertVault return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) } @@ -947,18 +1079,26 @@ func (s *Vaults) DeleteVault(ctx context.Context, controlPlaneID string, vaultID RawResponse: httpRes, } - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) + getRawBody := func() ([]byte, error) { + rawBody, err := io.ReadAll(httpRes.Body) + if err != nil { + return nil, fmt.Errorf("error reading response body: %w", err) + } + httpRes.Body.Close() + httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) + return rawBody, nil } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 204: case httpRes.StatusCode == 401: switch { case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`): + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + var out sdkerrors.GatewayUnauthorizedError if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err @@ -966,13 +1106,28 @@ func (s *Vaults) DeleteVault(ctx context.Context, controlPlaneID string, vaultID return nil, &out default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes) } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) default: + rawBody, err := getRawBody() + if err != nil { + return nil, err + } + return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes) }