From c059db4c9c8f8fb3d769c5fcb10efcfc858eccde Mon Sep 17 00:00:00 2001 From: Deluan Date: Tue, 23 Dec 2025 21:11:52 -0500 Subject: [PATCH] refactor(generator): remove error handling for response.Error in client templates Signed-off-by: Deluan --- plugins/cmd/hostgen/internal/generator.go | 4 ++-- plugins/cmd/hostgen/internal/templates/client_go.go.tmpl | 4 ---- plugins/cmd/hostgen/testdata/codec_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/echo_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/list_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/math_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/meta_client_expected.go | 4 ---- plugins/cmd/hostgen/testdata/search_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/store_client_expected.go | 5 ----- plugins/cmd/hostgen/testdata/users_client_expected.go | 5 ----- plugins/host/go/nd_host_subsonicapi.go | 5 ----- plugins/testdata/fake-subsonicapi-plugin/main.go | 6 ++++++ .../testdata/fake-subsonicapi-plugin/nd_host_subsonicapi.go | 5 ----- 13 files changed, 8 insertions(+), 55 deletions(-) diff --git a/plugins/cmd/hostgen/internal/generator.go b/plugins/cmd/hostgen/internal/generator.go index ee9533cda..5810f6349 100644 --- a/plugins/cmd/hostgen/internal/generator.go +++ b/plugins/cmd/hostgen/internal/generator.go @@ -175,10 +175,10 @@ func serviceClientNeedsJSON(svc Service) bool { } // serviceClientNeedsErrors returns true if any method needs the errors package in client code. -// This is true if any method returns an error. +// This is only true for error-only methods (methods that return just error). func serviceClientNeedsErrors(svc Service) bool { for _, m := range svc.Methods { - if m.HasError { + if m.IsErrorOnly() { return true } } diff --git a/plugins/cmd/hostgen/internal/templates/client_go.go.tmpl b/plugins/cmd/hostgen/internal/templates/client_go.go.tmpl index 8a6d3f7db..520113fd5 100644 --- a/plugins/cmd/hostgen/internal/templates/client_go.go.tmpl +++ b/plugins/cmd/hostgen/internal/templates/client_go.go.tmpl @@ -79,10 +79,6 @@ func {{$.Service.Name}}{{.Name}}({{range $i, $p := .Params}}{{if $i}}, {{end}}{{ return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil {{- else if isErrorOnly .}} {{- /* Error-only response - string result */}} diff --git a/plugins/cmd/hostgen/testdata/codec_client_expected.go b/plugins/cmd/hostgen/testdata/codec_client_expected.go index 796a1acdd..b050070df 100644 --- a/plugins/cmd/hostgen/testdata/codec_client_expected.go +++ b/plugins/cmd/hostgen/testdata/codec_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -41,9 +40,5 @@ func CodecEncode(data []byte) (*CodecEncodeResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/echo_client_expected.go b/plugins/cmd/hostgen/testdata/echo_client_expected.go index 1ba45b4b4..876d00ac7 100644 --- a/plugins/cmd/hostgen/testdata/echo_client_expected.go +++ b/plugins/cmd/hostgen/testdata/echo_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -41,9 +40,5 @@ func EchoEcho(message string) (*EchoEchoResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/list_client_expected.go b/plugins/cmd/hostgen/testdata/list_client_expected.go index 9dd7d4ad0..7f22abf59 100644 --- a/plugins/cmd/hostgen/testdata/list_client_expected.go +++ b/plugins/cmd/hostgen/testdata/list_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -47,9 +46,5 @@ func ListItems(name string, filter Filter) (*ListItemsResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/math_client_expected.go b/plugins/cmd/hostgen/testdata/math_client_expected.go index 68ae5a560..f26e6f567 100644 --- a/plugins/cmd/hostgen/testdata/math_client_expected.go +++ b/plugins/cmd/hostgen/testdata/math_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -39,9 +38,5 @@ func MathAdd(a int32, b int32) (*MathAddResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/meta_client_expected.go b/plugins/cmd/hostgen/testdata/meta_client_expected.go index 077ce80d9..9d97fa92e 100644 --- a/plugins/cmd/hostgen/testdata/meta_client_expected.go +++ b/plugins/cmd/hostgen/testdata/meta_client_expected.go @@ -46,10 +46,6 @@ func MetaGet(key string) (*MetaGetResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/search_client_expected.go b/plugins/cmd/hostgen/testdata/search_client_expected.go index 7f2db4130..20a00b941 100644 --- a/plugins/cmd/hostgen/testdata/search_client_expected.go +++ b/plugins/cmd/hostgen/testdata/search_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -42,9 +41,5 @@ func SearchFind(query string) (*SearchFindResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/store_client_expected.go b/plugins/cmd/hostgen/testdata/store_client_expected.go index 31e392585..773de3f77 100644 --- a/plugins/cmd/hostgen/testdata/store_client_expected.go +++ b/plugins/cmd/hostgen/testdata/store_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -45,9 +44,5 @@ func StoreSave(item Item) (*StoreSaveResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/cmd/hostgen/testdata/users_client_expected.go b/plugins/cmd/hostgen/testdata/users_client_expected.go index 768cee508..cfa688ff0 100644 --- a/plugins/cmd/hostgen/testdata/users_client_expected.go +++ b/plugins/cmd/hostgen/testdata/users_client_expected.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -51,9 +50,5 @@ func UsersGet(id *string, filter *User) (*UsersGetResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/host/go/nd_host_subsonicapi.go b/plugins/host/go/nd_host_subsonicapi.go index 092b4d4cd..30846a496 100644 --- a/plugins/host/go/nd_host_subsonicapi.go +++ b/plugins/host/go/nd_host_subsonicapi.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -45,9 +44,5 @@ func SubsonicAPICall(uri string) (*SubsonicAPICallResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil } diff --git a/plugins/testdata/fake-subsonicapi-plugin/main.go b/plugins/testdata/fake-subsonicapi-plugin/main.go index 9fbc5f5fe..2adad2fed 100644 --- a/plugins/testdata/fake-subsonicapi-plugin/main.go +++ b/plugins/testdata/fake-subsonicapi-plugin/main.go @@ -66,6 +66,12 @@ func callSubsonicAPIExport() int32 { return 1 } + // Check for error in response + if response.Error != "" { + pdk.SetErrorString("SubsonicAPI error: " + response.Error) + return 1 + } + // Return the response pdk.OutputString(response.ResponseJSON) return 0 diff --git a/plugins/testdata/fake-subsonicapi-plugin/nd_host_subsonicapi.go b/plugins/testdata/fake-subsonicapi-plugin/nd_host_subsonicapi.go index 092b4d4cd..30846a496 100644 --- a/plugins/testdata/fake-subsonicapi-plugin/nd_host_subsonicapi.go +++ b/plugins/testdata/fake-subsonicapi-plugin/nd_host_subsonicapi.go @@ -7,7 +7,6 @@ package main import ( "encoding/json" - "errors" "github.com/extism/go-pdk" ) @@ -45,9 +44,5 @@ func SubsonicAPICall(uri string) (*SubsonicAPICallResponse, error) { return nil, err } - if response.Error != "" { - return nil, errors.New(response.Error) - } - return &response, nil }