├── .github └── workflows │ ├── go.yml │ └── release.yaml ├── .gitignore ├── .goreleaser.yml ├── .travis.yml ├── FUNDING.yml ├── LICENSE ├── Makefile ├── README.md ├── cmd └── gowrap │ └── gowrap.go ├── cmd_generate.go ├── cmd_generate_test.go ├── cmd_template.go ├── cmd_template_test.go ├── command.go ├── command_test.go ├── errors.go ├── errors_test.go ├── generator ├── generator.go ├── generator_test.go ├── generics.go ├── generics_test.go ├── types.go └── types_test.go ├── go.mod ├── go.sum ├── gowrap.gif ├── loader ├── gitpath.go ├── gitpath_test.go ├── http_client_mock_test.go ├── loader.go ├── loader_test.go ├── read_closer_mock_test.go └── testdata │ └── .gitkeep ├── pkg └── package.go ├── printer ├── printer.go └── printer_test.go ├── remote_template_loader_mock_test.go ├── templates ├── circuitbreaker ├── elasticapm ├── fallback ├── grpc_validate ├── log ├── logrus ├── opencensus ├── opentelemetry ├── opentracing ├── prometheus ├── ratelimit ├── retry ├── robinpool ├── syncpool ├── timeout ├── twirp_error ├── twirp_validate └── validate ├── templates_tests ├── elastic_apm_mock_test.go ├── go.mod ├── go.sum ├── interface.go ├── interface_with_circuitbreaker.go ├── interface_with_circuitbreaker_test.go ├── interface_with_elasticapm.go ├── interface_with_elasticapm_test.go ├── interface_with_fallback.go ├── interface_with_fallback_test.go ├── interface_with_grpc_validation.go ├── interface_with_grpc_validation_test.go ├── interface_with_log.go ├── interface_with_log_test.go ├── interface_with_logrus.go ├── interface_with_logrus_test.go ├── interface_with_opencensus.go ├── interface_with_opencensus_test.go ├── interface_with_opentracing.go ├── interface_with_opentracing_test.go ├── interface_with_prometheus.go ├── interface_with_prometheus_metric_name.go ├── interface_with_prometheus_metric_name_test.go ├── interface_with_prometheus_test.go ├── interface_with_ratelimit.go ├── interface_with_ratelimit_test.go ├── interface_with_retry.go ├── interface_with_retry_test.go ├── interface_with_robinpool.go ├── interface_with_robinpool_test.go ├── interface_with_syncpool.go ├── interface_with_syncpool_test.go ├── interface_with_timeout.go ├── interface_with_timeout_test.go ├── interface_with_twirp_error.go ├── interface_with_twirp_error_test.go ├── interface_with_twirp_validation.go ├── interface_with_twirp_validation_test.go ├── interface_with_validation.go ├── interface_with_validation_test.go ├── span_mock_test.go ├── span_opencensus_mock_test.go ├── tracer_mock_test.go └── tracer_opencensus_mock_test.go ├── tools ├── go.mod ├── go.sum └── tools.go └── writer_mock_test.go /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/.gitignore -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/.travis.yml -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- 1 | patreon: hexdigest 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/README.md -------------------------------------------------------------------------------- /cmd/gowrap/gowrap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/cmd/gowrap/gowrap.go -------------------------------------------------------------------------------- /cmd_generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/cmd_generate.go -------------------------------------------------------------------------------- /cmd_generate_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/cmd_generate_test.go -------------------------------------------------------------------------------- /cmd_template.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/cmd_template.go -------------------------------------------------------------------------------- /cmd_template_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/cmd_template_test.go -------------------------------------------------------------------------------- /command.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/command.go -------------------------------------------------------------------------------- /command_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/command_test.go -------------------------------------------------------------------------------- /errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/errors.go -------------------------------------------------------------------------------- /errors_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/errors_test.go -------------------------------------------------------------------------------- /generator/generator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/generator.go -------------------------------------------------------------------------------- /generator/generator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/generator_test.go -------------------------------------------------------------------------------- /generator/generics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/generics.go -------------------------------------------------------------------------------- /generator/generics_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/generics_test.go -------------------------------------------------------------------------------- /generator/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/types.go -------------------------------------------------------------------------------- /generator/types_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/generator/types_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/go.sum -------------------------------------------------------------------------------- /gowrap.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/gowrap.gif -------------------------------------------------------------------------------- /loader/gitpath.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/gitpath.go -------------------------------------------------------------------------------- /loader/gitpath_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/gitpath_test.go -------------------------------------------------------------------------------- /loader/http_client_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/http_client_mock_test.go -------------------------------------------------------------------------------- /loader/loader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/loader.go -------------------------------------------------------------------------------- /loader/loader_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/loader_test.go -------------------------------------------------------------------------------- /loader/read_closer_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/loader/read_closer_mock_test.go -------------------------------------------------------------------------------- /loader/testdata/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/package.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/pkg/package.go -------------------------------------------------------------------------------- /printer/printer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/printer/printer.go -------------------------------------------------------------------------------- /printer/printer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/printer/printer_test.go -------------------------------------------------------------------------------- /remote_template_loader_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/remote_template_loader_mock_test.go -------------------------------------------------------------------------------- /templates/circuitbreaker: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/circuitbreaker -------------------------------------------------------------------------------- /templates/elasticapm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/elasticapm -------------------------------------------------------------------------------- /templates/fallback: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/fallback -------------------------------------------------------------------------------- /templates/grpc_validate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/grpc_validate -------------------------------------------------------------------------------- /templates/log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/log -------------------------------------------------------------------------------- /templates/logrus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/logrus -------------------------------------------------------------------------------- /templates/opencensus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/opencensus -------------------------------------------------------------------------------- /templates/opentelemetry: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/opentelemetry -------------------------------------------------------------------------------- /templates/opentracing: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/opentracing -------------------------------------------------------------------------------- /templates/prometheus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/prometheus -------------------------------------------------------------------------------- /templates/ratelimit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/ratelimit -------------------------------------------------------------------------------- /templates/retry: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/retry -------------------------------------------------------------------------------- /templates/robinpool: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/robinpool -------------------------------------------------------------------------------- /templates/syncpool: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/syncpool -------------------------------------------------------------------------------- /templates/timeout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/timeout -------------------------------------------------------------------------------- /templates/twirp_error: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/twirp_error -------------------------------------------------------------------------------- /templates/twirp_validate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/twirp_validate -------------------------------------------------------------------------------- /templates/validate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates/validate -------------------------------------------------------------------------------- /templates_tests/elastic_apm_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/elastic_apm_mock_test.go -------------------------------------------------------------------------------- /templates_tests/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/go.mod -------------------------------------------------------------------------------- /templates_tests/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/go.sum -------------------------------------------------------------------------------- /templates_tests/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface.go -------------------------------------------------------------------------------- /templates_tests/interface_with_circuitbreaker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_circuitbreaker.go -------------------------------------------------------------------------------- /templates_tests/interface_with_circuitbreaker_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_circuitbreaker_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_elasticapm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_elasticapm.go -------------------------------------------------------------------------------- /templates_tests/interface_with_elasticapm_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_elasticapm_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_fallback.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_fallback.go -------------------------------------------------------------------------------- /templates_tests/interface_with_fallback_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_fallback_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_grpc_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_grpc_validation.go -------------------------------------------------------------------------------- /templates_tests/interface_with_grpc_validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_grpc_validation_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_log.go -------------------------------------------------------------------------------- /templates_tests/interface_with_log_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_log_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_logrus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_logrus.go -------------------------------------------------------------------------------- /templates_tests/interface_with_logrus_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_logrus_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_opencensus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_opencensus.go -------------------------------------------------------------------------------- /templates_tests/interface_with_opencensus_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_opencensus_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_opentracing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_opentracing.go -------------------------------------------------------------------------------- /templates_tests/interface_with_opentracing_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_opentracing_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_prometheus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_prometheus.go -------------------------------------------------------------------------------- /templates_tests/interface_with_prometheus_metric_name.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_prometheus_metric_name.go -------------------------------------------------------------------------------- /templates_tests/interface_with_prometheus_metric_name_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_prometheus_metric_name_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_prometheus_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_prometheus_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_ratelimit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_ratelimit.go -------------------------------------------------------------------------------- /templates_tests/interface_with_ratelimit_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_ratelimit_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_retry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_retry.go -------------------------------------------------------------------------------- /templates_tests/interface_with_retry_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_retry_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_robinpool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_robinpool.go -------------------------------------------------------------------------------- /templates_tests/interface_with_robinpool_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_robinpool_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_syncpool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_syncpool.go -------------------------------------------------------------------------------- /templates_tests/interface_with_syncpool_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_syncpool_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_timeout.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_timeout.go -------------------------------------------------------------------------------- /templates_tests/interface_with_timeout_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_timeout_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_twirp_error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_twirp_error.go -------------------------------------------------------------------------------- /templates_tests/interface_with_twirp_error_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_twirp_error_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_twirp_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_twirp_validation.go -------------------------------------------------------------------------------- /templates_tests/interface_with_twirp_validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_twirp_validation_test.go -------------------------------------------------------------------------------- /templates_tests/interface_with_validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_validation.go -------------------------------------------------------------------------------- /templates_tests/interface_with_validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/interface_with_validation_test.go -------------------------------------------------------------------------------- /templates_tests/span_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/span_mock_test.go -------------------------------------------------------------------------------- /templates_tests/span_opencensus_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/span_opencensus_mock_test.go -------------------------------------------------------------------------------- /templates_tests/tracer_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/tracer_mock_test.go -------------------------------------------------------------------------------- /templates_tests/tracer_opencensus_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/templates_tests/tracer_opencensus_mock_test.go -------------------------------------------------------------------------------- /tools/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/tools/go.mod -------------------------------------------------------------------------------- /tools/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/tools/go.sum -------------------------------------------------------------------------------- /tools/tools.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/tools/tools.go -------------------------------------------------------------------------------- /writer_mock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hexdigest/gowrap/HEAD/writer_mock_test.go --------------------------------------------------------------------------------