@@ -231,15 +231,8 @@ func (g *generator) genAndCommitHelpers(scopes []string) error {
231231 p := g .printf
232232 g .reset ()
233233 g .imports [pbinfo.ImportSpec {Path : "context" }] = true
234- g .imports [pbinfo.ImportSpec {Path : "io" }] = true
235- g .imports [pbinfo.ImportSpec {Path : "log/slog" }] = true
236- g .imports [pbinfo.ImportSpec {Path : "net/http" }] = true
237234 g .imports [pbinfo.ImportSpec {Path : "google.golang.org/api/option" }] = true
238235 g .imports [pbinfo.ImportSpec {Path : "github.com/googleapis/gax-go/v2/internallog" }] = true
239- g .imports [pbinfo.ImportSpec {Path : "github.com/googleapis/gax-go/v2/internallog/grpclog" }] = true
240- g .imports [pbinfo.ImportSpec {Path : "google.golang.org/api/googleapi" }] = true
241- g .imports [pbinfo.ImportSpec {Path : "google.golang.org/grpc" }] = true
242- g .imports [pbinfo.ImportSpec {Path : "google.golang.org/protobuf/proto" }] = true
243236
244237 p ("const serviceName = %q" , g .serviceConfig .GetName ())
245238 p ("" )
@@ -269,51 +262,63 @@ func (g *generator) genAndCommitHelpers(scopes []string) error {
269262 p (" }" )
270263 p ("}" )
271264 p ("" )
265+ if containsTransport (g .opts .transports , rest ) {
266+ g .imports [pbinfo.ImportSpec {Path : "io" }] = true
267+ g .imports [pbinfo.ImportSpec {Path : "log/slog" }] = true
268+ g .imports [pbinfo.ImportSpec {Path : "net/http" }] = true
269+ g .imports [pbinfo.ImportSpec {Path : "google.golang.org/api/googleapi" }] = true
270+
271+ p ("func executeHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) ([]byte, error) {" )
272+ p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body))` )
273+ p (" resp, err := client.Do(req)" )
274+ p (" if err != nil{" )
275+ p (" return nil, err" )
276+ p (" }" )
277+ p (" defer resp.Body.Close()" )
278+ p (" buf, err := io.ReadAll(resp.Body)" )
279+ p (" if err != nil {" )
280+ p (" return nil, err" )
281+ p (" }" )
282+ p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, buf))` )
283+ p (" if err = googleapi.CheckResponse(resp); err != nil {" )
284+ p (" return nil, err" )
285+ p (" }" )
286+ p (" return buf, nil" )
287+ p ("}" )
288+ p ("" )
272289
273- p ("func executeHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) ([]byte, error) {" )
274- p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body))` )
275- p (" resp, err := client.Do(req)" )
276- p (" if err != nil{" )
277- p (" return nil, err" )
278- p (" }" )
279- p (" defer resp.Body.Close()" )
280- p (" buf, err := io.ReadAll(resp.Body)" )
281- p (" if err != nil {" )
282- p (" return nil, err" )
283- p (" }" )
284- p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, buf))` )
285- p (" if err = googleapi.CheckResponse(resp); err != nil {" )
286- p (" return nil, err" )
287- p (" }" )
288- p (" return buf, nil" )
289- p ("}" )
290- p ("" )
291-
292- p ("func executeStreamingHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) (*http.Response, error) {" )
293- p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body))` )
294- p (" resp, err := client.Do(req)" )
295- p (" if err != nil{" )
296- p (" return nil, err" )
297- p (" }" )
298- p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, nil))` )
299- p (" if err = googleapi.CheckResponse(resp); err != nil {" )
300- p (" return nil, err" )
301- p (" }" )
302- p (" return resp, nil" )
303- p ("}" )
304- p ("" )
290+ p ("func executeStreamingHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) (*http.Response, error) {" )
291+ p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body))` )
292+ p (" resp, err := client.Do(req)" )
293+ p (" if err != nil{" )
294+ p (" return nil, err" )
295+ p (" }" )
296+ p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, nil))` )
297+ p (" if err = googleapi.CheckResponse(resp); err != nil {" )
298+ p (" return nil, err" )
299+ p (" }" )
300+ p (" return resp, nil" )
301+ p ("}" )
302+ p ("" )
303+ }
305304
306- p ("func executeRPC[I proto.Message, O proto.Message](ctx context.Context, fn func(context.Context, I, ...grpc.CallOption) (O, error), req I, opts []grpc.CallOption, logger *slog.Logger, rpc string) (O, error) {" )
307- p (" var zero O" )
308- p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", grpclog.ProtoMessageRequest(ctx, req))` )
309- p (" resp, err := fn(ctx, req, opts...)" )
310- p (" if err != nil {" )
311- p (" return zero, err" )
312- p (" }" )
313- p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", grpclog.ProtoMessageResponse(resp))` )
314- p (" return resp, err" )
315- p ("}" )
316- p ("" )
305+ if containsTransport (g .opts .transports , grpc ) {
306+ g .imports [pbinfo.ImportSpec {Path : "github.com/googleapis/gax-go/v2/internallog/grpclog" }] = true
307+ g .imports [pbinfo.ImportSpec {Path : "google.golang.org/grpc" }] = true
308+ g .imports [pbinfo.ImportSpec {Path : "google.golang.org/protobuf/proto" }] = true
309+
310+ p ("func executeRPC[I proto.Message, O proto.Message](ctx context.Context, fn func(context.Context, I, ...grpc.CallOption) (O, error), req I, opts []grpc.CallOption, logger *slog.Logger, rpc string) (O, error) {" )
311+ p (" var zero O" )
312+ p (` logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", grpclog.ProtoMessageRequest(ctx, req))` )
313+ p (" resp, err := fn(ctx, req, opts...)" )
314+ p (" if err != nil {" )
315+ p (" return zero, err" )
316+ p (" }" )
317+ p (` logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", grpclog.ProtoMessageResponse(resp))` )
318+ p (" return resp, err" )
319+ p ("}" )
320+ p ("" )
321+ }
317322
318323 outFile := filepath .Join (g .opts .outDir , "helpers.go" )
319324 g .commit (outFile , g .opts .pkgName )
0 commit comments