diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 24ffe53f..93be7441 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: ["1.19.x", "1.20.x"] + go: ["1.20.x", "1.21.x"] include: - - go: 1.20.x + - go: 1.21.x latest: true steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index d84df79a..0bc3994a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.32.0] - 2024-04-23 +## Added +- Redacted annotation provides a mechanism to redact certain struct fields from +errors messages and log objects. + ## [1.31.0] - 2023-06-09 ### Changed - StreamReader ReadString() and WriteString() performance improvements. @@ -438,6 +443,7 @@ this release. ### Added - Initial release. +[1.32.0]: https://github.com/thriftrw/thriftrw-go/compare/v1.31.0...v1.32.0 [1.31.0]: https://github.com/thriftrw/thriftrw-go/compare/v1.30.0...v1.31.0 [1.30.0]: https://github.com/thriftrw/thriftrw-go/compare/v1.29.2...v1.30.0 [1.29.2]: https://github.com/thriftrw/thriftrw-go/compare/v1.29.1...v1.29.2 diff --git a/RELEASE.md b/RELEASE.md index 321555ba..c8e743de 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,15 +1,6 @@ Release process =============== -Prerequisites -------------- - -Make sure you have `hub` installed. - -``` -brew install hub -``` - Releasing --------- @@ -66,9 +57,11 @@ To release new versions of ThriftRW Go, follow these instructions. git add version/version.go CHANGELOG.md git commit -m "Preparing release v$VERSION" -8. Make a pull request with these changes against `master`. +8. Make a pull request with these changes against `master`. Push the recently + created release branch to origin and create a new pull request into `master` + in the Github UI. - hub pull-request -b master --push + git push origin HEAD:$(whoami)/release 9. Land the pull request after approval as a **merge commit**. To do this, select **Create a merge commit** from the pull-down next to the merge @@ -93,7 +86,13 @@ To release new versions of ThriftRW Go, follow these instructions. 11. Tag a release. - hub release create -o -m v$VERSION -t master v$VERSION + git tag -a v$VERSION -m v$VERSION + git push origin v$VERSION + + Go to the "Release" section in the Github UI, and click "Draft a new release". + Select the tag you just pushed to origin. The release title should be the + tag name (e.g. v$VERSION) and the contents of the CHANGELOG.md for the + for the release version should be copied into the release description. 12. Copy the changelog entries for this release into the release description in the newly opened browser window. @@ -134,10 +133,12 @@ To release new versions of ThriftRW Go, follow these instructions. make generate -18. Open a PR with your changes against `dev` to back to development. +18. Open a PR with your changes against `dev` to back to development. Push + the recently created `back-to-dev` branch to origin and create a pull + request into `dev` from the Github UI. git commit -am "Back to development" - hub pull-request -b dev --push + git push origin back-to-dev 19. Merge this pull request once approved as a merge commit. diff --git a/ast/annotation.go b/ast/annotation.go index eee03062..baf8018d 100644 --- a/ast/annotation.go +++ b/ast/annotation.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/basetypeid_string.go b/ast/basetypeid_string.go index 5d07188e..0f233055 100644 --- a/ast/basetypeid_string.go +++ b/ast/basetypeid_string.go @@ -1,6 +1,6 @@ // Code generated by "stringer -type=BaseTypeID"; DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/constant.go b/ast/constant.go index e8a6b83c..31631eea 100644 --- a/ast/constant.go +++ b/ast/constant.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/definition.go b/ast/definition.go index 2535fa83..a0972c1d 100644 --- a/ast/definition.go +++ b/ast/definition.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/doc.go b/ast/doc.go index 5687ae39..25154cc8 100644 --- a/ast/doc.go +++ b/ast/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/header.go b/ast/header.go index 896933dc..69f8cf08 100644 --- a/ast/header.go +++ b/ast/header.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/node.go b/ast/node.go index 45cee617..a688cf31 100644 --- a/ast/node.go +++ b/ast/node.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/position.go b/ast/position.go index b10e33f5..0d9b6791 100644 --- a/ast/position.go +++ b/ast/position.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/program.go b/ast/program.go index 00861a11..cc78bb30 100644 --- a/ast/program.go +++ b/ast/program.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/type.go b/ast/type.go index b297ce9f..65e700e3 100644 --- a/ast/type.go +++ b/ast/type.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/visitor.go b/ast/visitor.go index 2c3548b0..f744c53b 100644 --- a/ast/visitor.go +++ b/ast/visitor.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ast/walk.go b/ast/walk.go index b8d48cc7..9877258d 100644 --- a/ast/walk.go +++ b/ast/walk.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/cmd/thriftbreak/main.go b/cmd/thriftbreak/main.go index c932367b..d2bf4528 100644 --- a/cmd/thriftbreak/main.go +++ b/cmd/thriftbreak/main.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/cmd/thriftrw-list-deps/main.go b/cmd/thriftrw-list-deps/main.go index 5eaf8614..69575976 100644 --- a/cmd/thriftrw-list-deps/main.go +++ b/cmd/thriftrw-list-deps/main.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/annotation.go b/compile/annotation.go index c8023867..a9428dca 100644 --- a/compile/annotation.go +++ b/compile/annotation.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/compiler.go b/compile/compiler.go index 8a455731..fb760e5f 100644 --- a/compile/compiler.go +++ b/compile/compiler.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/constant.go b/compile/constant.go index 0877635b..5da61355 100644 --- a/compile/constant.go +++ b/compile/constant.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/constant_value.go b/compile/constant_value.go index cc4bd22e..4f10b4ee 100644 --- a/compile/constant_value.go +++ b/compile/constant_value.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/container.go b/compile/container.go index 15663dd0..bce6d9d9 100644 --- a/compile/container.go +++ b/compile/container.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/cycle.go b/compile/cycle.go index 06600d1b..c4dfd747 100644 --- a/compile/cycle.go +++ b/compile/cycle.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/doc.go b/compile/doc.go index 024f878e..51d5abbe 100644 --- a/compile/doc.go +++ b/compile/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/enum.go b/compile/enum.go index c354ab1f..76bfe773 100644 --- a/compile/enum.go +++ b/compile/enum.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/error.go b/compile/error.go index 93823bef..d3330d2f 100644 --- a/compile/error.go +++ b/compile/error.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/field.go b/compile/field.go index 55fef1a3..50881e31 100644 --- a/compile/field.go +++ b/compile/field.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/module.go b/compile/module.go index 8f53583b..44fda0fc 100644 --- a/compile/module.go +++ b/compile/module.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/namespace.go b/compile/namespace.go index 7ff449af..47ab28b8 100644 --- a/compile/namespace.go +++ b/compile/namespace.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/once.go b/compile/once.go index dbca24b0..8eab025d 100644 --- a/compile/once.go +++ b/compile/once.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/options.go b/compile/options.go index 8442c9e5..69312e6c 100644 --- a/compile/options.go +++ b/compile/options.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/primitive.go b/compile/primitive.go index 5564ebcd..5750909a 100644 --- a/compile/primitive.go +++ b/compile/primitive.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/scope.go b/compile/scope.go index 2763f6aa..47f5033a 100644 --- a/compile/scope.go +++ b/compile/scope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/service.go b/compile/service.go index f1eb92fc..4b241137 100644 --- a/compile/service.go +++ b/compile/service.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/string.go b/compile/string.go index 7b80d49d..9120bcd0 100644 --- a/compile/string.go +++ b/compile/string.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/struct.go b/compile/struct.go index d7b54615..60e72828 100644 --- a/compile/struct.go +++ b/compile/struct.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/type.go b/compile/type.go index 442cbf4c..41ad6b6c 100644 --- a/compile/type.go +++ b/compile/type.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/compile/typedef.go b/compile/typedef.go index 525b695b..731242ed 100644 --- a/compile/typedef.go +++ b/compile/typedef.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/envelope/envelope.go b/envelope/envelope.go index 8845f686..624cd5db 100644 --- a/envelope/envelope.go +++ b/envelope/envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/envelope/stream/envelope.go b/envelope/stream/envelope.go index 8cfbda61..6cbb963f 100644 --- a/envelope/stream/envelope.go +++ b/envelope/stream/envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/constant.go b/gen/constant.go index 4fc40339..ecc2f6e7 100644 --- a/gen/constant.go +++ b/gen/constant.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/doc.go b/gen/doc.go index 627ca7c3..0f21abe0 100644 --- a/gen/doc.go +++ b/gen/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/embedidl.go b/gen/embedidl.go index ec11faac..6fd6256b 100644 --- a/gen/embedidl.go +++ b/gen/embedidl.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/enum.go b/gen/enum.go index 9f6b17b2..2be23b71 100644 --- a/gen/enum.go +++ b/gen/enum.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/equals.go b/gen/equals.go index 61394f00..43ce1d51 100644 --- a/gen/equals.go +++ b/gen/equals.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/error.go b/gen/error.go index 91806158..b6720365 100644 --- a/gen/error.go +++ b/gen/error.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/field.go b/gen/field.go index 93bfb40e..d005093d 100644 --- a/gen/field.go +++ b/gen/field.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -699,25 +699,38 @@ func (f fieldGroupGenerator) String(g Generator) error { <- $fname := goName . -> <- $f := printf "%s.%s" $v $fname -> + <- $shouldRedact := shouldRedact . -> + <- $redactedContent := redactedContent -> <- if not .Required -> if <$f> != nil { - - <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", *(<$f>)) - <- else -> - <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", <$f>) + <- if $shouldRedact -> + <$fields>[<$i>] = "<$fname>: <$redactedContent>" + <- else > + + <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", *(<$f>)) + <- else -> + <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", <$f>) + <- end> <- end> <$i>++ } <- else -> - <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", <$f>) + <- if $shouldRedact -> + <$fields>[<$i>] = "<$fname>: <$redactedContent>" + <- else -> + <$fields>[<$i>] = <$fmt>.Sprintf("<$fname>: %v", <$f>) + <- end> <$i>++ <- end> return <$fmt>.Sprintf("<.Name>{%v}", <$strings>.Join(<$fields>[:<$i>], ", ")) } - `, f) + `, f, + TemplateFunc("shouldRedact", shouldRedact), + TemplateFunc("redactedContent", redactedContent), + ) } func (f fieldGroupGenerator) ErrorName(g Generator) error { @@ -779,18 +792,28 @@ func (f fieldGroupGenerator) Zap(g Generator) error { if <$v> == nil { return nil } + < $redactedContent := redactedContent -> + <- $shouldRedact := shouldRedact . -> <- if not (zapOptOut .) -> <- $fval := printf "%s.%s" $v (goName .) -> <- if .Required -> - - <$enc>.Add("", ) - <- zapEncodeEnd .Type> + <- if $shouldRedact -> + <$enc>.AddString("", "<$redactedContent>") + <- else -> + <- zapEncodeBegin .Type -> + <$enc>.Add("", ) + <- zapEncodeEnd .Type -> + <- end -> <- else -> if <$fval> != nil { - - <$enc>.Add("", ) - <- zapEncodeEnd .Type> + <- if $shouldRedact -> + <$enc>.AddString("", "<$redactedContent>") + <- else -> + <- zapEncodeBegin .Type -> + <$enc>.Add("", ) + <- zapEncodeEnd .Type -> + <- end > } <- end> <- end> @@ -800,6 +823,8 @@ func (f fieldGroupGenerator) Zap(g Generator) error { `, f, TemplateFunc("zapOptOut", zapOptOut), TemplateFunc("fieldLabel", entityLabel), + TemplateFunc("shouldRedact", shouldRedact), + TemplateFunc("redactedContent", redactedContent), ) } @@ -875,3 +900,23 @@ func verifyUniqueFieldLabels(fs compile.FieldGroup) error { } return nil } + +// RedactLabel provides a mechanism to redact certain struct fields from +// the outputs of String(), Error() and MarshalLogObject() methods. +// +// struct Contact { +// 1: required string name +// 2: required string email (go.redact) +// } +const RedactLabel = "go.redact" + +func shouldRedact(spec *compile.FieldSpec) bool { + _, ok := spec.Annotations[RedactLabel] + return ok +} + +const _redactContent = "" + +func redactedContent() string { + return _redactContent +} diff --git a/gen/field_test.go b/gen/field_test.go index 561011e1..7299b413 100644 --- a/gen/field_test.go +++ b/gen/field_test.go @@ -25,10 +25,12 @@ import ( "strings" "testing" - "go.uber.org/thriftrw/compile" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.uber.org/thriftrw/compile" + "go.uber.org/thriftrw/gen/internal/tests/exceptions" + ts "go.uber.org/thriftrw/gen/internal/tests/structs" + "go.uber.org/zap/zapcore" ) func TestFieldLabelConflict(t *testing.T) { @@ -137,3 +139,70 @@ func TestCompileJSONTag(t *testing.T) { }) } } + +func TestHasRedactedAnnotation(t *testing.T) { + foo := &compile.FieldSpec{ + Name: "foo", + } + redact := &compile.FieldSpec{ + Name: "redact", + Annotations: compile.Annotations{RedactLabel: ""}, + } + tests := []struct { + name string + spec *compile.FieldSpec + want bool + }{ + {name: "redact annotation", spec: redact, want: true}, + {name: "no redact annotation", spec: foo, want: false}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equalf(t, tt.want, shouldRedact(tt.spec), "shouldRedact(%v)", tt.spec) + }) + } +} + +func TestRedactedAnnotation(t *testing.T) { + age := int32(21) + pi := ts.PersonalInfo{ + Age: toPtr(age), + Race: toPtr("martian"), + } + redactException := exceptions.DoesNotExistException{ + Key: "s", + UserName: toPtr("john doe"), + } + enc := zapcore.NewMapObjectEncoder() + require.NoError(t, pi.MarshalLogObject(enc)) + require.Len(t, enc.Fields, 2) + _, ok := enc.Fields["race"] + require.True(t, ok) + + eEncoder := zapcore.NewMapObjectEncoder() + require.NoError(t, redactException.MarshalLogObject(eEncoder)) + require.Len(t, eEncoder.Fields, 2) + _, ok = eEncoder.Fields["userName"] + require.True(t, ok) + + tests := []struct { + name string + got any + want any + }{ + {name: "struct/string", got: pi.String(), want: "PersonalInfo{Age: 21, Race: }"}, + {name: "struct/MarshalLogObject", got: enc.Fields["race"], want: _redactContent}, + {name: "exception/string", got: redactException.String(), want: "DoesNotExistException{Key: s, UserName: }"}, + {name: "exception/error", got: redactException.Error(), want: "DoesNotExistException{Key: s, UserName: }"}, + {name: "exception/MarshalLogObject", got: eEncoder.Fields["userName"], want: _redactContent}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.EqualValues(t, tt.want, tt.got) + }) + } +} + +func toPtr[T any](input T) *T { + return &input +} diff --git a/gen/gen.go b/gen/gen.go index 8c65eb2c..a1924ef0 100644 --- a/gen/gen.go +++ b/gen/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/generate.go b/gen/generate.go index b3c0a8e6..b7bfc383 100644 --- a/gen/generate.go +++ b/gen/generate.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/generator.go b/gen/generator.go index 2925b01b..13fcfd3b 100644 --- a/gen/generator.go +++ b/gen/generator.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/gotype.go b/gen/gotype.go index c8274fe2..e07e918f 100644 --- a/gen/gotype.go +++ b/gen/gotype.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/imports.go b/gen/imports.go index f0d733df..2b7442ef 100644 --- a/gen/imports.go +++ b/gen/imports.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/internal/tests/collision/collision.go b/gen/internal/tests/collision/collision.go index cbe70535..0258eca3 100644 --- a/gen/internal/tests/collision/collision.go +++ b/gen/internal/tests/collision/collision.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package collision diff --git a/gen/internal/tests/constants/constants.go b/gen/internal/tests/constants/constants.go index 7558c49b..b8ecffdc 100644 --- a/gen/internal/tests/constants/constants.go +++ b/gen/internal/tests/constants/constants.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package constants diff --git a/gen/internal/tests/containers/containers.go b/gen/internal/tests/containers/containers.go index fc25faf2..5c377265 100644 --- a/gen/internal/tests/containers/containers.go +++ b/gen/internal/tests/containers/containers.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package containers diff --git a/gen/internal/tests/enum-text-marshal-strict/enum-text-marshal-strict.go b/gen/internal/tests/enum-text-marshal-strict/enum-text-marshal-strict.go index c59af0e0..f1b8d4f8 100644 --- a/gen/internal/tests/enum-text-marshal-strict/enum-text-marshal-strict.go +++ b/gen/internal/tests/enum-text-marshal-strict/enum-text-marshal-strict.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package enum_text_marshal_strict diff --git a/gen/internal/tests/enum_conflict/enum_conflict.go b/gen/internal/tests/enum_conflict/enum_conflict.go index eceade88..4331c0fb 100644 --- a/gen/internal/tests/enum_conflict/enum_conflict.go +++ b/gen/internal/tests/enum_conflict/enum_conflict.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package enum_conflict diff --git a/gen/internal/tests/enums/enums.go b/gen/internal/tests/enums/enums.go index ee836d1d..4ebf2a40 100644 --- a/gen/internal/tests/enums/enums.go +++ b/gen/internal/tests/enums/enums.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package enums diff --git a/gen/internal/tests/exceptions/exceptions.go b/gen/internal/tests/exceptions/exceptions.go index b6389625..67b6b208 100644 --- a/gen/internal/tests/exceptions/exceptions.go +++ b/gen/internal/tests/exceptions/exceptions.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package exceptions @@ -16,8 +16,9 @@ import ( // Raised when something doesn't exist. type DoesNotExistException struct { // Key that was missing. - Key string `json:"key,required"` - Error2 *string `json:"Error,omitempty"` + Key string `json:"key,required"` + Error2 *string `json:"Error,omitempty"` + UserName *string `json:"userName,omitempty"` } // ToWire translates a DoesNotExistException struct into a Thrift-level intermediate @@ -37,7 +38,7 @@ type DoesNotExistException struct { // } func (v *DoesNotExistException) ToWire() (wire.Value, error) { var ( - fields [2]wire.Field + fields [3]wire.Field i int = 0 w wire.Value err error @@ -57,6 +58,14 @@ func (v *DoesNotExistException) ToWire() (wire.Value, error) { fields[i] = wire.Field{ID: 2, Value: w} i++ } + if v.UserName != nil { + w, err = wire.NewValueString(*(v.UserName)), error(nil) + if err != nil { + return w, err + } + fields[i] = wire.Field{ID: 3, Value: w} + i++ + } return wire.NewValueStruct(wire.Struct{Fields: fields[:i]}), nil } @@ -102,6 +111,16 @@ func (v *DoesNotExistException) FromWire(w wire.Value) error { return err } + } + case 3: + if field.Value.Type() == wire.TBinary { + var x string + x, err = field.Value.GetString(), error(nil) + v.UserName = &x + if err != nil { + return err + } + } } } @@ -144,6 +163,18 @@ func (v *DoesNotExistException) Encode(sw stream.Writer) error { } } + if v.UserName != nil { + if err := sw.WriteFieldBegin(stream.FieldHeader{ID: 3, Type: wire.TBinary}); err != nil { + return err + } + if err := sw.WriteString(*(v.UserName)); err != nil { + return err + } + if err := sw.WriteFieldEnd(); err != nil { + return err + } + } + return sw.WriteStructEnd() } @@ -181,6 +212,14 @@ func (v *DoesNotExistException) Decode(sr stream.Reader) error { return err } + case fh.ID == 3 && fh.Type == wire.TBinary: + var x string + x, err = sr.ReadString() + v.UserName = &x + if err != nil { + return err + } + default: if err := sr.Skip(fh.Type); err != nil { return err @@ -214,7 +253,7 @@ func (v *DoesNotExistException) String() string { return "" } - var fields [2]string + var fields [3]string i := 0 fields[i] = fmt.Sprintf("Key: %v", v.Key) i++ @@ -222,6 +261,10 @@ func (v *DoesNotExistException) String() string { fields[i] = fmt.Sprintf("Error2: %v", *(v.Error2)) i++ } + if v.UserName != nil { + fields[i] = "UserName: " + i++ + } return fmt.Sprintf("DoesNotExistException{%v}", strings.Join(fields[:i], ", ")) } @@ -258,6 +301,9 @@ func (v *DoesNotExistException) Equals(rhs *DoesNotExistException) bool { if !_String_EqualsPtr(v.Error2, rhs.Error2) { return false } + if !_String_EqualsPtr(v.UserName, rhs.UserName) { + return false + } return true } @@ -272,6 +318,9 @@ func (v *DoesNotExistException) MarshalLogObject(enc zapcore.ObjectEncoder) (err if v.Error2 != nil { enc.AddString("Error", *v.Error2) } + if v.UserName != nil { + enc.AddString("userName", "") + } return err } @@ -299,6 +348,21 @@ func (v *DoesNotExistException) IsSetError2() bool { return v != nil && v.Error2 != nil } +// GetUserName returns the value of UserName if it is set or its +// zero value if it is unset. +func (v *DoesNotExistException) GetUserName() (o string) { + if v != nil && v.UserName != nil { + return *v.UserName + } + + return +} + +// IsSetUserName returns true if UserName is not nil. +func (v *DoesNotExistException) IsSetUserName() bool { + return v != nil && v.UserName != nil +} + func (v *DoesNotExistException) Error() string { return v.String() } @@ -739,8 +803,8 @@ var ThriftModule = &thriftreflect.ThriftModule{ Name: "exceptions", Package: "go.uber.org/thriftrw/gen/internal/tests/exceptions", FilePath: "exceptions.thrift", - SHA1: "a31a29f9f7bca3221100e43e32b0d833ca9c774e", + SHA1: "671449b355e9a5f64483f157e93dc762fe3d1944", Raw: rawIDL, } -const rawIDL = "exception EmptyException {}\n\n/**\n * Raised when something doesn't exist.\n */\nexception DoesNotExistException {\n /** Key that was missing. */\n 1: required string key\n 2: optional string Error (go.name=\"Error2\")\n}\n\nexception Does_Not_Exist_Exception_Collision {\n /** Key that was missing. */\n 1: required string key\n 2: optional string Error (go.name=\"Error2\")\n} (go.name=\"DoesNotExistException2\")\n" +const rawIDL = "exception EmptyException {}\n\n/**\n * Raised when something doesn't exist.\n */\nexception DoesNotExistException {\n /** Key that was missing. */\n 1: required string key\n 2: optional string Error (go.name=\"Error2\")\n 3: optional string userName (go.redact)\n}\n\nexception Does_Not_Exist_Exception_Collision {\n /** Key that was missing. */\n 1: required string key\n 2: optional string Error (go.name=\"Error2\")\n} (go.name=\"DoesNotExistException2\")\n" diff --git a/gen/internal/tests/hyphenated-file/hyphenated-file.go b/gen/internal/tests/hyphenated-file/hyphenated-file.go index 1a3daf77..d1ef92e8 100644 --- a/gen/internal/tests/hyphenated-file/hyphenated-file.go +++ b/gen/internal/tests/hyphenated-file/hyphenated-file.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package hyphenated_file diff --git a/gen/internal/tests/hyphenated_file/hyphenated_file.go b/gen/internal/tests/hyphenated_file/hyphenated_file.go index 3f4f3a7a..1ff4852c 100644 --- a/gen/internal/tests/hyphenated_file/hyphenated_file.go +++ b/gen/internal/tests/hyphenated_file/hyphenated_file.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package hyphenated_file diff --git a/gen/internal/tests/non_hyphenated/non_hyphenated.go b/gen/internal/tests/non_hyphenated/non_hyphenated.go index 31e605ef..223d34a4 100644 --- a/gen/internal/tests/non_hyphenated/non_hyphenated.go +++ b/gen/internal/tests/non_hyphenated/non_hyphenated.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package non_hyphenated diff --git a/gen/internal/tests/nozap/nozap.go b/gen/internal/tests/nozap/nozap.go index 222157b7..632e6194 100644 --- a/gen/internal/tests/nozap/nozap.go +++ b/gen/internal/tests/nozap/nozap.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package nozap diff --git a/gen/internal/tests/other_constants/other_constants.go b/gen/internal/tests/other_constants/other_constants.go index 0e920534..7baaa3a2 100644 --- a/gen/internal/tests/other_constants/other_constants.go +++ b/gen/internal/tests/other_constants/other_constants.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package other_constants diff --git a/gen/internal/tests/services/services.go b/gen/internal/tests/services/services.go index 1ea5ba70..aa2fbdce 100644 --- a/gen/internal/tests/services/services.go +++ b/gen/internal/tests/services/services.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package services diff --git a/gen/internal/tests/set_to_slice/set_to_slice.go b/gen/internal/tests/set_to_slice/set_to_slice.go index 221cdace..80d122fc 100644 --- a/gen/internal/tests/set_to_slice/set_to_slice.go +++ b/gen/internal/tests/set_to_slice/set_to_slice.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package set_to_slice diff --git a/gen/internal/tests/stringdef/stringdef.go b/gen/internal/tests/stringdef/stringdef.go index d5a9f437..571f11cf 100644 --- a/gen/internal/tests/stringdef/stringdef.go +++ b/gen/internal/tests/stringdef/stringdef.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package stringdef diff --git a/gen/internal/tests/structs/structs.go b/gen/internal/tests/structs/structs.go index 6c820c97..6ca9c416 100644 --- a/gen/internal/tests/structs/structs.go +++ b/gen/internal/tests/structs/structs.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package structs @@ -4751,7 +4751,8 @@ func (v *Omit) GetHidden() (o string) { } type PersonalInfo struct { - Age *int32 `json:"age,omitempty"` + Age *int32 `json:"age,omitempty"` + Race *string `json:"race,omitempty"` } // ToWire translates a PersonalInfo struct into a Thrift-level intermediate @@ -4771,7 +4772,7 @@ type PersonalInfo struct { // } func (v *PersonalInfo) ToWire() (wire.Value, error) { var ( - fields [1]wire.Field + fields [2]wire.Field i int = 0 w wire.Value err error @@ -4785,6 +4786,14 @@ func (v *PersonalInfo) ToWire() (wire.Value, error) { fields[i] = wire.Field{ID: 1, Value: w} i++ } + if v.Race != nil { + w, err = wire.NewValueString(*(v.Race)), error(nil) + if err != nil { + return w, err + } + fields[i] = wire.Field{ID: 2, Value: w} + i++ + } return wire.NewValueStruct(wire.Struct{Fields: fields[:i]}), nil } @@ -4820,6 +4829,16 @@ func (v *PersonalInfo) FromWire(w wire.Value) error { return err } + } + case 2: + if field.Value.Type() == wire.TBinary { + var x string + x, err = field.Value.GetString(), error(nil) + v.Race = &x + if err != nil { + return err + } + } } } @@ -4848,6 +4867,18 @@ func (v *PersonalInfo) Encode(sw stream.Writer) error { } } + if v.Race != nil { + if err := sw.WriteFieldBegin(stream.FieldHeader{ID: 2, Type: wire.TBinary}); err != nil { + return err + } + if err := sw.WriteString(*(v.Race)); err != nil { + return err + } + if err := sw.WriteFieldEnd(); err != nil { + return err + } + } + return sw.WriteStructEnd() } @@ -4877,6 +4908,14 @@ func (v *PersonalInfo) Decode(sr stream.Reader) error { return err } + case fh.ID == 2 && fh.Type == wire.TBinary: + var x string + x, err = sr.ReadString() + v.Race = &x + if err != nil { + return err + } + default: if err := sr.Skip(fh.Type); err != nil { return err @@ -4906,12 +4945,16 @@ func (v *PersonalInfo) String() string { return "" } - var fields [1]string + var fields [2]string i := 0 if v.Age != nil { fields[i] = fmt.Sprintf("Age: %v", *(v.Age)) i++ } + if v.Race != nil { + fields[i] = "Race: " + i++ + } return fmt.Sprintf("PersonalInfo{%v}", strings.Join(fields[:i], ", ")) } @@ -4929,6 +4972,9 @@ func (v *PersonalInfo) Equals(rhs *PersonalInfo) bool { if !_I32_EqualsPtr(v.Age, rhs.Age) { return false } + if !_String_EqualsPtr(v.Race, rhs.Race) { + return false + } return true } @@ -4942,6 +4988,9 @@ func (v *PersonalInfo) MarshalLogObject(enc zapcore.ObjectEncoder) (err error) { if v.Age != nil { enc.AddInt32("age", *v.Age) } + if v.Race != nil { + enc.AddString("race", "") + } return err } @@ -4960,6 +5009,21 @@ func (v *PersonalInfo) IsSetAge() bool { return v != nil && v.Age != nil } +// GetRace returns the value of Race if it is set or its +// zero value if it is unset. +func (v *PersonalInfo) GetRace() (o string) { + if v != nil && v.Race != nil { + return *v.Race + } + + return +} + +// IsSetRace returns true if Race is not nil. +func (v *PersonalInfo) IsSetRace() bool { + return v != nil && v.Race != nil +} + // A point in 2D space. type Point struct { X float64 `json:"x,required"` @@ -8296,11 +8360,11 @@ var ThriftModule = &thriftreflect.ThriftModule{ Name: "structs", Package: "go.uber.org/thriftrw/gen/internal/tests/structs", FilePath: "structs.thrift", - SHA1: "2f43f38d30f0f9e3b089118d7ffc6b4dc532ada6", + SHA1: "29ff87a73c860add2d19995adbd0351cf24423c3", Includes: []*thriftreflect.ThriftModule{ enums.ThriftModule, }, Raw: rawIDL, } -const rawIDL = "include \"./enums.thrift\"\n\nstruct EmptyStruct {}\n\n//////////////////////////////////////////////////////////////////////////////\n// Structs with primitives\n\n/**\n * A struct that contains primitive fields exclusively.\n *\n * All fields are required.\n */\nstruct PrimitiveRequiredStruct {\n 1: required bool boolField\n 2: required byte byteField\n 3: required i16 int16Field\n 4: required i32 int32Field\n 5: required i64 int64Field\n 6: required double doubleField\n 7: required string stringField\n 8: required binary binaryField\n}\n\n/**\n * A struct that contains primitive fields exclusively.\n *\n * All fields are optional.\n */\nstruct PrimitiveOptionalStruct {\n 1: optional bool boolField\n 2: optional byte byteField\n 3: optional i16 int16Field\n 4: optional i32 int32Field\n 5: optional i64 int64Field\n 6: optional double doubleField\n 7: optional string stringField\n 8: optional binary binaryField\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Nested structs (Required)\n\n/**\n * A point in 2D space.\n */\nstruct Point {\n 1: required double x\n 2: required double y\n}\n\n/**\n * Size of something.\n */\nstruct Size {\n /**\n * Width in pixels.\n */\n 1: required double width\n /** Height in pixels. */\n 2: required double height\n}\n\nstruct Frame {\n 1: required Point topLeft\n 2: required Size size\n}\n\nstruct Edge {\n 1: required Point startPoint\n 2: required Point endPoint\n}\n\n/**\n * A graph is comprised of zero or more edges.\n */\nstruct Graph {\n /**\n * List of edges in the graph.\n *\n * May be empty.\n */\n 1: required list edges\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Nested structs (Optional)\n\nstruct ContactInfo {\n 1: required string emailAddress\n}\n\nstruct PersonalInfo {\n 1: optional i32 age\n}\n\nstruct User {\n 1: required string name\n 2: optional ContactInfo contact\n 3: optional PersonalInfo personal\n}\n\ntypedef map UserMap\n\n//////////////////////////////////////////////////////////////////////////////\n// self-referential struct\n\ntypedef Node List\n\n/**\n * Node is linked list of values.\n * All values are 32-bit integers.\n */\nstruct Node {\n 1: required i32 value\n 2: optional List tail\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// JSON tagged structs\n\nstruct Rename {\n 1: required string Default (go.tag = 'json:\"default\"')\n 2: required string camelCase (go.tag = 'json:\"snake_case\"')\n}\n\nstruct Omit {\n 1: required string serialized\n 2: required string hidden (go.tag = 'json:\"-\"')\n}\n\nstruct GoTags {\n 1: required string Foo (go.tag = 'json:\"-\" foo:\"bar\"')\n 2: optional string Bar (go.tag = 'bar:\"foo\"')\n 3: required string FooBar (go.tag = 'json:\"foobar,option1,option2\" bar:\"foo,option1\" foo:\"foobar\"')\n 4: required string FooBarWithSpace (go.tag = 'json:\"foobarWithSpace\" foo:\"foo bar foobar barfoo\"')\n 5: optional string FooBarWithOmitEmpty (go.tag = 'json:\"foobarWithOmitEmpty,omitempty\"')\n 6: required string FooBarWithRequired (go.tag = 'json:\"foobarWithRequired,required\"')\n}\n\nstruct NotOmitEmpty {\n 1: optional string NotOmitEmptyString (go.tag = 'json:\"notOmitEmptyString,!omitempty\"')\n 2: optional string NotOmitEmptyInt (go.tag = 'json:\"notOmitEmptyInt,!omitempty\"')\n 3: optional string NotOmitEmptyBool (go.tag = 'json:\"notOmitEmptyBool,!omitempty\"')\n 4: optional list NotOmitEmptyList (go.tag = 'json:\"notOmitEmptyList,!omitempty\"')\n 5: optional map NotOmitEmptyMap (go.tag = 'json:\"notOmitEmptyMap,!omitempty\"')\n 6: optional list NotOmitEmptyListMixedWithOmitEmpty (go.tag = 'json:\"notOmitEmptyListMixedWithOmitEmpty,!omitempty,omitempty\"')\n 7: optional list NotOmitEmptyListMixedWithOmitEmptyV2 (go.tag = 'json:\"notOmitEmptyListMixedWithOmitEmptyV2,omitempty,!omitempty\"')\n 8: optional string OmitEmptyString (go.tag = 'json:\"omitEmptyString,omitempty\"') // to test that there can be a mix of fields that do and don't have !omitempty\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Default values\n\nstruct DefaultsStruct {\n 1: required i32 requiredPrimitive = 100\n 2: optional i32 optionalPrimitive = 200\n\n 3: required enums.EnumDefault requiredEnum = enums.EnumDefault.Bar\n 4: optional enums.EnumDefault optionalEnum = 2\n\n 5: required list requiredList = [\"hello\", \"world\"]\n 6: optional list optionalList = [1, 2.0, 3]\n\n 7: required Frame requiredStruct = {\n \"topLeft\": {\"x\": 1, \"y\": 2},\n \"size\": {\"width\": 100, \"height\": 200},\n }\n 8: optional Edge optionalStruct = {\n \"startPoint\": {\"x\": 1, \"y\": 2},\n \"endPoint\": {\"x\": 3, \"y\": 4},\n }\n\n 9: required bool requiredBoolDefaultTrue = true\n 10: optional bool optionalBoolDefaultTrue = true\n\n 11: required bool requiredBoolDefaultFalse = false\n 12: optional bool optionalBoolDefaultFalse = false\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Opt-out of Zap\n\nstruct ZapOptOutStruct {\n 1: required string name\n 2: required string optout (go.nolog)\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Field jabels\n\nstruct StructLabels {\n // reserved keyword as label\n 1: optional bool isRequired (go.label = \"required\")\n\n // go.tag's JSON tag takes precedence over go.label\n 2: optional string foo (go.label = \"bar\", go.tag = 'json:\"not_bar\"')\n\n // Empty label\n 3: optional string qux (go.label = \"\")\n\n // All-caps label\n 4: optional string quux (go.label = \"QUUX\")\n}\n" +const rawIDL = "include \"./enums.thrift\"\n\nstruct EmptyStruct {}\n\n//////////////////////////////////////////////////////////////////////////////\n// Structs with primitives\n\n/**\n * A struct that contains primitive fields exclusively.\n *\n * All fields are required.\n */\nstruct PrimitiveRequiredStruct {\n 1: required bool boolField\n 2: required byte byteField\n 3: required i16 int16Field\n 4: required i32 int32Field\n 5: required i64 int64Field\n 6: required double doubleField\n 7: required string stringField\n 8: required binary binaryField\n}\n\n/**\n * A struct that contains primitive fields exclusively.\n *\n * All fields are optional.\n */\nstruct PrimitiveOptionalStruct {\n 1: optional bool boolField\n 2: optional byte byteField\n 3: optional i16 int16Field\n 4: optional i32 int32Field\n 5: optional i64 int64Field\n 6: optional double doubleField\n 7: optional string stringField\n 8: optional binary binaryField\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Nested structs (Required)\n\n/**\n * A point in 2D space.\n */\nstruct Point {\n 1: required double x\n 2: required double y\n}\n\n/**\n * Size of something.\n */\nstruct Size {\n /**\n * Width in pixels.\n */\n 1: required double width\n /** Height in pixels. */\n 2: required double height\n}\n\nstruct Frame {\n 1: required Point topLeft\n 2: required Size size\n}\n\nstruct Edge {\n 1: required Point startPoint\n 2: required Point endPoint\n}\n\n/**\n * A graph is comprised of zero or more edges.\n */\nstruct Graph {\n /**\n * List of edges in the graph.\n *\n * May be empty.\n */\n 1: required list edges\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Nested structs (Optional)\n\nstruct ContactInfo {\n 1: required string emailAddress\n}\n\nstruct PersonalInfo {\n 1: optional i32 age\n 2: optional string race (go.redact)\n}\n\nstruct User {\n 1: required string name\n 2: optional ContactInfo contact\n 3: optional PersonalInfo personal\n}\n\ntypedef map UserMap\n\n//////////////////////////////////////////////////////////////////////////////\n// self-referential struct\n\ntypedef Node List\n\n/**\n * Node is linked list of values.\n * All values are 32-bit integers.\n */\nstruct Node {\n 1: required i32 value\n 2: optional List tail\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// JSON tagged structs\n\nstruct Rename {\n 1: required string Default (go.tag = 'json:\"default\"')\n 2: required string camelCase (go.tag = 'json:\"snake_case\"')\n}\n\nstruct Omit {\n 1: required string serialized\n 2: required string hidden (go.tag = 'json:\"-\"')\n}\n\nstruct GoTags {\n 1: required string Foo (go.tag = 'json:\"-\" foo:\"bar\"')\n 2: optional string Bar (go.tag = 'bar:\"foo\"')\n 3: required string FooBar (go.tag = 'json:\"foobar,option1,option2\" bar:\"foo,option1\" foo:\"foobar\"')\n 4: required string FooBarWithSpace (go.tag = 'json:\"foobarWithSpace\" foo:\"foo bar foobar barfoo\"')\n 5: optional string FooBarWithOmitEmpty (go.tag = 'json:\"foobarWithOmitEmpty,omitempty\"')\n 6: required string FooBarWithRequired (go.tag = 'json:\"foobarWithRequired,required\"')\n}\n\nstruct NotOmitEmpty {\n 1: optional string NotOmitEmptyString (go.tag = 'json:\"notOmitEmptyString,!omitempty\"')\n 2: optional string NotOmitEmptyInt (go.tag = 'json:\"notOmitEmptyInt,!omitempty\"')\n 3: optional string NotOmitEmptyBool (go.tag = 'json:\"notOmitEmptyBool,!omitempty\"')\n 4: optional list NotOmitEmptyList (go.tag = 'json:\"notOmitEmptyList,!omitempty\"')\n 5: optional map NotOmitEmptyMap (go.tag = 'json:\"notOmitEmptyMap,!omitempty\"')\n 6: optional list NotOmitEmptyListMixedWithOmitEmpty (go.tag = 'json:\"notOmitEmptyListMixedWithOmitEmpty,!omitempty,omitempty\"')\n 7: optional list NotOmitEmptyListMixedWithOmitEmptyV2 (go.tag = 'json:\"notOmitEmptyListMixedWithOmitEmptyV2,omitempty,!omitempty\"')\n 8: optional string OmitEmptyString (go.tag = 'json:\"omitEmptyString,omitempty\"') // to test that there can be a mix of fields that do and don't have !omitempty\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Default values\n\nstruct DefaultsStruct {\n 1: required i32 requiredPrimitive = 100\n 2: optional i32 optionalPrimitive = 200\n\n 3: required enums.EnumDefault requiredEnum = enums.EnumDefault.Bar\n 4: optional enums.EnumDefault optionalEnum = 2\n\n 5: required list requiredList = [\"hello\", \"world\"]\n 6: optional list optionalList = [1, 2.0, 3]\n\n 7: required Frame requiredStruct = {\n \"topLeft\": {\"x\": 1, \"y\": 2},\n \"size\": {\"width\": 100, \"height\": 200},\n }\n 8: optional Edge optionalStruct = {\n \"startPoint\": {\"x\": 1, \"y\": 2},\n \"endPoint\": {\"x\": 3, \"y\": 4},\n }\n\n 9: required bool requiredBoolDefaultTrue = true\n 10: optional bool optionalBoolDefaultTrue = true\n\n 11: required bool requiredBoolDefaultFalse = false\n 12: optional bool optionalBoolDefaultFalse = false\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Opt-out of Zap\n\nstruct ZapOptOutStruct {\n 1: required string name\n 2: required string optout (go.nolog)\n}\n\n//////////////////////////////////////////////////////////////////////////////\n// Field jabels\n\nstruct StructLabels {\n // reserved keyword as label\n 1: optional bool isRequired (go.label = \"required\")\n\n // go.tag's JSON tag takes precedence over go.label\n 2: optional string foo (go.label = \"bar\", go.tag = 'json:\"not_bar\"')\n\n // Empty label\n 3: optional string qux (go.label = \"\")\n\n // All-caps label\n 4: optional string quux (go.label = \"QUUX\")\n}\n" diff --git a/gen/internal/tests/thrift/exceptions.thrift b/gen/internal/tests/thrift/exceptions.thrift index 725b1695..23ae55b8 100644 --- a/gen/internal/tests/thrift/exceptions.thrift +++ b/gen/internal/tests/thrift/exceptions.thrift @@ -7,6 +7,7 @@ exception DoesNotExistException { /** Key that was missing. */ 1: required string key 2: optional string Error (go.name="Error2") + 3: optional string userName (go.redact) } exception Does_Not_Exist_Exception_Collision { diff --git a/gen/internal/tests/thrift/structs.thrift b/gen/internal/tests/thrift/structs.thrift index b1b0efef..ef08a3f1 100644 --- a/gen/internal/tests/thrift/structs.thrift +++ b/gen/internal/tests/thrift/structs.thrift @@ -91,6 +91,7 @@ struct ContactInfo { struct PersonalInfo { 1: optional i32 age + 2: optional string race (go.redact) } struct User { diff --git a/gen/internal/tests/typedefs/typedefs.go b/gen/internal/tests/typedefs/typedefs.go index 79dc26ee..332664e8 100644 --- a/gen/internal/tests/typedefs/typedefs.go +++ b/gen/internal/tests/typedefs/typedefs.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package typedefs diff --git a/gen/internal/tests/unions/unions.go b/gen/internal/tests/unions/unions.go index 706f3bfd..b5e59a97 100644 --- a/gen/internal/tests/unions/unions.go +++ b/gen/internal/tests/unions/unions.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package unions diff --git a/gen/internal/tests/uuid_conflict/uuid_conflict.go b/gen/internal/tests/uuid_conflict/uuid_conflict.go index 21ea8c58..43cb35cd 100644 --- a/gen/internal/tests/uuid_conflict/uuid_conflict.go +++ b/gen/internal/tests/uuid_conflict/uuid_conflict.go @@ -1,4 +1,4 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated package uuid_conflict diff --git a/gen/label.go b/gen/label.go index 6884b4f5..c581d3a0 100644 --- a/gen/label.go +++ b/gen/label.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/list.go b/gen/list.go index d2ce0a35..a78ea27d 100644 --- a/gen/list.go +++ b/gen/list.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/literal.go b/gen/literal.go index d9b47506..a152c597 100644 --- a/gen/literal.go +++ b/gen/literal.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/mangle.go b/gen/mangle.go index bd3dda9a..6315431d 100644 --- a/gen/mangle.go +++ b/gen/mangle.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/map.go b/gen/map.go index dbac07d6..6de84d7f 100644 --- a/gen/map.go +++ b/gen/map.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/namespace.go b/gen/namespace.go index f8e34384..3bed3726 100644 --- a/gen/namespace.go +++ b/gen/namespace.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/plugin.go b/gen/plugin.go index bb56d7a2..f4918f41 100644 --- a/gen/plugin.go +++ b/gen/plugin.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/service.go b/gen/service.go index 7f65c4b1..c5f33ff1 100644 --- a/gen/service.go +++ b/gen/service.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/set.go b/gen/set.go index 1f6db92a..3ea4d757 100644 --- a/gen/set.go +++ b/gen/set.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/sort.go b/gen/sort.go index aaaaf59a..ea334ebc 100644 --- a/gen/sort.go +++ b/gen/sort.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/stream.go b/gen/stream.go index 7d2ec56d..2fa2a0cf 100644 --- a/gen/stream.go +++ b/gen/stream.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/string.go b/gen/string.go index 83e2b681..4238491d 100644 --- a/gen/string.go +++ b/gen/string.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/struct.go b/gen/struct.go index 3902dd12..e6967c7d 100644 --- a/gen/struct.go +++ b/gen/struct.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/type.go b/gen/type.go index ea787805..f96d35c5 100644 --- a/gen/type.go +++ b/gen/type.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/typedef.go b/gen/typedef.go index 32ad419c..eef01cde 100644 --- a/gen/typedef.go +++ b/gen/typedef.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/version.go b/gen/version.go index 7bbad94d..fc8c637c 100644 --- a/gen/version.go +++ b/gen/version.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/wire.go b/gen/wire.go index 42b1bdf6..b0fca82e 100644 --- a/gen/wire.go +++ b/gen/wire.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/gen/zap.go b/gen/zap.go index 91a43019..cdb1fc13 100644 --- a/gen/zap.go +++ b/gen/zap.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -46,7 +46,7 @@ type zapGenerator struct { // zapEncoder returns the Zap type name of the root spec, determining what type // the Zap marshaler needs to log it as (i.e. AddString, AppendObject, etc.) -func (z *zapGenerator) zapEncoder(g Generator, spec compile.TypeSpec) string { +func (z *zapGenerator) zapEncoder(_ Generator, spec compile.TypeSpec) string { root := compile.RootTypeSpec(spec) switch t := root.(type) { diff --git a/gen/zap_test.go b/gen/zap_test.go index f5025b57..1d96ecc2 100644 --- a/gen/zap_test.go +++ b/gen/zap_test.go @@ -28,6 +28,7 @@ import ( gomock "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.uber.org/thriftrw/compile" tc "go.uber.org/thriftrw/gen/internal/tests/containers" te "go.uber.org/thriftrw/gen/internal/tests/enums" tz "go.uber.org/thriftrw/gen/internal/tests/nozap" @@ -852,3 +853,31 @@ func TestLogNilStruct(t *testing.T) { require.NoError(t, x.MarshalLogObject(enc)) assert.Empty(t, enc.Fields) } + +func TestZapOptOut(t *testing.T) { + foo := &compile.FieldSpec{ + Name: "foo", + } + redact := &compile.FieldSpec{ + Name: "redact", + Annotations: compile.Annotations{RedactLabel: ""}, + } + nolog := &compile.FieldSpec{ + Name: "nolog", + Annotations: compile.Annotations{NoZapLabel: ""}, + } + tests := []struct { + name string + spec *compile.FieldSpec + want bool + }{ + {name: "no annotation", spec: foo, want: false}, + {name: "redact annotation", spec: redact, want: false}, + {name: "nolog annotation", spec: nolog, want: true}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equalf(t, tt.want, zapOptOut(tt.spec), "zapOptOut(%v)", tt.spec) + }) + } +} diff --git a/go.mod b/go.mod index 61e8a59f..b2761693 100644 --- a/go.mod +++ b/go.mod @@ -3,43 +3,47 @@ module go.uber.org/thriftrw go 1.20 require ( - github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 + github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be github.com/fatih/structtag v1.2.0 - github.com/go-git/go-git/v5 v5.4.2 + github.com/go-git/go-git/v5 v5.11.0 github.com/golang/mock v1.6.0 github.com/jessevdk/go-flags v1.5.0 - github.com/kr/pretty v0.2.1 - github.com/stretchr/testify v1.7.0 + github.com/kr/pretty v0.3.1 + github.com/stretchr/testify v1.8.4 go.uber.org/atomic v1.3.2 go.uber.org/multierr v1.1.0 go.uber.org/zap v1.9.1 golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f - golang.org/x/tools v0.4.1-0.20221208213631-3f74d914ae6d + golang.org/x/tools v0.13.0 honnef.co/go/tools v0.4.3 ) require ( + dario.cat/mergo v1.0.0 // indirect github.com/BurntSushi/toml v1.2.1 // indirect - github.com/Microsoft/go-winio v0.4.16 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect + github.com/cloudflare/circl v1.3.7 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emirpasic/gods v1.12.0 // indirect - github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.3.1 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/kr/text v0.2.0 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/sergi/go-diff v1.1.0 // indirect - github.com/xanzy/ssh-agent v0.3.0 // indirect - golang.org/x/crypto v0.1.0 // indirect + github.com/skeema/knownhosts v1.2.1 // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + golang.org/x/crypto v0.17.0 // indirect golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a // indirect - golang.org/x/mod v0.7.0 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/sys v0.15.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index efd98f09..1a77b578 100644 --- a/go.sum +++ b/go.sum @@ -1,149 +1,171 @@ +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= +github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= -github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= +github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= -github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ= +github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.uber.org/atomic v1.3.2 h1:2Oa65PReHzfn29GpvgsYwloV9AVFHPDk8tYxt2c2tr4= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.9.1 h1:XCJQEf3W6eZaVwhRBof6ImoYGJSITeKWsyeh3HFu/5o= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a h1:Jw5wfR+h9mnIYH+OtGT2im5wV1YGGDora5vTv/aa5bE= golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.4.1-0.20221208213631-3f74d914ae6d h1:9ZNWAi4CYhNv60mXGgAncgq7SGc5qa7C8VZV8Tg7Ggs= -golang.org/x/tools v0.4.1-0.20221208213631-3f74d914ae6d/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw= diff --git a/idl/config.go b/idl/config.go index bcfbdf80..2984d157 100644 --- a/idl/config.go +++ b/idl/config.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/error.go b/idl/error.go index e342c659..f428926f 100644 --- a/idl/error.go +++ b/idl/error.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/info.go b/idl/info.go index 2d30b17c..f11e4dbc 100644 --- a/idl/info.go +++ b/idl/info.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/docstring.go b/idl/internal/docstring.go index 45a66385..389b7235 100644 --- a/idl/internal/docstring.go +++ b/idl/internal/docstring.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/error.go b/idl/internal/error.go index 0c361952..6b1dc0b6 100644 --- a/idl/internal/error.go +++ b/idl/internal/error.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/field.go b/idl/internal/field.go index 047dc56e..54143a02 100644 --- a/idl/internal/field.go +++ b/idl/internal/field.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/lex.go b/idl/internal/lex.go index a5e12b26..1f969d47 100644 --- a/idl/internal/lex.go +++ b/idl/internal/lex.go @@ -1,6 +1,6 @@ // @generated Code generated by ragel -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/parser.go b/idl/internal/parser.go index 9a9bb159..2e57e4d9 100644 --- a/idl/internal/parser.go +++ b/idl/internal/parser.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/quote.go b/idl/internal/quote.go index 4f8bea0b..4f6a6a95 100644 --- a/idl/internal/quote.go +++ b/idl/internal/quote.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/internal/y.go b/idl/internal/y.go index 7ac6e7eb..4c018112 100644 --- a/idl/internal/y.go +++ b/idl/internal/y.go @@ -1,6 +1,6 @@ // Code generated by goyacc -l thrift.y. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/idl/parser.go b/idl/parser.go index af3c8c6f..21904fc8 100644 --- a/idl/parser.go +++ b/idl/parser.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/breaktest/repo.go b/internal/breaktest/repo.go index 20c0a0fe..655fa207 100644 --- a/internal/breaktest/repo.go +++ b/internal/breaktest/repo.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/compare/compare.go b/internal/compare/compare.go index daa4d90c..1c4b2804 100644 --- a/internal/compare/compare.go +++ b/internal/compare/compare.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/concurrent/range.go b/internal/concurrent/range.go index 9ef8aabe..4a6f7d4c 100644 --- a/internal/concurrent/range.go +++ b/internal/concurrent/range.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/curry/one.go b/internal/curry/one.go index 28804be4..fcfc1a80 100644 --- a/internal/curry/one.go +++ b/internal/curry/one.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/client.go b/internal/envelope/client.go index 6368f3bc..0cdf94d3 100644 --- a/internal/envelope/client.go +++ b/internal/envelope/client.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/envelopetest/client.go b/internal/envelope/envelopetest/client.go index 4fec73ce..01fe6228 100644 --- a/internal/envelope/envelopetest/client.go +++ b/internal/envelope/envelopetest/client.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/envelopetest/gen.go b/internal/envelope/envelopetest/gen.go index bdaca58b..3e3f8946 100644 --- a/internal/envelope/envelopetest/gen.go +++ b/internal/envelope/envelopetest/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/envelopetest/server.go b/internal/envelope/envelopetest/server.go index dc88a864..f3a60780 100644 --- a/internal/envelope/envelopetest/server.go +++ b/internal/envelope/envelopetest/server.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/exception/exception.go b/internal/envelope/exception/exception.go index a314621e..7e894d18 100644 --- a/internal/envelope/exception/exception.go +++ b/internal/envelope/exception/exception.go @@ -1,7 +1,7 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/gen.go b/internal/envelope/gen.go index 13945896..6cfdd5d4 100644 --- a/internal/envelope/gen.go +++ b/internal/envelope/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/envelope/server.go b/internal/envelope/server.go index ced4489f..9808ba63 100644 --- a/internal/envelope/server.go +++ b/internal/envelope/server.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/frame/client.go b/internal/frame/client.go index b967fad7..5f22d0ab 100644 --- a/internal/frame/client.go +++ b/internal/frame/client.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/frame/doc.go b/internal/frame/doc.go index 06bae0ab..fa2dfd81 100644 --- a/internal/frame/doc.go +++ b/internal/frame/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/frame/reader.go b/internal/frame/reader.go index df4f0965..e16bc904 100644 --- a/internal/frame/reader.go +++ b/internal/frame/reader.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/frame/server.go b/internal/frame/server.go index 5471c2b8..6e348055 100644 --- a/internal/frame/server.go +++ b/internal/frame/server.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/frame/writer.go b/internal/frame/writer.go index 37293566..1cd6cf0c 100644 --- a/internal/frame/writer.go +++ b/internal/frame/writer.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/git/git.go b/internal/git/git.go index 33094b84..adc9ca39 100644 --- a/internal/git/git.go +++ b/internal/git/git.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/goast/package.go b/internal/goast/package.go index 21d063e3..7c4235e4 100644 --- a/internal/goast/package.go +++ b/internal/goast/package.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/goast/reserved.go b/internal/goast/reserved.go index 4f83fdcc..86366b36 100644 --- a/internal/goast/reserved.go +++ b/internal/goast/reserved.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/iotest/chunk.go b/internal/iotest/chunk.go index ec2d623f..f1ded208 100644 --- a/internal/iotest/chunk.go +++ b/internal/iotest/chunk.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/multiplex/client.go b/internal/multiplex/client.go index 9ab5a3c5..cf797b53 100644 --- a/internal/multiplex/client.go +++ b/internal/multiplex/client.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/multiplex/handler.go b/internal/multiplex/handler.go index 5cb44989..987ca68b 100644 --- a/internal/multiplex/handler.go +++ b/internal/multiplex/handler.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/builtin/pluginapigen/handle.go b/internal/plugin/builtin/pluginapigen/handle.go index 7755e75a..a1ea08b0 100644 --- a/internal/plugin/builtin/pluginapigen/handle.go +++ b/internal/plugin/builtin/pluginapigen/handle.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/empty.go b/internal/plugin/empty.go index dad01025..2d2d9cae 100644 --- a/internal/plugin/empty.go +++ b/internal/plugin/empty.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/errors.go b/internal/plugin/errors.go index 18f15861..b8e3b0f1 100644 --- a/internal/plugin/errors.go +++ b/internal/plugin/errors.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/flag.go b/internal/plugin/flag.go index e448ea12..6b889aaa 100644 --- a/internal/plugin/flag.go +++ b/internal/plugin/flag.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/gen.go b/internal/plugin/gen.go index c5b46a3b..24f0c2d2 100644 --- a/internal/plugin/gen.go +++ b/internal/plugin/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/handle.go b/internal/plugin/handle.go index a89332df..fe079107 100644 --- a/internal/plugin/handle.go +++ b/internal/plugin/handle.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/handletest/mock.go b/internal/plugin/handletest/mock.go index 38cd29f4..7f342d3b 100644 --- a/internal/plugin/handletest/mock.go +++ b/internal/plugin/handletest/mock.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/multi.go b/internal/plugin/multi.go index 0a398a70..59ede4ec 100644 --- a/internal/plugin/multi.go +++ b/internal/plugin/multi.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/plugin/transport.go b/internal/plugin/transport.go index 919ca6f2..9ef4aae5 100644 --- a/internal/plugin/transport.go +++ b/internal/plugin/transport.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/process/client.go b/internal/process/client.go index e7d63398..0b35e83a 100644 --- a/internal/process/client.go +++ b/internal/process/client.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/semver/compat.go b/internal/semver/compat.go index 87ea9dc5..c161e2bf 100644 --- a/internal/semver/compat.go +++ b/internal/semver/compat.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/semver/range.go b/internal/semver/range.go index a74f150a..884437f8 100644 --- a/internal/semver/range.go +++ b/internal/semver/range.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/internal/semver/semver.go b/internal/semver/semver.go index daacb1c9..ac6aaf97 100644 --- a/internal/semver/semver.go +++ b/internal/semver/semver.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/main.go b/main.go index daf81988..388ce468 100644 --- a/main.go +++ b/main.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/api.go b/plugin/api/api.go index fbe4e1d9..f6011a3d 100644 --- a/plugin/api/api.go +++ b/plugin/api/api.go @@ -1,7 +1,7 @@ -// Code generated by thriftrw v1.31.0. DO NOT EDIT. +// Code generated by thriftrw v1.32.0. DO NOT EDIT. // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/plugin.go b/plugin/api/plugin.go index 24281ca5..0503fbd1 100644 --- a/plugin/api/plugin.go +++ b/plugin/api/plugin.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/plugin_client.go b/plugin/api/plugin_client.go index 7d45b979..07e5410b 100644 --- a/plugin/api/plugin_client.go +++ b/plugin/api/plugin_client.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/plugin_handler.go b/plugin/api/plugin_handler.go index db3b4772..88e02fe5 100644 --- a/plugin/api/plugin_handler.go +++ b/plugin/api/plugin_handler.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/servicegenerator.go b/plugin/api/servicegenerator.go index 82fd802a..8c15831a 100644 --- a/plugin/api/servicegenerator.go +++ b/plugin/api/servicegenerator.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/servicegenerator_client.go b/plugin/api/servicegenerator_client.go index 7217db49..fa460345 100644 --- a/plugin/api/servicegenerator_client.go +++ b/plugin/api/servicegenerator_client.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/api/servicegenerator_handler.go b/plugin/api/servicegenerator_handler.go index bbcca1c8..d7034e95 100644 --- a/plugin/api/servicegenerator_handler.go +++ b/plugin/api/servicegenerator_handler.go @@ -1,7 +1,7 @@ // Code generated by thriftrw --generate-plugin-api // @generated -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/doc.go b/plugin/doc.go index d17b8672..ead38a88 100644 --- a/plugin/doc.go +++ b/plugin/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/gen.go b/plugin/gen.go index 6237b74c..7114a8af 100644 --- a/plugin/gen.go +++ b/plugin/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/plugin.go b/plugin/plugin.go index cf27821c..03c13277 100644 --- a/plugin/plugin.go +++ b/plugin/plugin.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index 409f14f3..8088ff0f 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/plugin/template.go b/plugin/template.go index 80044cae..0f70c12f 100644 --- a/plugin/template.go +++ b/plugin/template.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary.go b/protocol/binary.go index 779f4979..0677a849 100644 --- a/protocol/binary.go +++ b/protocol/binary.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/common.go b/protocol/binary/common.go index 2dddb1f0..c1b82d1b 100644 --- a/protocol/binary/common.go +++ b/protocol/binary/common.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/doc.go b/protocol/binary/doc.go index fab13f5a..4ed72015 100644 --- a/protocol/binary/doc.go +++ b/protocol/binary/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/envelope.go b/protocol/binary/envelope.go index 74f64615..cb7ed488 100644 --- a/protocol/binary/envelope.go +++ b/protocol/binary/envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/error.go b/protocol/binary/error.go index 0fbc196a..d009bbf7 100644 --- a/protocol/binary/error.go +++ b/protocol/binary/error.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/lazy_list.go b/protocol/binary/lazy_list.go index 2b1351a5..058fa851 100644 --- a/protocol/binary/lazy_list.go +++ b/protocol/binary/lazy_list.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/protocol.go b/protocol/binary/protocol.go index f0c11bdf..9148fbff 100644 --- a/protocol/binary/protocol.go +++ b/protocol/binary/protocol.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/reader.go b/protocol/binary/reader.go index e7754021..877ff1c9 100644 --- a/protocol/binary/reader.go +++ b/protocol/binary/reader.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/responder.go b/protocol/binary/responder.go index 0be832d3..3df8b6a6 100644 --- a/protocol/binary/responder.go +++ b/protocol/binary/responder.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/stream_envelope.go b/protocol/binary/stream_envelope.go index be48946c..f0d17a06 100644 --- a/protocol/binary/stream_envelope.go +++ b/protocol/binary/stream_envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/stream_reader.go b/protocol/binary/stream_reader.go index f151cd54..03e597d2 100644 --- a/protocol/binary/stream_reader.go +++ b/protocol/binary/stream_reader.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/stream_writer.go b/protocol/binary/stream_writer.go index 3bc34e43..686d9e80 100644 --- a/protocol/binary/stream_writer.go +++ b/protocol/binary/stream_writer.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/string_post_go120.go b/protocol/binary/string_post_go120.go index 7b0bd866..a695afb2 100644 --- a/protocol/binary/string_post_go120.go +++ b/protocol/binary/string_post_go120.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/binary/writer.go b/protocol/binary/writer.go index f0470e7e..76d8a60a 100644 --- a/protocol/binary/writer.go +++ b/protocol/binary/writer.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/envelope/responder.go b/protocol/envelope/responder.go index 78c87cd8..3f94194a 100644 --- a/protocol/envelope/responder.go +++ b/protocol/envelope/responder.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/protocol.go b/protocol/protocol.go index 5cc380a5..11f4f15b 100644 --- a/protocol/protocol.go +++ b/protocol/protocol.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/stream/envelope.go b/protocol/stream/envelope.go index 8c196158..b7aee7c2 100644 --- a/protocol/stream/envelope.go +++ b/protocol/stream/envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/protocol/stream/stream.go b/protocol/stream/stream.go index 9d48632b..8ce616e5 100644 --- a/protocol/stream/stream.go +++ b/protocol/stream/stream.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/ptr/ptr.go b/ptr/ptr.go index d6fe82ff..29acfa77 100644 --- a/ptr/ptr.go +++ b/ptr/ptr.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/thriftreflect/thriftmodule.go b/thriftreflect/thriftmodule.go index 53579f62..6de8ed73 100644 --- a/thriftreflect/thriftmodule.go +++ b/thriftreflect/thriftmodule.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/thrifttest/gen.go b/thrifttest/gen.go index e7d0acbb..ba0d5d85 100644 --- a/thrifttest/gen.go +++ b/thrifttest/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/thrifttest/mock_protocol.go b/thrifttest/mock_protocol.go index 06afb44c..c47bced9 100644 --- a/thrifttest/mock_protocol.go +++ b/thrifttest/mock_protocol.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/thrifttest/streamtest/gen.go b/thrifttest/streamtest/gen.go index 601de052..fc96faec 100644 --- a/thrifttest/streamtest/gen.go +++ b/thrifttest/streamtest/gen.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/thrifttest/streamtest/mock_stream.go b/thrifttest/streamtest/mock_stream.go index 5986be49..64cba8af 100644 --- a/thrifttest/streamtest/mock_stream.go +++ b/thrifttest/streamtest/mock_stream.go @@ -1,6 +1,6 @@ // Code generated by MockGen. DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/version/no_check.go b/version/no_check.go index 6629a473..ca8b14ab 100644 --- a/version/no_check.go +++ b/version/no_check.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/version/version.go b/version/version.go index 80bc489a..d7130ddd 100644 --- a/version/version.go +++ b/version/version.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -21,4 +21,4 @@ package version // Version is the current ThriftRW version. -const Version = "1.31.0" +const Version = "1.32.0" diff --git a/wire/doc.go b/wire/doc.go index 966a7dbc..2d7b838a 100644 --- a/wire/doc.go +++ b/wire/doc.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/envelope.go b/wire/envelope.go index f9c52b4d..d0d8bc87 100644 --- a/wire/envelope.go +++ b/wire/envelope.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/evaluate.go b/wire/evaluate.go index 47dbb3be..aa5cc620 100644 --- a/wire/evaluate.go +++ b/wire/evaluate.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/lazy_list.go b/wire/lazy_list.go index 2dff8d8d..564d83eb 100644 --- a/wire/lazy_list.go +++ b/wire/lazy_list.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/type.go b/wire/type.go index 9dd6e63b..5b4c0624 100644 --- a/wire/type.go +++ b/wire/type.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/type_string.go b/wire/type_string.go index a18420c9..cbe7865b 100644 --- a/wire/type_string.go +++ b/wire/type_string.go @@ -1,6 +1,6 @@ // Code generated by "stringer -type=Type"; DO NOT EDIT. -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/unsafe.go b/wire/unsafe.go index 2c2255ab..93f03fca 100644 --- a/wire/unsafe.go +++ b/wire/unsafe.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/value.go b/wire/value.go index 5f4a5ae5..a21c47ca 100644 --- a/wire/value.go +++ b/wire/value.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/wire/value_equals.go b/wire/value_equals.go index 550c0376..3a5d8470 100644 --- a/wire/value_equals.go +++ b/wire/value_equals.go @@ -1,4 +1,4 @@ -// Copyright (c) 2023 Uber Technologies, Inc. +// Copyright (c) 2024 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal