in internal/output/gcppubsub/gcppubsub.go [30:45]
func New(opts *output.Options) (output.Output, error) {
if opts.Addr == "" {
return nil, errors.New("emulator address is required")
}
os.Setenv("PUBSUB_EMULATOR_HOST", opts.Addr)
ctx, cancel := context.WithCancel(context.Background())
client, err := pubsub.NewClient(ctx, opts.GCPPubsubOptions.Project)
if err != nil {
cancel()
return nil, fmt.Errorf("failed to create client: %w", err)
}
return &Output{opts: opts, client: client, cancelFunc: cancel}, nil
}