mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
vendor: run make vendor-update
This commit is contained in:
parent
3e93fa61ad
commit
b7fb7c5f77
514 changed files with 4385 additions and 1649 deletions
76
go.mod
76
go.mod
|
@ -6,8 +6,8 @@ go 1.20
|
||||||
replace golang.org/x/exp => golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1
|
replace golang.org/x/exp => golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go/storage v1.34.1
|
cloud.google.com/go/storage v1.35.1
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0
|
||||||
github.com/VictoriaMetrics/fastcache v1.12.1
|
github.com/VictoriaMetrics/fastcache v1.12.1
|
||||||
|
|
||||||
|
@ -16,10 +16,10 @@ require (
|
||||||
github.com/VictoriaMetrics/fasthttp v1.2.0
|
github.com/VictoriaMetrics/fasthttp v1.2.0
|
||||||
github.com/VictoriaMetrics/metrics v1.24.0
|
github.com/VictoriaMetrics/metrics v1.24.0
|
||||||
github.com/VictoriaMetrics/metricsql v0.69.0
|
github.com/VictoriaMetrics/metricsql v0.69.0
|
||||||
github.com/aws/aws-sdk-go-v2 v1.22.1
|
github.com/aws/aws-sdk-go-v2 v1.22.2
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.22.0
|
github.com/aws/aws-sdk-go-v2/config v1.23.0
|
||||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.1
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.5
|
||||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.1
|
||||||
github.com/bmatcuk/doublestar/v4 v4.6.1
|
github.com/bmatcuk/doublestar/v4 v4.6.1
|
||||||
github.com/cespare/xxhash/v2 v2.2.0
|
github.com/cespare/xxhash/v2 v2.2.0
|
||||||
github.com/cheggaaa/pb/v3 v3.1.4
|
github.com/cheggaaa/pb/v3 v3.1.4
|
||||||
|
@ -36,10 +36,10 @@ require (
|
||||||
github.com/valyala/gozstd v1.20.1
|
github.com/valyala/gozstd v1.20.1
|
||||||
github.com/valyala/histogram v1.2.0
|
github.com/valyala/histogram v1.2.0
|
||||||
github.com/valyala/quicktemplate v1.7.0
|
github.com/valyala/quicktemplate v1.7.0
|
||||||
golang.org/x/net v0.17.0
|
golang.org/x/net v0.18.0
|
||||||
golang.org/x/oauth2 v0.13.0
|
golang.org/x/oauth2 v0.14.0
|
||||||
golang.org/x/sys v0.13.0
|
golang.org/x/sys v0.14.0
|
||||||
google.golang.org/api v0.149.0
|
google.golang.org/api v0.150.0
|
||||||
gopkg.in/yaml.v2 v2.4.0
|
gopkg.in/yaml.v2 v2.4.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -53,33 +53,33 @@ require (
|
||||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
|
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
|
||||||
github.com/VividCortex/ewma v1.2.0 // indirect
|
github.com/VividCortex/ewma v1.2.0 // indirect
|
||||||
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
|
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
|
||||||
github.com/aws/aws-sdk-go v1.47.2 // indirect
|
github.com/aws/aws-sdk-go v1.47.9 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 // indirect
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.15.1 // indirect
|
github.com/aws/aws-sdk-go-v2/credentials v1.15.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2 // indirect
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.3 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.5.0 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.6.0 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.17.0 // indirect
|
github.com/aws/aws-sdk-go-v2/service/sso v1.17.1 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0 // indirect
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.1 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 // indirect
|
github.com/aws/aws-sdk-go-v2/service/sts v1.25.1 // indirect
|
||||||
github.com/aws/smithy-go v1.16.0 // indirect
|
github.com/aws/smithy-go v1.16.0 // indirect
|
||||||
github.com/beorn7/perks v1.0.1 // indirect
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/dennwc/varint v1.0.0 // indirect
|
github.com/dennwc/varint v1.0.0 // indirect
|
||||||
github.com/fatih/color v1.15.0 // indirect
|
github.com/fatih/color v1.16.0 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||||
github.com/go-kit/log v0.2.1 // indirect
|
github.com/go-kit/log v0.2.1 // indirect
|
||||||
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
||||||
github.com/go-logr/logr v1.3.0 // indirect
|
github.com/go-logr/logr v1.3.0 // indirect
|
||||||
github.com/go-logr/stdr v1.2.2 // indirect
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
|
github.com/golang-jwt/jwt/v5 v5.1.0 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
github.com/google/s2a-go v0.1.7 // indirect
|
github.com/google/s2a-go v0.1.7 // indirect
|
||||||
|
@ -114,23 +114,23 @@ require (
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.24.0 // indirect
|
||||||
go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 // indirect
|
go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 // indirect
|
||||||
go.opentelemetry.io/collector/semconv v0.88.0 // indirect
|
go.opentelemetry.io/collector/semconv v0.88.0 // indirect
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.0 // indirect
|
||||||
go.opentelemetry.io/otel v1.19.0 // indirect
|
go.opentelemetry.io/otel v1.20.0 // indirect
|
||||||
go.opentelemetry.io/otel/metric v1.19.0 // indirect
|
go.opentelemetry.io/otel/metric v1.20.0 // indirect
|
||||||
go.opentelemetry.io/otel/trace v1.19.0 // indirect
|
go.opentelemetry.io/otel/trace v1.20.0 // indirect
|
||||||
go.uber.org/atomic v1.11.0 // indirect
|
go.uber.org/atomic v1.11.0 // indirect
|
||||||
go.uber.org/goleak v1.3.0 // indirect
|
go.uber.org/goleak v1.3.0 // indirect
|
||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
golang.org/x/crypto v0.14.0 // indirect
|
golang.org/x/crypto v0.15.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
|
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
||||||
golang.org/x/sync v0.4.0 // indirect
|
golang.org/x/sync v0.5.0 // indirect
|
||||||
golang.org/x/text v0.13.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/time v0.3.0 // indirect
|
golang.org/x/time v0.4.0 // indirect
|
||||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
google.golang.org/appengine v1.6.8 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 // indirect
|
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
|
||||||
google.golang.org/grpc v1.59.0 // indirect
|
google.golang.org/grpc v1.59.0 // indirect
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
google.golang.org/protobuf v1.31.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|
150
go.sum
150
go.sum
|
@ -38,11 +38,11 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
|
||||||
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
|
||||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||||
cloud.google.com/go/storage v1.34.1 h1:H2Af2dU5J0PF7A5B+ECFIce+RqxVnrVilO+cu0TS3MI=
|
cloud.google.com/go/storage v1.35.1 h1:B59ahL//eDfx2IIKFBeT5Atm9wnNmj3+8xG/W4WB//w=
|
||||||
cloud.google.com/go/storage v1.34.1/go.mod h1:VN1ElqqvR9adg1k9xlkUJ55cMOP1/QjnNNuT5xQL6dY=
|
cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8=
|
||||||
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw=
|
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0 h1:9kDVnTz3vbfweTqAUmk/a/pH5pWFCHtvRpHYC0G/dcA=
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.8.0/go.mod h1:3Ug6Qzto9anB6mGlEdgYMDF5zHQ+wwhEaYR4s17PHMw=
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI=
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZMmXGkOcvfFtD0oHVZ1TIPRI=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs=
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs=
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs=
|
||||||
|
@ -85,44 +85,44 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu
|
||||||
github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
|
github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
|
||||||
github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
|
github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
|
||||||
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
|
||||||
github.com/aws/aws-sdk-go v1.47.2 h1:KEdO2PbjfEBmHvnEwbYEpr65ZIkmwK5aB85Gj19ASuA=
|
github.com/aws/aws-sdk-go v1.47.9 h1:rarTsos0mA16q+huicGx0e560aYRtOucV5z2Mw23JRY=
|
||||||
github.com/aws/aws-sdk-go v1.47.2/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
|
github.com/aws/aws-sdk-go v1.47.9/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.22.1 h1:sjnni/AuoTXxHitsIdT0FwmqUuNUuHtufcVDErVFT9U=
|
github.com/aws/aws-sdk-go-v2 v1.22.2 h1:lV0U8fnhAnPz8YcdmZVV60+tr6CakHzqA6P8T46ExJI=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.22.1/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c=
|
github.com/aws/aws-sdk-go-v2 v1.22.2/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c=
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 h1:hHgLiIrTRtddC0AKcJr5s7i/hLgcpTt+q/FKxf1Zayk=
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 h1:hHgLiIrTRtddC0AKcJr5s7i/hLgcpTt+q/FKxf1Zayk=
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0/go.mod h1:w4I/v3NOWgD+qvs1NPEwhd++1h3XPHFaVxasfY6HlYQ=
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0/go.mod h1:w4I/v3NOWgD+qvs1NPEwhd++1h3XPHFaVxasfY6HlYQ=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.22.0 h1:9Mm99OalzZRz0ab5fpodMoHBApHS6pqRNp3M9NmzvDg=
|
github.com/aws/aws-sdk-go-v2/config v1.23.0 h1:kqzEfGGDIrRJpfJckgwuZfFTbU9NB1jZnRcaO9MpOqE=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.22.0/go.mod h1:2eWgw5lps8fKI7LZVTrRTYP6HE6k/uEFUuTSHfXwqP0=
|
github.com/aws/aws-sdk-go-v2/config v1.23.0/go.mod h1:p7wbxKXXjS1GGQOss7VXOazVMFF9bjUGq85/4wR/fSw=
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.15.1 h1:hmf6lAm9hk7uLCfapZn/jL05lm6Uwdbn1B0fgjyuf4M=
|
github.com/aws/aws-sdk-go-v2/credentials v1.15.2 h1:rKH7khRMxPdD0u3dHecd0Q7NOVw3EUe7AqdkUOkiOGI=
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.15.1/go.mod h1:QTcHga3ZbQOneJuxmGBOCxiClxmp+TlvmjFexAnJ790=
|
github.com/aws/aws-sdk-go-v2/credentials v1.15.2/go.mod h1:tXM8wmaeAhfC7nZoCxb0FzM/aRaB1m1WQ7x0qlBLq80=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2 h1:gIeH4+o1MN/caGBWjoGQTUTIu94xD6fI5B2+TcwBf70=
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.3 h1:G5KawTAkyHH6WyKQCdHiW4h3PmAXNJpOgwKg3H7sDRE=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2/go.mod h1:wLyMIo/zPOhQhPXTddpfdkSleyigtFi8iMnC+2m/SK4=
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.3/go.mod h1:hugKmSFnZB+HgNI1sYGT14BUPZkO6alC/e0AWu+0IAQ=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.1 h1:ULswbgGNVrW8zEhkCNwrwXrs1mUvy2JTqWaCRsD2ZZw=
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.5 h1:P/xwilRdRLLg1PzfviDq0Zjb74weOoDCrh8J5lRCQAY=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.1/go.mod h1:pAXgsDPk1rRwwfkz8/9ISO75vXEHqTGIgbLhGqqQ1GY=
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.13.5/go.mod h1:9cLHf2IwX6Jyw0KjLVbXly/g6DmzExgUzB1w/AQPGQE=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 h1:fi1ga6WysOyYb5PAf3Exd6B5GiSNpnZim4h1rhlBqx0=
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.2 h1:AaQsr5vvGR7rmeSWBtTCcw16tT9r51mWijuCQhzLnq8=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1/go.mod h1:V5CY8wNurvPUibTi9mwqUqpiFZ5LnioKWIFUDtIzdI8=
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.2/go.mod h1:o1IiRn7CWocIFTXJjGKJDOwxv1ibL53NpcvcqGWyRBA=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 h1:ZpaV/j48RlPc4AmOZuPv22pJliXjXq8/reL63YzyFnw=
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.2 h1:UZx8SXZ0YtzRiALzYAWcjb9Y9hZUR7MBKaBQ5ouOjPs=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1/go.mod h1:R8aXraabD2e3qv1csxM14/X9WF4wFMIY0kH4YEtYD5M=
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.2/go.mod h1:ipuRpcSaklmxR6C39G187TpBAO132gUfleTGccUPs8c=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.5.0 h1:DqOQvIfmGkXZUVJnl9VRk0AnxyS59tCtX9k1Pyss4Ak=
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.6.0 h1:hwZB07/beLiCopuRKF0t+dEHmP39iN4YtDh3X5d3hrg=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.5.0/go.mod h1:VV/Kbw9Mg1GWJOT9WK+oTL3cWZiXtapnNvDSRqTZLsg=
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.6.0/go.mod h1:rdAuXeHWhI/zkpYcO5n8WCpaIgY9MUxFyBsuqq3kjyA=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1 h1:vzYLDkwTw4CY0vUk84MeSufRf8XIsC/GsoIFXD60sTg=
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.2 h1:pyVrNAf7Hwz0u39dLKN5t+n0+K/3rMYKuiOoIum3AsU=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1/go.mod h1:ToBFBnjeGR2ruMx8IWp/y7vSK3Irj5/oPwifruiqoOM=
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.2/go.mod h1:mydrfOb9uiOYCxuCPR8YHQNQyGQwUQ7gPMZGBKbH8NY=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 h1:CJxo7ZBbaIzmXfV3hjcx36n9V87gJsIUPJflwqEHl3Q=
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 h1:CJxo7ZBbaIzmXfV3hjcx36n9V87gJsIUPJflwqEHl3Q=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0/go.mod h1:yjVfjuY4nD1EW9i387Kau+I6V5cBA5YnC/mWNopjZrI=
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0/go.mod h1:yjVfjuY4nD1EW9i387Kau+I6V5cBA5YnC/mWNopjZrI=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1 h1:15FUCJzAP9Y25nioTqTrGlZmhOtthaXBWlt4pS+d3Xo=
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.2 h1:f2LhPofnjcdOQKRtumKjMvIHkfSQ8aH/rwKUDEQ/SB4=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1/go.mod h1:5655NW53Un6l7JzkI6AA3rZvf0m532cSnLThA1fVXcA=
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.2/go.mod h1:q+xX0H4OfuWDuBy7y/LDi4v8IBOWuF+vtp8Z6ex+lw4=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 h1:2OXw3ppu1XsB6rqKEMV4tnecTjIY3PRV2U6IP6KPJQo=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.2 h1:h7j73yuAVVjic8pqswh+L/7r2IHP43QwRyOu6zcCDDE=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1/go.mod h1:FZB4AdakIqW/yERVdGJA6Z9jraax1beXfhBBnK2wwR8=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.2/go.mod h1:H07AHdK5LSy8F7EJUQhoxyiCNkePoHj2D8P2yGTWafo=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1 h1:dnl0klXYX9EKpzZbWlH5LJL+YTcEZcJEMPFFr/rAHUQ=
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.2 h1:gbIaOzpXixUpoPK+js/bCBK1QBDXM22SigsnzGZio0U=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1/go.mod h1:Mfk/9Joso4tCQYzM4q4HRUIqwln8lnIIMB/OE8Zebdc=
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.2/go.mod h1:p+S7RNbdGN8qgHDSg2SCQJ9FeMAmvcETQiVpeGhYnNM=
|
||||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0 h1:u0YoSrxjr3Lm+IqIlRAV+4YTFwkXjyB9db9CfUFge2w=
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.1 h1:o6MCcX1rJW8Y3g+hvg2xpjF6JR6DftuYhfl3Nc1WV9Q=
|
||||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0/go.mod h1:98EIdRu+BNsdqITsXfy+57TZfwlUQC9aDn9a9qoo90U=
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.42.1/go.mod h1:UDtxEWbREX6y4KREapT+jjtjoH0TiVSS6f5nfaY1UaM=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.17.0 h1:I/Oh3IxGPfHXiGnwM54TD6hNr/8TlUrBXAtTyGhR+zw=
|
github.com/aws/aws-sdk-go-v2/service/sso v1.17.1 h1:km+ZNjtLtpXYf42RdaDZnNHm9s7SYAuDGTafy6nd89A=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.17.0/go.mod h1:H6NCMvDBqA+CvIaXzaSqM6LWtzv9BzZrqBOqz+PzRF8=
|
github.com/aws/aws-sdk-go-v2/service/sso v1.17.1/go.mod h1:aHBr3pvBSD5MbzOvQtYutyPLLRPbl/y9x86XyJJnUXQ=
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0 h1:irbXQkfVYIRaewYSXcu4yVk0m2T+JzZd0dkop7FjmO0=
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.1 h1:iRFNqZH4a67IqPvK8xxtyQYnyrlsvwmpHOe9r55ggBA=
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0/go.mod h1:4wPNCkM22+oRe71oydP66K50ojDUC33XutSMi2pEF/M=
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.1/go.mod h1:pTy5WM+6sNv2tB24JNKFtn6EvciQ5k40ZJ0pq/Iaxj0=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 h1:sYIFy8tm1xQwRvVQ4CRuBGXKIg9sHNuG6+3UAQuoujk=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.25.1 h1:txgVXIXWPXyqdiVn92BV6a/rgtpX31HYdsOYj0sVQQQ=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.25.0/go.mod h1:S/LOQUeYDfJeJpFCIJDMjy7dwL4aA33HUdVi+i7uH8k=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.25.1/go.mod h1:VAiJiNaoP1L89STFlEMgmHX1bKixY+FaP+TpRFrmyZ4=
|
||||||
github.com/aws/smithy-go v1.16.0 h1:gJZEH/Fqh+RsvlJ1Zt4tVAtV6bKkp3cC+R6FCZMNzik=
|
github.com/aws/smithy-go v1.16.0 h1:gJZEH/Fqh+RsvlJ1Zt4tVAtV6bKkp3cC+R6FCZMNzik=
|
||||||
github.com/aws/smithy-go v1.16.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
|
github.com/aws/smithy-go v1.16.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
|
||||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
|
@ -165,10 +165,10 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
|
||||||
github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM=
|
github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1MyGqJ2DIk5HpM=
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||||
github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA=
|
github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA=
|
||||||
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
|
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||||
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
|
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||||
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
|
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||||
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||||
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||||
|
@ -196,8 +196,8 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
|
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
|
||||||
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
|
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
github.com/golang-jwt/jwt/v5 v5.1.0 h1:UGKbA/IPjtS6zLcdB7i5TyACMgSbOTiR8qzXgw8HWQU=
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
github.com/golang-jwt/jwt/v5 v5.1.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
|
@ -461,14 +461,14 @@ go.opentelemetry.io/collector/pdata v1.0.0-rcv0017 h1:AgALhc2VenoA5l1DvTdg7mkzaB
|
||||||
go.opentelemetry.io/collector/pdata v1.0.0-rcv0017/go.mod h1:Rv9fOclA5AtM/JGm0d4jBOIAo1+jBA13UT5Bx0ovXi4=
|
go.opentelemetry.io/collector/pdata v1.0.0-rcv0017/go.mod h1:Rv9fOclA5AtM/JGm0d4jBOIAo1+jBA13UT5Bx0ovXi4=
|
||||||
go.opentelemetry.io/collector/semconv v0.88.0 h1:8TVP4hYaUC87S6CCLKNoSxsUE0ChldE4vqotvNHHUnE=
|
go.opentelemetry.io/collector/semconv v0.88.0 h1:8TVP4hYaUC87S6CCLKNoSxsUE0ChldE4vqotvNHHUnE=
|
||||||
go.opentelemetry.io/collector/semconv v0.88.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw=
|
go.opentelemetry.io/collector/semconv v0.88.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw=
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg=
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.0 h1:1eHu3/pUSWaOgltNK3WJFaywKsTIr/PwvHyDmi0lQA0=
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q=
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.0/go.mod h1:HyABWq60Uy1kjJSa2BVOxUVao8Cdick5AWSKPutqy6U=
|
||||||
go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
|
go.opentelemetry.io/otel v1.20.0 h1:vsb/ggIY+hUjD/zCAQHpzTmndPqv/ml2ArbsbfBYTAc=
|
||||||
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
|
go.opentelemetry.io/otel v1.20.0/go.mod h1:oUIGj3D77RwJdM6PPZImDpSZGDvkD9fhesHny69JFrs=
|
||||||
go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
|
go.opentelemetry.io/otel/metric v1.20.0 h1:ZlrO8Hu9+GAhnepmRGhSU7/VkpjrNowxRN9GyKR4wzA=
|
||||||
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
|
go.opentelemetry.io/otel/metric v1.20.0/go.mod h1:90DRw3nfK4D7Sm/75yQ00gTJxtkBxX+wu6YaNymbpVM=
|
||||||
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
|
go.opentelemetry.io/otel/trace v1.20.0 h1:+yxVAPZPbQhbC3OfAkeIVTky6iTFpcr4SiY9om7mXSQ=
|
||||||
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
|
go.opentelemetry.io/otel/trace v1.20.0/go.mod h1:HJSK7F/hA5RlzpZ0zKDCHCDHm556LCDtKaAo6JmBFUU=
|
||||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||||
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||||
|
@ -484,8 +484,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
|
||||||
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
|
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
|
||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
|
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
|
||||||
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
|
golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
|
||||||
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
|
||||||
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw=
|
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw=
|
||||||
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
|
@ -541,16 +541,16 @@ golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qx
|
||||||
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
|
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
|
||||||
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
|
golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg=
|
||||||
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||||
golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY=
|
golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0=
|
||||||
golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
|
golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
@ -562,8 +562,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
||||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@ -609,12 +609,12 @@ 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.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
|
||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.14.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.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
@ -624,13 +624,13 @@ 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.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
||||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY=
|
||||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||||
|
@ -694,8 +694,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
|
||||||
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
||||||
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
|
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
|
||||||
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
||||||
google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY=
|
google.golang.org/api v0.150.0 h1:Z9k22qD289SZ8gCJrk4DrWXkNjtfvKAUo/l1ma8eBYE=
|
||||||
google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI=
|
google.golang.org/api v0.150.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
|
@ -733,12 +733,12 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
|
||||||
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405 h1:I6WNifs6pF9tNdSob2W24JtyxIYjzFB9qDlpUC76q+U=
|
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ=
|
||||||
google.golang.org/genproto v0.0.0-20231030173426-d783a09b4405/go.mod h1:3WDQMjmJk36UQhjQ89emUzb1mdaHcPeeAh4SCBKznB4=
|
google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 h1:HJMDndgxest5n2y77fnErkM62iUsptE/H8p0dC2Huo4=
|
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405/go.mod h1:oT32Z4o8Zv2xPQTg0pbVaPr0MPOH6f14RgXt7zfIpwg=
|
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||||
|
|
14
vendor/cloud.google.com/go/storage/CHANGES.md
generated
vendored
14
vendor/cloud.google.com/go/storage/CHANGES.md
generated
vendored
|
@ -1,6 +1,20 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
|
||||||
|
## [1.35.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.35.0...storage/v1.35.1) (2023-11-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **storage:** Rename aux.go to auxiliary.go fixing windows build ([ba23673](https://github.com/googleapis/google-cloud-go/commit/ba23673da7707c31292e4aa29d65b7ac1446d4a6))
|
||||||
|
|
||||||
|
## [1.35.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.34.1...storage/v1.35.0) (2023-11-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **storage:** Change gRPC writes to use bi-directional streams ([#8930](https://github.com/googleapis/google-cloud-go/issues/8930)) ([3e23a36](https://github.com/googleapis/google-cloud-go/commit/3e23a364b1a20c4fda7aef257e4136586ec769a4))
|
||||||
|
|
||||||
## [1.34.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.34.0...storage/v1.34.1) (2023-11-01)
|
## [1.34.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.34.0...storage/v1.34.1) (2023-11-01)
|
||||||
|
|
||||||
|
|
||||||
|
|
217
vendor/cloud.google.com/go/storage/grpc_client.go
generated
vendored
217
vendor/cloud.google.com/go/storage/grpc_client.go
generated
vendored
|
@ -1066,7 +1066,7 @@ func (c *grpcStorageClient) OpenWriter(params *openWriterParams, opts ...storage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
o, off, finalized, err := gw.uploadBuffer(recvd, offset, doneReading)
|
o, off, err := gw.uploadBuffer(recvd, offset, doneReading)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = checkCanceled(err)
|
err = checkCanceled(err)
|
||||||
errorf(err)
|
errorf(err)
|
||||||
|
@ -1085,9 +1085,9 @@ func (c *grpcStorageClient) OpenWriter(params *openWriterParams, opts ...storage
|
||||||
progress(offset)
|
progress(offset)
|
||||||
}
|
}
|
||||||
|
|
||||||
// When we are done reading data and the chunk has been finalized,
|
// When we are done reading data without errors, set the object and
|
||||||
// we are done.
|
// finish.
|
||||||
if doneReading && finalized {
|
if doneReading {
|
||||||
// Build Object from server's response.
|
// Build Object from server's response.
|
||||||
setObj(newObjectFromProto(o))
|
setObj(newObjectFromProto(o))
|
||||||
return
|
return
|
||||||
|
@ -1537,7 +1537,7 @@ type gRPCWriter struct {
|
||||||
chunkSize int
|
chunkSize int
|
||||||
|
|
||||||
// The gRPC client-stream used for sending buffers.
|
// The gRPC client-stream used for sending buffers.
|
||||||
stream storagepb.Storage_WriteObjectClient
|
stream storagepb.Storage_BidiWriteObjectClient
|
||||||
|
|
||||||
// The Resumable Upload ID started by a gRPC-based Writer.
|
// The Resumable Upload ID started by a gRPC-based Writer.
|
||||||
upid string
|
upid string
|
||||||
|
@ -1581,45 +1581,56 @@ func (w *gRPCWriter) queryProgress() (int64, error) {
|
||||||
return persistedSize, err
|
return persistedSize, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// uploadBuffer opens a Write stream and uploads the buffer at the given offset (if
|
// uploadBuffer uploads the buffer at the given offset using a bi-directional
|
||||||
// uploading a chunk for a resumable uploadBuffer), and will mark the write as
|
// Write stream. It will open a new stream if necessary (on the first call or
|
||||||
// finished if we are done receiving data from the user. The resulting write
|
// after resuming from failure). The resulting write offset after uploading the
|
||||||
// offset after uploading the buffer is returned, as well as a boolean
|
// buffer is returned, as well as well as the final Object if the upload is
|
||||||
// indicating if the Object has been finalized. If it has been finalized, the
|
// completed.
|
||||||
// final Object will be returned as well. Finalizing the upload is primarily
|
//
|
||||||
// important for Resumable Uploads. A simple or multi-part upload will always
|
// Returns object, persisted size, and any error that is not retriable.
|
||||||
// be finalized once the entire buffer has been written.
|
func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*storagepb.Object, int64, error) {
|
||||||
func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*storagepb.Object, int64, bool, error) {
|
|
||||||
var err error
|
|
||||||
var finishWrite bool
|
|
||||||
var sent, limit int = 0, maxPerMessageWriteSize
|
|
||||||
var shouldRetry = ShouldRetry
|
var shouldRetry = ShouldRetry
|
||||||
if w.settings.retry != nil && w.settings.retry.shouldRetry != nil {
|
if w.settings.retry != nil && w.settings.retry.shouldRetry != nil {
|
||||||
shouldRetry = w.settings.retry.shouldRetry
|
shouldRetry = w.settings.retry.shouldRetry
|
||||||
}
|
}
|
||||||
offset := start
|
|
||||||
|
var err error
|
||||||
|
var lastWriteOfEntireObject bool
|
||||||
|
|
||||||
|
sent := 0
|
||||||
|
writeOffset := start
|
||||||
|
|
||||||
toWrite := w.buf[:recvd]
|
toWrite := w.buf[:recvd]
|
||||||
|
|
||||||
|
// Send a request with as many bytes as possible.
|
||||||
|
// Loop until all bytes are sent.
|
||||||
for {
|
for {
|
||||||
// This indicates that this is the last message and the remaining
|
bytesNotYetSent := recvd - sent
|
||||||
// data fits in one message.
|
remainingDataFitsInSingleReq := bytesNotYetSent <= maxPerMessageWriteSize
|
||||||
belowLimit := recvd-sent <= limit
|
|
||||||
if belowLimit {
|
if remainingDataFitsInSingleReq && doneReading {
|
||||||
limit = recvd - sent
|
lastWriteOfEntireObject = true
|
||||||
}
|
}
|
||||||
if belowLimit && doneReading {
|
|
||||||
finishWrite = true
|
// Send the maximum amount of bytes we can, unless we don't have that many.
|
||||||
|
bytesToSendInCurrReq := maxPerMessageWriteSize
|
||||||
|
if remainingDataFitsInSingleReq {
|
||||||
|
bytesToSendInCurrReq = bytesNotYetSent
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare chunk section for upload.
|
// Prepare chunk section for upload.
|
||||||
data := toWrite[sent : sent+limit]
|
data := toWrite[sent : sent+bytesToSendInCurrReq]
|
||||||
req := &storagepb.WriteObjectRequest{
|
|
||||||
Data: &storagepb.WriteObjectRequest_ChecksummedData{
|
req := &storagepb.BidiWriteObjectRequest{
|
||||||
|
Data: &storagepb.BidiWriteObjectRequest_ChecksummedData{
|
||||||
ChecksummedData: &storagepb.ChecksummedData{
|
ChecksummedData: &storagepb.ChecksummedData{
|
||||||
Content: data,
|
Content: data,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
WriteOffset: offset,
|
WriteOffset: writeOffset,
|
||||||
FinishWrite: finishWrite,
|
FinishWrite: lastWriteOfEntireObject,
|
||||||
|
Flush: remainingDataFitsInSingleReq,
|
||||||
|
StateLookup: remainingDataFitsInSingleReq,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open a new stream if necessary and set the first_message field on
|
// Open a new stream if necessary and set the first_message field on
|
||||||
|
@ -1628,19 +1639,20 @@ func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*st
|
||||||
if w.stream == nil {
|
if w.stream == nil {
|
||||||
hds := []string{"x-goog-request-params", fmt.Sprintf("bucket=projects/_/buckets/%s", url.QueryEscape(w.bucket))}
|
hds := []string{"x-goog-request-params", fmt.Sprintf("bucket=projects/_/buckets/%s", url.QueryEscape(w.bucket))}
|
||||||
ctx := gax.InsertMetadataIntoOutgoingContext(w.ctx, hds...)
|
ctx := gax.InsertMetadataIntoOutgoingContext(w.ctx, hds...)
|
||||||
w.stream, err = w.c.raw.WriteObject(ctx)
|
|
||||||
|
w.stream, err = w.c.raw.BidiWriteObject(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, false, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if w.upid != "" {
|
if w.upid != "" { // resumable upload
|
||||||
req.FirstMessage = &storagepb.WriteObjectRequest_UploadId{UploadId: w.upid}
|
req.FirstMessage = &storagepb.BidiWriteObjectRequest_UploadId{UploadId: w.upid}
|
||||||
} else {
|
} else { // non-resumable
|
||||||
spec, err := w.writeObjectSpec()
|
spec, err := w.writeObjectSpec()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, false, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
req.FirstMessage = &storagepb.WriteObjectRequest_WriteObjectSpec{
|
req.FirstMessage = &storagepb.BidiWriteObjectRequest_WriteObjectSpec{
|
||||||
WriteObjectSpec: spec,
|
WriteObjectSpec: spec,
|
||||||
}
|
}
|
||||||
req.CommonObjectRequestParams = toProtoCommonObjectRequestParams(w.encryptionKey)
|
req.CommonObjectRequestParams = toProtoCommonObjectRequestParams(w.encryptionKey)
|
||||||
|
@ -1650,15 +1662,24 @@ func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*st
|
||||||
// on the *last* message of the stream (instead of the first).
|
// on the *last* message of the stream (instead of the first).
|
||||||
req.ObjectChecksums = toProtoChecksums(w.sendCRC32C, w.attrs)
|
req.ObjectChecksums = toProtoChecksums(w.sendCRC32C, w.attrs)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
err = w.stream.Send(req)
|
err = w.stream.Send(req)
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
// err was io.EOF. The client-side of a stream only gets an EOF on Send
|
// err was io.EOF. The client-side of a stream only gets an EOF on Send
|
||||||
// when the backend closes the stream and wants to return an error
|
// when the backend closes the stream and wants to return an error
|
||||||
// status. Closing the stream receives the status as an error.
|
// status.
|
||||||
_, err = w.stream.CloseAndRecv()
|
|
||||||
|
// Receive from the stream Recv() until it returns a non-nil error
|
||||||
|
// to receive the server's status as an error. We may get multiple
|
||||||
|
// messages before the error due to buffering.
|
||||||
|
err = nil
|
||||||
|
for err == nil {
|
||||||
|
_, err = w.stream.Recv()
|
||||||
|
}
|
||||||
|
// Drop the stream reference as a new one will need to be created if
|
||||||
|
// we retry.
|
||||||
|
w.stream = nil
|
||||||
|
|
||||||
// Drop the stream reference as a new one will need to be created if
|
// Drop the stream reference as a new one will need to be created if
|
||||||
// we can retry the upload
|
// we can retry the upload
|
||||||
|
@ -1666,26 +1687,28 @@ func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*st
|
||||||
|
|
||||||
// Retriable errors mean we should start over and attempt to
|
// Retriable errors mean we should start over and attempt to
|
||||||
// resend the entire buffer via a new stream.
|
// resend the entire buffer via a new stream.
|
||||||
// If not retriable, falling through will return the error received
|
// If not retriable, falling through will return the error received.
|
||||||
// from closing the stream.
|
|
||||||
if shouldRetry(err) {
|
if shouldRetry(err) {
|
||||||
sent = 0
|
|
||||||
finishWrite = false
|
|
||||||
// TODO: Add test case for failure modes of querying progress.
|
// TODO: Add test case for failure modes of querying progress.
|
||||||
offset, err = w.determineOffset(start)
|
writeOffset, err = w.determineOffset(start)
|
||||||
if err == nil {
|
if err != nil {
|
||||||
continue
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
sent = int(writeOffset) - int(start)
|
||||||
|
|
||||||
|
// Continue sending requests, opening a new stream and resending
|
||||||
|
// any bytes not yet persisted as per QueryWriteStatus
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, false, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the immediate stream's sent total and the upload offset with
|
// Update the immediate stream's sent total and the upload offset with
|
||||||
// the data sent.
|
// the data sent.
|
||||||
sent += len(data)
|
sent += len(data)
|
||||||
offset += int64(len(data))
|
writeOffset += int64(len(data))
|
||||||
|
|
||||||
// Not done sending data, do not attempt to commit it yet, loop around
|
// Not done sending data, do not attempt to commit it yet, loop around
|
||||||
// and send more data.
|
// and send more data.
|
||||||
|
@ -1694,31 +1717,81 @@ func (w *gRPCWriter) uploadBuffer(recvd int, start int64, doneReading bool) (*st
|
||||||
}
|
}
|
||||||
|
|
||||||
// The buffer has been uploaded and there is still more data to be
|
// The buffer has been uploaded and there is still more data to be
|
||||||
// uploaded, but this is not a resumable upload session. Therefore
|
// uploaded, but this is not a resumable upload session. Therefore,
|
||||||
// keep the stream open and don't commit yet.
|
// don't check persisted data.
|
||||||
if !finishWrite && w.chunkSize == 0 {
|
if !lastWriteOfEntireObject && w.chunkSize == 0 {
|
||||||
return nil, offset, false, nil
|
return nil, writeOffset, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Done sending data. Close the stream to "commit" the data sent.
|
// Done sending data (remainingDataFitsInSingleReq should == true if we
|
||||||
resp, finalized, err := w.commit()
|
// reach this code). Receive from the stream to confirm the persisted data.
|
||||||
|
resp, err := w.stream.Recv()
|
||||||
|
|
||||||
// Retriable errors mean we should start over and attempt to
|
// Retriable errors mean we should start over and attempt to
|
||||||
// resend the entire buffer via a new stream.
|
// resend the entire buffer via a new stream.
|
||||||
// If not retriable, falling through will return the error received
|
// If not retriable, falling through will return the error received
|
||||||
// from closing the stream.
|
// from closing the stream.
|
||||||
if shouldRetry(err) {
|
if shouldRetry(err) {
|
||||||
sent = 0
|
writeOffset, err = w.determineOffset(start)
|
||||||
finishWrite = false
|
if err != nil {
|
||||||
offset, err = w.determineOffset(start)
|
return nil, 0, err
|
||||||
if err == nil {
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
sent = int(writeOffset) - int(start)
|
||||||
|
|
||||||
|
// Drop the stream reference as a new one will need to be created.
|
||||||
|
w.stream = nil
|
||||||
|
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, false, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return resp.GetResource(), offset, finalized, nil
|
// Confirm the persisted data if we have not finished uploading the object.
|
||||||
|
if !lastWriteOfEntireObject {
|
||||||
|
if resp.GetPersistedSize() != writeOffset {
|
||||||
|
// Retry if not all bytes were persisted.
|
||||||
|
writeOffset = resp.GetPersistedSize()
|
||||||
|
sent = int(writeOffset) - int(start)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// If the object is done uploading, close the send stream to signal
|
||||||
|
// to the server that we are done sending so that we can receive
|
||||||
|
// from the stream without blocking.
|
||||||
|
err = w.stream.CloseSend()
|
||||||
|
if err != nil {
|
||||||
|
// CloseSend() retries the send internally. It never returns an
|
||||||
|
// error in the current implementation, but we check it anyway in
|
||||||
|
// case that it does in the future.
|
||||||
|
return nil, 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Stream receives do not block once send is closed, but we may not
|
||||||
|
// receive the response with the object right away; loop until we
|
||||||
|
// receive the object or error out.
|
||||||
|
var obj *storagepb.Object
|
||||||
|
for obj == nil {
|
||||||
|
resp, err := w.stream.Recv()
|
||||||
|
if err != nil {
|
||||||
|
return nil, 0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
obj = resp.GetResource()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Even though we received the object response, continue reading
|
||||||
|
// until we receive a non-nil error, to ensure the stream does not
|
||||||
|
// leak even if the context isn't cancelled. See:
|
||||||
|
// https://pkg.go.dev/google.golang.org/grpc#ClientConn.NewStream
|
||||||
|
for err == nil {
|
||||||
|
_, err = w.stream.Recv()
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj, writeOffset, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, writeOffset, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1738,26 +1811,6 @@ func (w *gRPCWriter) determineOffset(offset int64) (int64, error) {
|
||||||
return offset, nil
|
return offset, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// commit closes the stream to commit the data sent and potentially receive
|
|
||||||
// the finalized object if finished uploading. If the last request sent
|
|
||||||
// indicated that writing was finished, the Object will be finalized and
|
|
||||||
// returned. If not, then the Object will be nil, and the boolean returned will
|
|
||||||
// be false.
|
|
||||||
func (w *gRPCWriter) commit() (*storagepb.WriteObjectResponse, bool, error) {
|
|
||||||
finalized := true
|
|
||||||
resp, err := w.stream.CloseAndRecv()
|
|
||||||
if err == io.EOF {
|
|
||||||
// Closing a stream for a resumable upload finish_write = false results
|
|
||||||
// in an EOF which can be ignored, as we aren't done uploading yet.
|
|
||||||
finalized = false
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
// Drop the stream reference as it has been closed.
|
|
||||||
w.stream = nil
|
|
||||||
|
|
||||||
return resp, finalized, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// writeObjectSpec constructs a WriteObjectSpec proto using the Writer's
|
// writeObjectSpec constructs a WriteObjectSpec proto using the Writer's
|
||||||
// ObjectAttrs and applies its Conditions. This is only used for gRPC.
|
// ObjectAttrs and applies its Conditions. This is only used for gRPC.
|
||||||
func (w *gRPCWriter) writeObjectSpec() (*storagepb.WriteObjectSpec, error) {
|
func (w *gRPCWriter) writeObjectSpec() (*storagepb.WriteObjectSpec, error) {
|
||||||
|
|
210
vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go
generated
vendored
Normal file
210
vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go
generated
vendored
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
// Copyright 2023 Google LLC
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
// Code generated by protoc-gen-go_gapic. DO NOT EDIT.
|
||||||
|
|
||||||
|
package storage
|
||||||
|
|
||||||
|
import (
|
||||||
|
storagepb "cloud.google.com/go/storage/internal/apiv2/storagepb"
|
||||||
|
"google.golang.org/api/iterator"
|
||||||
|
)
|
||||||
|
|
||||||
|
// BucketIterator manages a stream of *storagepb.Bucket.
|
||||||
|
type BucketIterator struct {
|
||||||
|
items []*storagepb.Bucket
|
||||||
|
pageInfo *iterator.PageInfo
|
||||||
|
nextFunc func() error
|
||||||
|
|
||||||
|
// Response is the raw response for the current page.
|
||||||
|
// It must be cast to the RPC response type.
|
||||||
|
// Calling Next() or InternalFetch() updates this value.
|
||||||
|
Response interface{}
|
||||||
|
|
||||||
|
// InternalFetch is for use by the Google Cloud Libraries only.
|
||||||
|
// It is not part of the stable interface of this package.
|
||||||
|
//
|
||||||
|
// InternalFetch returns results from a single call to the underlying RPC.
|
||||||
|
// The number of results is no greater than pageSize.
|
||||||
|
// If there are no more results, nextPageToken is empty and err is nil.
|
||||||
|
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Bucket, nextPageToken string, err error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
||||||
|
func (it *BucketIterator) PageInfo() *iterator.PageInfo {
|
||||||
|
return it.pageInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
||||||
|
// results. Once Next returns Done, all subsequent calls will return Done.
|
||||||
|
func (it *BucketIterator) Next() (*storagepb.Bucket, error) {
|
||||||
|
var item *storagepb.Bucket
|
||||||
|
if err := it.nextFunc(); err != nil {
|
||||||
|
return item, err
|
||||||
|
}
|
||||||
|
item = it.items[0]
|
||||||
|
it.items = it.items[1:]
|
||||||
|
return item, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *BucketIterator) bufLen() int {
|
||||||
|
return len(it.items)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *BucketIterator) takeBuf() interface{} {
|
||||||
|
b := it.items
|
||||||
|
it.items = nil
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// HmacKeyMetadataIterator manages a stream of *storagepb.HmacKeyMetadata.
|
||||||
|
type HmacKeyMetadataIterator struct {
|
||||||
|
items []*storagepb.HmacKeyMetadata
|
||||||
|
pageInfo *iterator.PageInfo
|
||||||
|
nextFunc func() error
|
||||||
|
|
||||||
|
// Response is the raw response for the current page.
|
||||||
|
// It must be cast to the RPC response type.
|
||||||
|
// Calling Next() or InternalFetch() updates this value.
|
||||||
|
Response interface{}
|
||||||
|
|
||||||
|
// InternalFetch is for use by the Google Cloud Libraries only.
|
||||||
|
// It is not part of the stable interface of this package.
|
||||||
|
//
|
||||||
|
// InternalFetch returns results from a single call to the underlying RPC.
|
||||||
|
// The number of results is no greater than pageSize.
|
||||||
|
// If there are no more results, nextPageToken is empty and err is nil.
|
||||||
|
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.HmacKeyMetadata, nextPageToken string, err error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
||||||
|
func (it *HmacKeyMetadataIterator) PageInfo() *iterator.PageInfo {
|
||||||
|
return it.pageInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
||||||
|
// results. Once Next returns Done, all subsequent calls will return Done.
|
||||||
|
func (it *HmacKeyMetadataIterator) Next() (*storagepb.HmacKeyMetadata, error) {
|
||||||
|
var item *storagepb.HmacKeyMetadata
|
||||||
|
if err := it.nextFunc(); err != nil {
|
||||||
|
return item, err
|
||||||
|
}
|
||||||
|
item = it.items[0]
|
||||||
|
it.items = it.items[1:]
|
||||||
|
return item, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *HmacKeyMetadataIterator) bufLen() int {
|
||||||
|
return len(it.items)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *HmacKeyMetadataIterator) takeBuf() interface{} {
|
||||||
|
b := it.items
|
||||||
|
it.items = nil
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// NotificationConfigIterator manages a stream of *storagepb.NotificationConfig.
|
||||||
|
type NotificationConfigIterator struct {
|
||||||
|
items []*storagepb.NotificationConfig
|
||||||
|
pageInfo *iterator.PageInfo
|
||||||
|
nextFunc func() error
|
||||||
|
|
||||||
|
// Response is the raw response for the current page.
|
||||||
|
// It must be cast to the RPC response type.
|
||||||
|
// Calling Next() or InternalFetch() updates this value.
|
||||||
|
Response interface{}
|
||||||
|
|
||||||
|
// InternalFetch is for use by the Google Cloud Libraries only.
|
||||||
|
// It is not part of the stable interface of this package.
|
||||||
|
//
|
||||||
|
// InternalFetch returns results from a single call to the underlying RPC.
|
||||||
|
// The number of results is no greater than pageSize.
|
||||||
|
// If there are no more results, nextPageToken is empty and err is nil.
|
||||||
|
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.NotificationConfig, nextPageToken string, err error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
||||||
|
func (it *NotificationConfigIterator) PageInfo() *iterator.PageInfo {
|
||||||
|
return it.pageInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
||||||
|
// results. Once Next returns Done, all subsequent calls will return Done.
|
||||||
|
func (it *NotificationConfigIterator) Next() (*storagepb.NotificationConfig, error) {
|
||||||
|
var item *storagepb.NotificationConfig
|
||||||
|
if err := it.nextFunc(); err != nil {
|
||||||
|
return item, err
|
||||||
|
}
|
||||||
|
item = it.items[0]
|
||||||
|
it.items = it.items[1:]
|
||||||
|
return item, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *NotificationConfigIterator) bufLen() int {
|
||||||
|
return len(it.items)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *NotificationConfigIterator) takeBuf() interface{} {
|
||||||
|
b := it.items
|
||||||
|
it.items = nil
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
// ObjectIterator manages a stream of *storagepb.Object.
|
||||||
|
type ObjectIterator struct {
|
||||||
|
items []*storagepb.Object
|
||||||
|
pageInfo *iterator.PageInfo
|
||||||
|
nextFunc func() error
|
||||||
|
|
||||||
|
// Response is the raw response for the current page.
|
||||||
|
// It must be cast to the RPC response type.
|
||||||
|
// Calling Next() or InternalFetch() updates this value.
|
||||||
|
Response interface{}
|
||||||
|
|
||||||
|
// InternalFetch is for use by the Google Cloud Libraries only.
|
||||||
|
// It is not part of the stable interface of this package.
|
||||||
|
//
|
||||||
|
// InternalFetch returns results from a single call to the underlying RPC.
|
||||||
|
// The number of results is no greater than pageSize.
|
||||||
|
// If there are no more results, nextPageToken is empty and err is nil.
|
||||||
|
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Object, nextPageToken string, err error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
||||||
|
func (it *ObjectIterator) PageInfo() *iterator.PageInfo {
|
||||||
|
return it.pageInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
||||||
|
// results. Once Next returns Done, all subsequent calls will return Done.
|
||||||
|
func (it *ObjectIterator) Next() (*storagepb.Object, error) {
|
||||||
|
var item *storagepb.Object
|
||||||
|
if err := it.nextFunc(); err != nil {
|
||||||
|
return item, err
|
||||||
|
}
|
||||||
|
item = it.items[0]
|
||||||
|
it.items = it.items[1:]
|
||||||
|
return item, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *ObjectIterator) bufLen() int {
|
||||||
|
return len(it.items)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (it *ObjectIterator) takeBuf() interface{} {
|
||||||
|
b := it.items
|
||||||
|
it.items = nil
|
||||||
|
return b
|
||||||
|
}
|
29
vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
generated
vendored
29
vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
generated
vendored
|
@ -76,15 +76,32 @@
|
||||||
// // TODO: Handle error.
|
// // TODO: Handle error.
|
||||||
// }
|
// }
|
||||||
// defer c.Close()
|
// defer c.Close()
|
||||||
//
|
// stream, err := c.BidiWriteObject(ctx)
|
||||||
// req := &storagepb.DeleteBucketRequest{
|
|
||||||
// // TODO: Fill request struct fields.
|
|
||||||
// // See https://pkg.go.dev/cloud.google.com/go/storage/internal/apiv2/storagepb#DeleteBucketRequest.
|
|
||||||
// }
|
|
||||||
// err = c.DeleteBucket(ctx, req)
|
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// // TODO: Handle error.
|
// // TODO: Handle error.
|
||||||
// }
|
// }
|
||||||
|
// go func() {
|
||||||
|
// reqs := []*storagepb.BidiWriteObjectRequest{
|
||||||
|
// // TODO: Create requests.
|
||||||
|
// }
|
||||||
|
// for _, req := range reqs {
|
||||||
|
// if err := stream.Send(req); err != nil {
|
||||||
|
// // TODO: Handle error.
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// stream.CloseSend()
|
||||||
|
// }()
|
||||||
|
// for {
|
||||||
|
// resp, err := stream.Recv()
|
||||||
|
// if err == io.EOF {
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// if err != nil {
|
||||||
|
// // TODO: handle error.
|
||||||
|
// }
|
||||||
|
// // TODO: Use resp.
|
||||||
|
// _ = resp
|
||||||
|
// }
|
||||||
//
|
//
|
||||||
// # Use of Context
|
// # Use of Context
|
||||||
//
|
//
|
||||||
|
|
188
vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
generated
vendored
188
vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
generated
vendored
|
@ -1921,191 +1921,3 @@ func (c *gRPCClient) UpdateHmacKey(ctx context.Context, req *storagepb.UpdateHma
|
||||||
}
|
}
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// BucketIterator manages a stream of *storagepb.Bucket.
|
|
||||||
type BucketIterator struct {
|
|
||||||
items []*storagepb.Bucket
|
|
||||||
pageInfo *iterator.PageInfo
|
|
||||||
nextFunc func() error
|
|
||||||
|
|
||||||
// Response is the raw response for the current page.
|
|
||||||
// It must be cast to the RPC response type.
|
|
||||||
// Calling Next() or InternalFetch() updates this value.
|
|
||||||
Response interface{}
|
|
||||||
|
|
||||||
// InternalFetch is for use by the Google Cloud Libraries only.
|
|
||||||
// It is not part of the stable interface of this package.
|
|
||||||
//
|
|
||||||
// InternalFetch returns results from a single call to the underlying RPC.
|
|
||||||
// The number of results is no greater than pageSize.
|
|
||||||
// If there are no more results, nextPageToken is empty and err is nil.
|
|
||||||
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Bucket, nextPageToken string, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
|
||||||
func (it *BucketIterator) PageInfo() *iterator.PageInfo {
|
|
||||||
return it.pageInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
|
||||||
// results. Once Next returns Done, all subsequent calls will return Done.
|
|
||||||
func (it *BucketIterator) Next() (*storagepb.Bucket, error) {
|
|
||||||
var item *storagepb.Bucket
|
|
||||||
if err := it.nextFunc(); err != nil {
|
|
||||||
return item, err
|
|
||||||
}
|
|
||||||
item = it.items[0]
|
|
||||||
it.items = it.items[1:]
|
|
||||||
return item, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *BucketIterator) bufLen() int {
|
|
||||||
return len(it.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *BucketIterator) takeBuf() interface{} {
|
|
||||||
b := it.items
|
|
||||||
it.items = nil
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// HmacKeyMetadataIterator manages a stream of *storagepb.HmacKeyMetadata.
|
|
||||||
type HmacKeyMetadataIterator struct {
|
|
||||||
items []*storagepb.HmacKeyMetadata
|
|
||||||
pageInfo *iterator.PageInfo
|
|
||||||
nextFunc func() error
|
|
||||||
|
|
||||||
// Response is the raw response for the current page.
|
|
||||||
// It must be cast to the RPC response type.
|
|
||||||
// Calling Next() or InternalFetch() updates this value.
|
|
||||||
Response interface{}
|
|
||||||
|
|
||||||
// InternalFetch is for use by the Google Cloud Libraries only.
|
|
||||||
// It is not part of the stable interface of this package.
|
|
||||||
//
|
|
||||||
// InternalFetch returns results from a single call to the underlying RPC.
|
|
||||||
// The number of results is no greater than pageSize.
|
|
||||||
// If there are no more results, nextPageToken is empty and err is nil.
|
|
||||||
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.HmacKeyMetadata, nextPageToken string, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
|
||||||
func (it *HmacKeyMetadataIterator) PageInfo() *iterator.PageInfo {
|
|
||||||
return it.pageInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
|
||||||
// results. Once Next returns Done, all subsequent calls will return Done.
|
|
||||||
func (it *HmacKeyMetadataIterator) Next() (*storagepb.HmacKeyMetadata, error) {
|
|
||||||
var item *storagepb.HmacKeyMetadata
|
|
||||||
if err := it.nextFunc(); err != nil {
|
|
||||||
return item, err
|
|
||||||
}
|
|
||||||
item = it.items[0]
|
|
||||||
it.items = it.items[1:]
|
|
||||||
return item, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *HmacKeyMetadataIterator) bufLen() int {
|
|
||||||
return len(it.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *HmacKeyMetadataIterator) takeBuf() interface{} {
|
|
||||||
b := it.items
|
|
||||||
it.items = nil
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotificationConfigIterator manages a stream of *storagepb.NotificationConfig.
|
|
||||||
type NotificationConfigIterator struct {
|
|
||||||
items []*storagepb.NotificationConfig
|
|
||||||
pageInfo *iterator.PageInfo
|
|
||||||
nextFunc func() error
|
|
||||||
|
|
||||||
// Response is the raw response for the current page.
|
|
||||||
// It must be cast to the RPC response type.
|
|
||||||
// Calling Next() or InternalFetch() updates this value.
|
|
||||||
Response interface{}
|
|
||||||
|
|
||||||
// InternalFetch is for use by the Google Cloud Libraries only.
|
|
||||||
// It is not part of the stable interface of this package.
|
|
||||||
//
|
|
||||||
// InternalFetch returns results from a single call to the underlying RPC.
|
|
||||||
// The number of results is no greater than pageSize.
|
|
||||||
// If there are no more results, nextPageToken is empty and err is nil.
|
|
||||||
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.NotificationConfig, nextPageToken string, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
|
||||||
func (it *NotificationConfigIterator) PageInfo() *iterator.PageInfo {
|
|
||||||
return it.pageInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
|
||||||
// results. Once Next returns Done, all subsequent calls will return Done.
|
|
||||||
func (it *NotificationConfigIterator) Next() (*storagepb.NotificationConfig, error) {
|
|
||||||
var item *storagepb.NotificationConfig
|
|
||||||
if err := it.nextFunc(); err != nil {
|
|
||||||
return item, err
|
|
||||||
}
|
|
||||||
item = it.items[0]
|
|
||||||
it.items = it.items[1:]
|
|
||||||
return item, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *NotificationConfigIterator) bufLen() int {
|
|
||||||
return len(it.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *NotificationConfigIterator) takeBuf() interface{} {
|
|
||||||
b := it.items
|
|
||||||
it.items = nil
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// ObjectIterator manages a stream of *storagepb.Object.
|
|
||||||
type ObjectIterator struct {
|
|
||||||
items []*storagepb.Object
|
|
||||||
pageInfo *iterator.PageInfo
|
|
||||||
nextFunc func() error
|
|
||||||
|
|
||||||
// Response is the raw response for the current page.
|
|
||||||
// It must be cast to the RPC response type.
|
|
||||||
// Calling Next() or InternalFetch() updates this value.
|
|
||||||
Response interface{}
|
|
||||||
|
|
||||||
// InternalFetch is for use by the Google Cloud Libraries only.
|
|
||||||
// It is not part of the stable interface of this package.
|
|
||||||
//
|
|
||||||
// InternalFetch returns results from a single call to the underlying RPC.
|
|
||||||
// The number of results is no greater than pageSize.
|
|
||||||
// If there are no more results, nextPageToken is empty and err is nil.
|
|
||||||
InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Object, nextPageToken string, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
|
|
||||||
func (it *ObjectIterator) PageInfo() *iterator.PageInfo {
|
|
||||||
return it.pageInfo
|
|
||||||
}
|
|
||||||
|
|
||||||
// Next returns the next result. Its second return value is iterator.Done if there are no more
|
|
||||||
// results. Once Next returns Done, all subsequent calls will return Done.
|
|
||||||
func (it *ObjectIterator) Next() (*storagepb.Object, error) {
|
|
||||||
var item *storagepb.Object
|
|
||||||
if err := it.nextFunc(); err != nil {
|
|
||||||
return item, err
|
|
||||||
}
|
|
||||||
item = it.items[0]
|
|
||||||
it.items = it.items[1:]
|
|
||||||
return item, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *ObjectIterator) bufLen() int {
|
|
||||||
return len(it.items)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (it *ObjectIterator) takeBuf() interface{} {
|
|
||||||
b := it.items
|
|
||||||
it.items = nil
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
2
vendor/cloud.google.com/go/storage/internal/version.go
generated
vendored
2
vendor/cloud.google.com/go/storage/internal/version.go
generated
vendored
|
@ -15,4 +15,4 @@
|
||||||
package internal
|
package internal
|
||||||
|
|
||||||
// Version is the current tagged release of the library.
|
// Version is the current tagged release of the library.
|
||||||
const Version = "1.34.1"
|
const Version = "1.35.1"
|
||||||
|
|
82
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md
generated
vendored
82
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md
generated
vendored
|
@ -1,13 +1,43 @@
|
||||||
# Release History
|
# Release History
|
||||||
|
|
||||||
|
## 1.9.0 (2023-11-06)
|
||||||
|
|
||||||
|
### Breaking Changes
|
||||||
|
> These changes affect only code written against previous beta versions of `v1.7.0` and `v1.8.0`
|
||||||
|
* The function `NewTokenCredential` has been removed from the `fake` package. Use a literal `&fake.TokenCredential{}` instead.
|
||||||
|
* The field `TracingNamespace` in `runtime.PipelineOptions` has been replaced by `TracingOptions`.
|
||||||
|
|
||||||
|
### Bugs Fixed
|
||||||
|
|
||||||
|
* Fixed an issue that could cause some allowed HTTP header values to not show up in logs.
|
||||||
|
* Include error text instead of error type in traces when the transport returns an error.
|
||||||
|
* Fixed an issue that could cause an HTTP/2 request to hang when the TCP connection becomes unresponsive.
|
||||||
|
* Block key and SAS authentication for non TLS protected endpoints.
|
||||||
|
* Passing a `nil` credential value will no longer cause a panic. Instead, the authentication is skipped.
|
||||||
|
* Calling `Error` on a zero-value `azcore.ResponseError` will no longer panic.
|
||||||
|
* Fixed an issue in `fake.PagerResponder[T]` that would cause a trailing error to be omitted when iterating over pages.
|
||||||
|
* Context values created by `azcore` will no longer flow across disjoint HTTP requests.
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
|
||||||
|
* Skip generating trace info for no-op tracers.
|
||||||
|
* The `clientName` paramater in client constructors has been renamed to `moduleName`.
|
||||||
|
|
||||||
|
## 1.9.0-beta.1 (2023-10-05)
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
|
||||||
|
* The beta features for tracing and fakes have been reinstated.
|
||||||
|
|
||||||
## 1.8.0 (2023-10-05)
|
## 1.8.0 (2023-10-05)
|
||||||
|
|
||||||
### Features Added
|
### Features Added
|
||||||
|
|
||||||
* Added `Claims` and `EnableCAE` fields to `policy.TokenRequestOptions`.
|
* This includes the following features from `v1.8.0-beta.N` releases.
|
||||||
* ARM bearer token policy handles CAE challenges.
|
* Claims and CAE for authentication.
|
||||||
* `messaging/CloudEvent` allows you to serialize/deserialize CloudEvents, as described in the CloudEvents 1.0 specification: [link](https://github.com/cloudevents/spec)
|
* New `messaging` package.
|
||||||
* Added functions `FetcherForNextLink` and `EncodeQueryParams` along with `FetcherForNextLinkOptions` to the `runtime` package to centralize creation of `Pager[T].Fetcher` from a next link URL.
|
* Various helpers in the `runtime` package.
|
||||||
|
* Deprecation of `runtime.With*` funcs and their replacements in the `policy` package.
|
||||||
* Added types `KeyCredential` and `SASCredential` to the `azcore` package.
|
* Added types `KeyCredential` and `SASCredential` to the `azcore` package.
|
||||||
* Includes their respective constructor functions.
|
* Includes their respective constructor functions.
|
||||||
* Added types `KeyCredentialPolicy` and `SASCredentialPolicy` to the `azcore/runtime` package.
|
* Added types `KeyCredentialPolicy` and `SASCredentialPolicy` to the `azcore/runtime` package.
|
||||||
|
@ -24,11 +54,24 @@
|
||||||
|
|
||||||
### Other Changes
|
### Other Changes
|
||||||
|
|
||||||
|
* Updated dependencies.
|
||||||
|
|
||||||
|
## 1.8.0-beta.3 (2023-09-07)
|
||||||
|
|
||||||
|
### Features Added
|
||||||
|
|
||||||
|
* Added function `FetcherForNextLink` and `FetcherForNextLinkOptions` to the `runtime` package to centralize creation of `Pager[T].Fetcher` from a next link URL.
|
||||||
|
|
||||||
|
### Bugs Fixed
|
||||||
|
|
||||||
|
* Suppress creating spans for nested SDK API calls. The HTTP span will be a child of the outer API span.
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
|
||||||
* The following functions in the `runtime` package are now exposed from the `policy` package, and the `runtime` versions have been deprecated.
|
* The following functions in the `runtime` package are now exposed from the `policy` package, and the `runtime` versions have been deprecated.
|
||||||
* `WithCaptureResponse`
|
* `WithCaptureResponse`
|
||||||
* `WithHTTPHeader`
|
* `WithHTTPHeader`
|
||||||
* `WithRetryOptions`
|
* `WithRetryOptions`
|
||||||
* Updated dependencies.
|
|
||||||
|
|
||||||
## 1.7.2 (2023-09-06)
|
## 1.7.2 (2023-09-06)
|
||||||
|
|
||||||
|
@ -36,12 +79,41 @@
|
||||||
|
|
||||||
* Fix default HTTP transport to work in WASM modules.
|
* Fix default HTTP transport to work in WASM modules.
|
||||||
|
|
||||||
|
## 1.8.0-beta.2 (2023-08-14)
|
||||||
|
|
||||||
|
### Features Added
|
||||||
|
|
||||||
|
* Added function `SanitizePagerPollerPath` to the `server` package to centralize sanitization and formalize the contract.
|
||||||
|
* Added `TokenRequestOptions.EnableCAE` to indicate whether to request a CAE token.
|
||||||
|
|
||||||
|
### Breaking Changes
|
||||||
|
|
||||||
|
> This change affects only code written against beta version `v1.8.0-beta.1`.
|
||||||
|
* `messaging.CloudEvent` deserializes JSON objects as `[]byte`, instead of `json.RawMessage`. See the documentation for CloudEvent.Data for more information.
|
||||||
|
|
||||||
|
> This change affects only code written against beta versions `v1.7.0-beta.2` and `v1.8.0-beta.1`.
|
||||||
|
* Removed parameter from method `Span.End()` and its type `tracing.SpanEndOptions`. This API GA'ed in `v1.2.0` so we cannot change it.
|
||||||
|
|
||||||
|
### Bugs Fixed
|
||||||
|
|
||||||
|
* Propagate any query parameters when constructing a fake poller and/or injecting next links.
|
||||||
|
|
||||||
## 1.7.1 (2023-08-14)
|
## 1.7.1 (2023-08-14)
|
||||||
|
|
||||||
## Bugs Fixed
|
## Bugs Fixed
|
||||||
|
|
||||||
* Enable TLS renegotiation in the default transport policy.
|
* Enable TLS renegotiation in the default transport policy.
|
||||||
|
|
||||||
|
## 1.8.0-beta.1 (2023-07-12)
|
||||||
|
|
||||||
|
### Features Added
|
||||||
|
|
||||||
|
- `messaging/CloudEvent` allows you to serialize/deserialize CloudEvents, as described in the CloudEvents 1.0 specification: [link](https://github.com/cloudevents/spec)
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
|
||||||
|
* The beta features for CAE, tracing, and fakes have been reinstated.
|
||||||
|
|
||||||
## 1.7.0 (2023-07-12)
|
## 1.7.0 (2023-07-12)
|
||||||
|
|
||||||
### Features Added
|
### Features Added
|
||||||
|
|
42
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go
generated
vendored
42
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go
generated
vendored
|
@ -84,7 +84,9 @@ func IsNullValue[T any](v T) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientOptions contains configuration settings for a client's pipeline.
|
// ClientOptions contains optional settings for a client's pipeline.
|
||||||
|
// Instances can be shared across calls to SDK client constructors when uniform configuration is desired.
|
||||||
|
// Zero-value fields will have their specified default values applied during use.
|
||||||
type ClientOptions = policy.ClientOptions
|
type ClientOptions = policy.ClientOptions
|
||||||
|
|
||||||
// Client is a basic HTTP client. It consists of a pipeline and tracing provider.
|
// Client is a basic HTTP client. It consists of a pipeline and tracing provider.
|
||||||
|
@ -93,22 +95,17 @@ type Client struct {
|
||||||
tr tracing.Tracer
|
tr tracing.Tracer
|
||||||
|
|
||||||
// cached on the client to support shallow copying with new values
|
// cached on the client to support shallow copying with new values
|
||||||
tp tracing.Provider
|
tp tracing.Provider
|
||||||
modVer string
|
modVer string
|
||||||
|
namespace string
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewClient creates a new Client instance with the provided values.
|
// NewClient creates a new Client instance with the provided values.
|
||||||
// - clientName - the fully qualified name of the client ("module/package.Client"); this is used by the telemetry policy and tracing provider.
|
// - moduleName - the fully qualified name of the module where the client is defined; used by the telemetry policy and tracing provider.
|
||||||
// if module and package are the same value, the "module/" prefix can be omitted.
|
// - moduleVersion - the semantic version of the module; used by the telemetry policy and tracing provider.
|
||||||
// - moduleVersion - the semantic version of the containing module; used by the telemetry policy
|
|
||||||
// - plOpts - pipeline configuration options; can be the zero-value
|
// - plOpts - pipeline configuration options; can be the zero-value
|
||||||
// - options - optional client configurations; pass nil to accept the default values
|
// - options - optional client configurations; pass nil to accept the default values
|
||||||
func NewClient(clientName, moduleVersion string, plOpts runtime.PipelineOptions, options *ClientOptions) (*Client, error) {
|
func NewClient(moduleName, moduleVersion string, plOpts runtime.PipelineOptions, options *ClientOptions) (*Client, error) {
|
||||||
mod, client, err := shared.ExtractModuleName(clientName)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if options == nil {
|
if options == nil {
|
||||||
options = &ClientOptions{}
|
options = &ClientOptions{}
|
||||||
}
|
}
|
||||||
|
@ -119,15 +116,19 @@ func NewClient(clientName, moduleVersion string, plOpts runtime.PipelineOptions,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pl := runtime.NewPipeline(mod, moduleVersion, plOpts, options)
|
pl := runtime.NewPipeline(moduleName, moduleVersion, plOpts, options)
|
||||||
|
|
||||||
tr := options.TracingProvider.NewTracer(client, moduleVersion)
|
tr := options.TracingProvider.NewTracer(moduleName, moduleVersion)
|
||||||
|
if tr.Enabled() && plOpts.Tracing.Namespace != "" {
|
||||||
|
tr.SetAttributes(tracing.Attribute{Key: shared.TracingNamespaceAttrName, Value: plOpts.Tracing.Namespace})
|
||||||
|
}
|
||||||
|
|
||||||
return &Client{
|
return &Client{
|
||||||
pl: pl,
|
pl: pl,
|
||||||
tr: tr,
|
tr: tr,
|
||||||
tp: options.TracingProvider,
|
tp: options.TracingProvider,
|
||||||
modVer: moduleVersion,
|
modVer: moduleVersion,
|
||||||
|
namespace: plOpts.Tracing.Namespace,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,5 +147,8 @@ func (c *Client) Tracer() tracing.Tracer {
|
||||||
// - clientName - the fully qualified name of the client ("package.Client"); this is used by the tracing provider when creating spans
|
// - clientName - the fully qualified name of the client ("package.Client"); this is used by the tracing provider when creating spans
|
||||||
func (c *Client) WithClientName(clientName string) *Client {
|
func (c *Client) WithClientName(clientName string) *Client {
|
||||||
tr := c.tp.NewTracer(clientName, c.modVer)
|
tr := c.tp.NewTracer(clientName, c.modVer)
|
||||||
return &Client{pl: c.pl, tr: tr, tp: c.tp, modVer: c.modVer}
|
if tr.Enabled() && c.namespace != "" {
|
||||||
|
tr.SetAttributes(tracing.Attribute{Key: shared.TracingNamespaceAttrName, Value: c.namespace})
|
||||||
|
}
|
||||||
|
return &Client{pl: c.pl, tr: tr, tp: c.tp, modVer: c.modVer, namespace: c.namespace}
|
||||||
}
|
}
|
||||||
|
|
7
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go
generated
vendored
7
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go
generated
vendored
|
@ -253,5 +253,12 @@ When resuming a poller, no IO is performed, and zero-value arguments can be used
|
||||||
|
|
||||||
Resume tokens are unique per service client and operation. Attempting to resume a poller for LRO BeginB() with a token from LRO
|
Resume tokens are unique per service client and operation. Attempting to resume a poller for LRO BeginB() with a token from LRO
|
||||||
BeginA() will result in an error.
|
BeginA() will result in an error.
|
||||||
|
|
||||||
|
# Fakes
|
||||||
|
|
||||||
|
The fake package contains types used for constructing in-memory fake servers used in unit tests.
|
||||||
|
This allows writing tests to cover various success/error conditions without the need for connecting to a live service.
|
||||||
|
|
||||||
|
Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.
|
||||||
*/
|
*/
|
||||||
package azcore
|
package azcore
|
||||||
|
|
34
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go
generated
vendored
34
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go
generated
vendored
|
@ -8,6 +8,8 @@ package exported
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/base64"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
@ -78,6 +80,38 @@ type TokenCredential interface {
|
||||||
GetToken(ctx context.Context, options TokenRequestOptions) (AccessToken, error)
|
GetToken(ctx context.Context, options TokenRequestOptions) (AccessToken, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DecodeByteArray will base-64 decode the provided string into v.
|
||||||
|
// Exported as runtime.DecodeByteArray()
|
||||||
|
func DecodeByteArray(s string, v *[]byte, format Base64Encoding) error {
|
||||||
|
if len(s) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
payload := string(s)
|
||||||
|
if payload[0] == '"' {
|
||||||
|
// remove surrounding quotes
|
||||||
|
payload = payload[1 : len(payload)-1]
|
||||||
|
}
|
||||||
|
switch format {
|
||||||
|
case Base64StdFormat:
|
||||||
|
decoded, err := base64.StdEncoding.DecodeString(payload)
|
||||||
|
if err == nil {
|
||||||
|
*v = decoded
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
case Base64URLFormat:
|
||||||
|
// use raw encoding as URL format should not contain any '=' characters
|
||||||
|
decoded, err := base64.RawURLEncoding.DecodeString(payload)
|
||||||
|
if err == nil {
|
||||||
|
*v = decoded
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
default:
|
||||||
|
return fmt.Errorf("unrecognized byte array format: %d", format)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// KeyCredential contains an authentication key used to authenticate to an Azure service.
|
// KeyCredential contains an authentication key used to authenticate to an Azure service.
|
||||||
// Exported as azcore.KeyCredential.
|
// Exported as azcore.KeyCredential.
|
||||||
type KeyCredential struct {
|
type KeyCredential struct {
|
||||||
|
|
20
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go
generated
vendored
20
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go
generated
vendored
|
@ -8,10 +8,7 @@ package exported
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"golang.org/x/net/http/httpguts"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Policy represents an extensibility point for the Pipeline that can mutate the specified
|
// Policy represents an extensibility point for the Pipeline that can mutate the specified
|
||||||
|
@ -75,23 +72,6 @@ func (p Pipeline) Do(req *Request) (*http.Response, error) {
|
||||||
if req == nil {
|
if req == nil {
|
||||||
return nil, errors.New("request cannot be nil")
|
return nil, errors.New("request cannot be nil")
|
||||||
}
|
}
|
||||||
// check copied from Transport.roundTrip()
|
|
||||||
for k, vv := range req.Raw().Header {
|
|
||||||
if !httpguts.ValidHeaderFieldName(k) {
|
|
||||||
if req.Raw().Body != nil {
|
|
||||||
req.Raw().Body.Close()
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("invalid header field name %q", k)
|
|
||||||
}
|
|
||||||
for _, v := range vv {
|
|
||||||
if !httpguts.ValidHeaderFieldValue(v) {
|
|
||||||
if req.Raw().Body != nil {
|
|
||||||
req.Raw().Body.Close()
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("invalid header field value %q for key %v", v, k)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
req.policies = p.policies
|
req.policies = p.policies
|
||||||
return req.Next()
|
return req.Next()
|
||||||
}
|
}
|
||||||
|
|
31
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go
generated
vendored
31
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go
generated
vendored
|
@ -8,6 +8,7 @@ package exported
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
@ -18,6 +19,28 @@ import (
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Base64Encoding is usesd to specify which base-64 encoder/decoder to use when
|
||||||
|
// encoding/decoding a slice of bytes to/from a string.
|
||||||
|
// Exported as runtime.Base64Encoding
|
||||||
|
type Base64Encoding int
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Base64StdFormat uses base64.StdEncoding for encoding and decoding payloads.
|
||||||
|
Base64StdFormat Base64Encoding = 0
|
||||||
|
|
||||||
|
// Base64URLFormat uses base64.RawURLEncoding for encoding and decoding payloads.
|
||||||
|
Base64URLFormat Base64Encoding = 1
|
||||||
|
)
|
||||||
|
|
||||||
|
// EncodeByteArray will base-64 encode the byte slice v.
|
||||||
|
// Exported as runtime.EncodeByteArray()
|
||||||
|
func EncodeByteArray(v []byte, format Base64Encoding) string {
|
||||||
|
if format == Base64URLFormat {
|
||||||
|
return base64.RawURLEncoding.EncodeToString(v)
|
||||||
|
}
|
||||||
|
return base64.StdEncoding.EncodeToString(v)
|
||||||
|
}
|
||||||
|
|
||||||
// Request is an abstraction over the creation of an HTTP request as it passes through the pipeline.
|
// Request is an abstraction over the creation of an HTTP request as it passes through the pipeline.
|
||||||
// Don't use this type directly, use NewRequest() instead.
|
// Don't use this type directly, use NewRequest() instead.
|
||||||
// Exported as policy.Request.
|
// Exported as policy.Request.
|
||||||
|
@ -170,6 +193,14 @@ func (req *Request) Clone(ctx context.Context) *Request {
|
||||||
return &r2
|
return &r2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithContext returns a shallow copy of the request with its context changed to ctx.
|
||||||
|
func (req *Request) WithContext(ctx context.Context) *Request {
|
||||||
|
r2 := new(Request)
|
||||||
|
*r2 = *req
|
||||||
|
r2.req = r2.req.WithContext(ctx)
|
||||||
|
return r2
|
||||||
|
}
|
||||||
|
|
||||||
// not exported but dependent on Request
|
// not exported but dependent on Request
|
||||||
|
|
||||||
// PolicyFunc is a type that implements the Policy interface.
|
// PolicyFunc is a type that implements the Policy interface.
|
||||||
|
|
51
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go
generated
vendored
51
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go
generated
vendored
|
@ -13,6 +13,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/internal/exported"
|
"github.com/Azure/azure-sdk-for-go/sdk/internal/exported"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,7 +26,7 @@ func NewResponseError(resp *http.Response) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// prefer the error code in the response header
|
// prefer the error code in the response header
|
||||||
if ec := resp.Header.Get("x-ms-error-code"); ec != "" {
|
if ec := resp.Header.Get(shared.HeaderXMSErrorCode); ec != "" {
|
||||||
respErr.ErrorCode = ec
|
respErr.ErrorCode = ec
|
||||||
return respErr
|
return respErr
|
||||||
}
|
}
|
||||||
|
@ -112,33 +113,45 @@ type ResponseError struct {
|
||||||
// Error implements the error interface for type ResponseError.
|
// Error implements the error interface for type ResponseError.
|
||||||
// Note that the message contents are not contractual and can change over time.
|
// Note that the message contents are not contractual and can change over time.
|
||||||
func (e *ResponseError) Error() string {
|
func (e *ResponseError) Error() string {
|
||||||
|
const separator = "--------------------------------------------------------------------------------"
|
||||||
// write the request method and URL with response status code
|
// write the request method and URL with response status code
|
||||||
msg := &bytes.Buffer{}
|
msg := &bytes.Buffer{}
|
||||||
fmt.Fprintf(msg, "%s %s://%s%s\n", e.RawResponse.Request.Method, e.RawResponse.Request.URL.Scheme, e.RawResponse.Request.URL.Host, e.RawResponse.Request.URL.Path)
|
if e.RawResponse != nil {
|
||||||
fmt.Fprintln(msg, "--------------------------------------------------------------------------------")
|
if e.RawResponse.Request != nil {
|
||||||
fmt.Fprintf(msg, "RESPONSE %d: %s\n", e.RawResponse.StatusCode, e.RawResponse.Status)
|
fmt.Fprintf(msg, "%s %s://%s%s\n", e.RawResponse.Request.Method, e.RawResponse.Request.URL.Scheme, e.RawResponse.Request.URL.Host, e.RawResponse.Request.URL.Path)
|
||||||
|
} else {
|
||||||
|
fmt.Fprintln(msg, "Request information not available")
|
||||||
|
}
|
||||||
|
fmt.Fprintln(msg, separator)
|
||||||
|
fmt.Fprintf(msg, "RESPONSE %d: %s\n", e.RawResponse.StatusCode, e.RawResponse.Status)
|
||||||
|
} else {
|
||||||
|
fmt.Fprintln(msg, "Missing RawResponse")
|
||||||
|
fmt.Fprintln(msg, separator)
|
||||||
|
}
|
||||||
if e.ErrorCode != "" {
|
if e.ErrorCode != "" {
|
||||||
fmt.Fprintf(msg, "ERROR CODE: %s\n", e.ErrorCode)
|
fmt.Fprintf(msg, "ERROR CODE: %s\n", e.ErrorCode)
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintln(msg, "ERROR CODE UNAVAILABLE")
|
fmt.Fprintln(msg, "ERROR CODE UNAVAILABLE")
|
||||||
}
|
}
|
||||||
fmt.Fprintln(msg, "--------------------------------------------------------------------------------")
|
if e.RawResponse != nil {
|
||||||
body, err := exported.Payload(e.RawResponse, nil)
|
fmt.Fprintln(msg, separator)
|
||||||
if err != nil {
|
body, err := exported.Payload(e.RawResponse, nil)
|
||||||
// this really shouldn't fail at this point as the response
|
if err != nil {
|
||||||
// body is already cached (it was read in NewResponseError)
|
// this really shouldn't fail at this point as the response
|
||||||
fmt.Fprintf(msg, "Error reading response body: %v", err)
|
// body is already cached (it was read in NewResponseError)
|
||||||
} else if len(body) > 0 {
|
fmt.Fprintf(msg, "Error reading response body: %v", err)
|
||||||
if err := json.Indent(msg, body, "", " "); err != nil {
|
} else if len(body) > 0 {
|
||||||
// failed to pretty-print so just dump it verbatim
|
if err := json.Indent(msg, body, "", " "); err != nil {
|
||||||
fmt.Fprint(msg, string(body))
|
// failed to pretty-print so just dump it verbatim
|
||||||
|
fmt.Fprint(msg, string(body))
|
||||||
|
}
|
||||||
|
// the standard library doesn't have a pretty-printer for XML
|
||||||
|
fmt.Fprintln(msg)
|
||||||
|
} else {
|
||||||
|
fmt.Fprintln(msg, "Response contained no body")
|
||||||
}
|
}
|
||||||
// the standard library doesn't have a pretty-printer for XML
|
|
||||||
fmt.Fprintln(msg)
|
|
||||||
} else {
|
|
||||||
fmt.Fprintln(msg, "Response contained no body")
|
|
||||||
}
|
}
|
||||||
fmt.Fprintln(msg, "--------------------------------------------------------------------------------")
|
fmt.Fprintln(msg, separator)
|
||||||
|
|
||||||
return msg.String()
|
return msg.String()
|
||||||
}
|
}
|
||||||
|
|
133
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go
generated
vendored
Normal file
133
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go
generated
vendored
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
//go:build go1.18
|
||||||
|
// +build go1.18
|
||||||
|
|
||||||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
// Licensed under the MIT License.
|
||||||
|
|
||||||
|
package fake
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/internal/poller"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Applicable returns true if the LRO is a fake.
|
||||||
|
func Applicable(resp *http.Response) bool {
|
||||||
|
return resp.Header.Get(shared.HeaderFakePollerStatus) != ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// CanResume returns true if the token can rehydrate this poller type.
|
||||||
|
func CanResume(token map[string]interface{}) bool {
|
||||||
|
_, ok := token["fakeURL"]
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
|
||||||
|
// Poller is an LRO poller that uses the Core-Fake-Poller pattern.
|
||||||
|
type Poller[T any] struct {
|
||||||
|
pl exported.Pipeline
|
||||||
|
|
||||||
|
resp *http.Response
|
||||||
|
|
||||||
|
// The API name from CtxAPINameKey
|
||||||
|
APIName string `json:"apiName"`
|
||||||
|
|
||||||
|
// The URL from Core-Fake-Poller header.
|
||||||
|
FakeURL string `json:"fakeURL"`
|
||||||
|
|
||||||
|
// The LRO's current state.
|
||||||
|
FakeStatus string `json:"status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// lroStatusURLSuffix is the URL path suffix for a faked LRO.
|
||||||
|
const lroStatusURLSuffix = "/get/fake/status"
|
||||||
|
|
||||||
|
// New creates a new Poller from the provided initial response.
|
||||||
|
// Pass nil for response to create an empty Poller for rehydration.
|
||||||
|
func New[T any](pl exported.Pipeline, resp *http.Response) (*Poller[T], error) {
|
||||||
|
if resp == nil {
|
||||||
|
log.Write(log.EventLRO, "Resuming Core-Fake-Poller poller.")
|
||||||
|
return &Poller[T]{pl: pl}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Write(log.EventLRO, "Using Core-Fake-Poller poller.")
|
||||||
|
fakeStatus := resp.Header.Get(shared.HeaderFakePollerStatus)
|
||||||
|
if fakeStatus == "" {
|
||||||
|
return nil, errors.New("response is missing Fake-Poller-Status header")
|
||||||
|
}
|
||||||
|
|
||||||
|
ctxVal := resp.Request.Context().Value(shared.CtxAPINameKey{})
|
||||||
|
if ctxVal == nil {
|
||||||
|
return nil, errors.New("missing value for CtxAPINameKey")
|
||||||
|
}
|
||||||
|
|
||||||
|
apiName, ok := ctxVal.(string)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("expected string for CtxAPINameKey, the type was %T", ctxVal)
|
||||||
|
}
|
||||||
|
|
||||||
|
qp := ""
|
||||||
|
if resp.Request.URL.RawQuery != "" {
|
||||||
|
qp = "?" + resp.Request.URL.RawQuery
|
||||||
|
}
|
||||||
|
|
||||||
|
p := &Poller[T]{
|
||||||
|
pl: pl,
|
||||||
|
resp: resp,
|
||||||
|
APIName: apiName,
|
||||||
|
// NOTE: any changes to this path format MUST be reflected in SanitizePollerPath()
|
||||||
|
FakeURL: fmt.Sprintf("%s://%s%s%s%s", resp.Request.URL.Scheme, resp.Request.URL.Host, resp.Request.URL.Path, lroStatusURLSuffix, qp),
|
||||||
|
FakeStatus: fakeStatus,
|
||||||
|
}
|
||||||
|
return p, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Done returns true if the LRO is in a terminal state.
|
||||||
|
func (p *Poller[T]) Done() bool {
|
||||||
|
return poller.IsTerminalState(p.FakeStatus)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Poll retrieves the current state of the LRO.
|
||||||
|
func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error) {
|
||||||
|
ctx = context.WithValue(ctx, shared.CtxAPINameKey{}, p.APIName)
|
||||||
|
err := pollers.PollHelper(ctx, p.FakeURL, p.pl, func(resp *http.Response) (string, error) {
|
||||||
|
if !poller.StatusCodeValid(resp) {
|
||||||
|
p.resp = resp
|
||||||
|
return "", exported.NewResponseError(resp)
|
||||||
|
}
|
||||||
|
fakeStatus := resp.Header.Get(shared.HeaderFakePollerStatus)
|
||||||
|
if fakeStatus == "" {
|
||||||
|
return "", errors.New("response is missing Fake-Poller-Status header")
|
||||||
|
}
|
||||||
|
p.resp = resp
|
||||||
|
p.FakeStatus = fakeStatus
|
||||||
|
return p.FakeStatus, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return p.resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Poller[T]) Result(ctx context.Context, out *T) error {
|
||||||
|
if p.resp.StatusCode == http.StatusNoContent {
|
||||||
|
return nil
|
||||||
|
} else if poller.Failed(p.FakeStatus) {
|
||||||
|
return exported.NewResponseError(p.resp)
|
||||||
|
}
|
||||||
|
|
||||||
|
return pollers.ResultHelper(p.resp, poller.Failed(p.FakeStatus), out)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SanitizePollerPath removes any fake-appended suffix from a URL's path.
|
||||||
|
func SanitizePollerPath(path string) string {
|
||||||
|
return strings.TrimSuffix(path, lroStatusURLSuffix)
|
||||||
|
}
|
12
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go
generated
vendored
12
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go
generated
vendored
|
@ -7,8 +7,9 @@
|
||||||
package shared
|
package shared
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ContentTypeAppJSON = "application/json"
|
ContentTypeAppJSON = "application/json"
|
||||||
ContentTypeAppXML = "application/xml"
|
ContentTypeAppXML = "application/xml"
|
||||||
|
ContentTypeTextPlain = "text/plain"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -17,20 +18,25 @@ const (
|
||||||
HeaderAzureAsync = "Azure-AsyncOperation"
|
HeaderAzureAsync = "Azure-AsyncOperation"
|
||||||
HeaderContentLength = "Content-Length"
|
HeaderContentLength = "Content-Length"
|
||||||
HeaderContentType = "Content-Type"
|
HeaderContentType = "Content-Type"
|
||||||
|
HeaderFakePollerStatus = "Fake-Poller-Status"
|
||||||
HeaderLocation = "Location"
|
HeaderLocation = "Location"
|
||||||
HeaderOperationLocation = "Operation-Location"
|
HeaderOperationLocation = "Operation-Location"
|
||||||
HeaderRetryAfter = "Retry-After"
|
HeaderRetryAfter = "Retry-After"
|
||||||
HeaderUserAgent = "User-Agent"
|
HeaderUserAgent = "User-Agent"
|
||||||
HeaderWWWAuthenticate = "WWW-Authenticate"
|
HeaderWWWAuthenticate = "WWW-Authenticate"
|
||||||
HeaderXMSClientRequestID = "x-ms-client-request-id"
|
HeaderXMSClientRequestID = "x-ms-client-request-id"
|
||||||
|
HeaderXMSRequestID = "x-ms-request-id"
|
||||||
|
HeaderXMSErrorCode = "x-ms-error-code"
|
||||||
)
|
)
|
||||||
|
|
||||||
const BearerTokenPrefix = "Bearer "
|
const BearerTokenPrefix = "Bearer "
|
||||||
|
|
||||||
|
const TracingNamespaceAttrName = "az.namespace"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Module is the name of the calling module used in telemetry data.
|
// Module is the name of the calling module used in telemetry data.
|
||||||
Module = "azcore"
|
Module = "azcore"
|
||||||
|
|
||||||
// Version is the semantic version (see http://semver.org) of this module.
|
// Version is the semantic version (see http://semver.org) of this module.
|
||||||
Version = "v1.8.0"
|
Version = "v1.9.0"
|
||||||
)
|
)
|
||||||
|
|
71
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go
generated
vendored
71
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go
generated
vendored
|
@ -14,10 +14,11 @@ import (
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// NOTE: when adding a new context key type, it likely needs to be
|
||||||
|
// added to the deny-list of key types in ContextWithDeniedValues
|
||||||
|
|
||||||
// CtxWithHTTPHeaderKey is used as a context key for adding/retrieving http.Header.
|
// CtxWithHTTPHeaderKey is used as a context key for adding/retrieving http.Header.
|
||||||
type CtxWithHTTPHeaderKey struct{}
|
type CtxWithHTTPHeaderKey struct{}
|
||||||
|
|
||||||
|
@ -27,6 +28,12 @@ type CtxWithRetryOptionsKey struct{}
|
||||||
// CtxWithCaptureResponse is used as a context key for retrieving the raw response.
|
// CtxWithCaptureResponse is used as a context key for retrieving the raw response.
|
||||||
type CtxWithCaptureResponse struct{}
|
type CtxWithCaptureResponse struct{}
|
||||||
|
|
||||||
|
// CtxWithTracingTracer is used as a context key for adding/retrieving tracing.Tracer.
|
||||||
|
type CtxWithTracingTracer struct{}
|
||||||
|
|
||||||
|
// CtxAPINameKey is used as a context key for adding/retrieving the API name.
|
||||||
|
type CtxAPINameKey struct{}
|
||||||
|
|
||||||
// Delay waits for the duration to elapse or the context to be cancelled.
|
// Delay waits for the duration to elapse or the context to be cancelled.
|
||||||
func Delay(ctx context.Context, delay time.Duration) error {
|
func Delay(ctx context.Context, delay time.Duration) error {
|
||||||
select {
|
select {
|
||||||
|
@ -80,49 +87,21 @@ func ValidateModVer(moduleVersion string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExtractModuleName returns "module", "package.Client" from "module/package.Client" or
|
// ContextWithDeniedValues wraps an existing [context.Context], denying access to certain context values.
|
||||||
// "package", "package.Client" from "package.Client" when there's no "module/" prefix.
|
// Pipeline policies that create new requests to be sent down their own pipeline MUST wrap the caller's
|
||||||
// If clientName is malformed, an error is returned.
|
// context with an instance of this type. This is to prevent context values from flowing across disjoint
|
||||||
func ExtractModuleName(clientName string) (string, string, error) {
|
// requests which can have unintended side-effects.
|
||||||
// uses unnamed capturing for "module", "package.Client", and "package"
|
type ContextWithDeniedValues struct {
|
||||||
regex, err := regexp.Compile(`^(?:([a-z0-9]+)/)?(([a-z0-9]+)\.(?:[A-Za-z0-9]+))$`)
|
context.Context
|
||||||
if err != nil {
|
}
|
||||||
return "", "", err
|
|
||||||
|
// Value implements part of the [context.Context] interface.
|
||||||
|
// It acts as a deny-list for certain context keys.
|
||||||
|
func (c *ContextWithDeniedValues) Value(key any) any {
|
||||||
|
switch key.(type) {
|
||||||
|
case CtxAPINameKey, CtxWithCaptureResponse, CtxWithHTTPHeaderKey, CtxWithRetryOptionsKey, CtxWithTracingTracer:
|
||||||
|
return nil
|
||||||
|
default:
|
||||||
|
return c.Context.Value(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
matches := regex.FindStringSubmatch(clientName)
|
|
||||||
if len(matches) < 4 {
|
|
||||||
return "", "", fmt.Errorf("malformed clientName %s", clientName)
|
|
||||||
}
|
|
||||||
|
|
||||||
// the first match is the entire string, the second is "module", the third is
|
|
||||||
// "package.Client" and the fourth is "package".
|
|
||||||
// if there was no "module/" prefix, the second match will be the empty string
|
|
||||||
if matches[1] != "" {
|
|
||||||
return matches[1], matches[2], nil
|
|
||||||
}
|
|
||||||
return matches[3], matches[2], nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NonRetriableError marks the specified error as non-retriable.
|
|
||||||
func NonRetriableError(err error) error {
|
|
||||||
return &nonRetriableError{err}
|
|
||||||
}
|
|
||||||
|
|
||||||
type nonRetriableError struct {
|
|
||||||
error
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *nonRetriableError) Error() string {
|
|
||||||
return p.error.Error()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*nonRetriableError) NonRetriable() {
|
|
||||||
// marker method
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *nonRetriableError) Unwrap() error {
|
|
||||||
return p.error
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ errorinfo.NonRetriable = (*nonRetriableError)(nil)
|
|
||||||
|
|
6
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go
generated
vendored
6
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go
generated
vendored
|
@ -29,9 +29,11 @@ type Transporter = exported.Transporter
|
||||||
type Request = exported.Request
|
type Request = exported.Request
|
||||||
|
|
||||||
// ClientOptions contains optional settings for a client's pipeline.
|
// ClientOptions contains optional settings for a client's pipeline.
|
||||||
// All zero-value fields will be initialized with default values.
|
// Instances can be shared across calls to SDK client constructors when uniform configuration is desired.
|
||||||
|
// Zero-value fields will have their specified default values applied during use.
|
||||||
type ClientOptions struct {
|
type ClientOptions struct {
|
||||||
// APIVersion overrides the default version requested of the service. Set with caution as this package version has not been tested with arbitrary service versions.
|
// APIVersion overrides the default version requested of the service.
|
||||||
|
// Set with caution as this package version has not been tested with arbitrary service versions.
|
||||||
APIVersion string
|
APIVersion string
|
||||||
|
|
||||||
// Cloud specifies a cloud for the client. The default is Azure Public Cloud.
|
// Cloud specifies a cloud for the client. The default is Azure Public Cloud.
|
||||||
|
|
18
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go
generated
vendored
18
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go
generated
vendored
|
@ -10,9 +10,12 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PagingHandler contains the required data for constructing a Pager.
|
// PagingHandler contains the required data for constructing a Pager.
|
||||||
|
@ -23,12 +26,16 @@ type PagingHandler[T any] struct {
|
||||||
|
|
||||||
// Fetcher fetches the first and subsequent pages.
|
// Fetcher fetches the first and subsequent pages.
|
||||||
Fetcher func(context.Context, *T) (T, error)
|
Fetcher func(context.Context, *T) (T, error)
|
||||||
|
|
||||||
|
// Tracer contains the Tracer from the client that's creating the Pager.
|
||||||
|
Tracer tracing.Tracer
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pager provides operations for iterating over paged responses.
|
// Pager provides operations for iterating over paged responses.
|
||||||
type Pager[T any] struct {
|
type Pager[T any] struct {
|
||||||
current *T
|
current *T
|
||||||
handler PagingHandler[T]
|
handler PagingHandler[T]
|
||||||
|
tracer tracing.Tracer
|
||||||
firstPage bool
|
firstPage bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +44,7 @@ type Pager[T any] struct {
|
||||||
func NewPager[T any](handler PagingHandler[T]) *Pager[T] {
|
func NewPager[T any](handler PagingHandler[T]) *Pager[T] {
|
||||||
return &Pager[T]{
|
return &Pager[T]{
|
||||||
handler: handler,
|
handler: handler,
|
||||||
|
tracer: handler.Tracer,
|
||||||
firstPage: true,
|
firstPage: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,8 +59,6 @@ func (p *Pager[T]) More() bool {
|
||||||
|
|
||||||
// NextPage advances the pager to the next page.
|
// NextPage advances the pager to the next page.
|
||||||
func (p *Pager[T]) NextPage(ctx context.Context) (T, error) {
|
func (p *Pager[T]) NextPage(ctx context.Context) (T, error) {
|
||||||
var resp T
|
|
||||||
var err error
|
|
||||||
if p.current != nil {
|
if p.current != nil {
|
||||||
if p.firstPage {
|
if p.firstPage {
|
||||||
// we get here if it's an LRO-pager, we already have the first page
|
// we get here if it's an LRO-pager, we already have the first page
|
||||||
|
@ -61,12 +67,16 @@ func (p *Pager[T]) NextPage(ctx context.Context) (T, error) {
|
||||||
} else if !p.handler.More(*p.current) {
|
} else if !p.handler.More(*p.current) {
|
||||||
return *new(T), errors.New("no more pages")
|
return *new(T), errors.New("no more pages")
|
||||||
}
|
}
|
||||||
resp, err = p.handler.Fetcher(ctx, p.current)
|
|
||||||
} else {
|
} else {
|
||||||
// non-LRO case, first page
|
// non-LRO case, first page
|
||||||
p.firstPage = false
|
p.firstPage = false
|
||||||
resp, err = p.handler.Fetcher(ctx, nil)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var err error
|
||||||
|
ctx, endSpan := StartSpan(ctx, fmt.Sprintf("%s.NextPage", shortenTypeName(reflect.TypeOf(*p).Name())), p.tracer, nil)
|
||||||
|
defer func() { endSpan(err) }()
|
||||||
|
|
||||||
|
resp, err := p.handler.Fetcher(ctx, p.current)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return *new(T), err
|
return *new(T), err
|
||||||
}
|
}
|
||||||
|
|
36
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go
generated
vendored
36
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go
generated
vendored
|
@ -13,9 +13,35 @@ import (
|
||||||
|
|
||||||
// PipelineOptions contains Pipeline options for SDK developers
|
// PipelineOptions contains Pipeline options for SDK developers
|
||||||
type PipelineOptions struct {
|
type PipelineOptions struct {
|
||||||
AllowedHeaders, AllowedQueryParameters []string
|
// AllowedHeaders is the slice of headers to log with their values intact.
|
||||||
APIVersion APIVersionOptions
|
// All headers not in the slice will have their values REDACTED.
|
||||||
PerCall, PerRetry []policy.Policy
|
// Applies to request and response headers.
|
||||||
|
AllowedHeaders []string
|
||||||
|
|
||||||
|
// AllowedQueryParameters is the slice of query parameters to log with their values intact.
|
||||||
|
// All query parameters not in the slice will have their values REDACTED.
|
||||||
|
AllowedQueryParameters []string
|
||||||
|
|
||||||
|
// APIVersion overrides the default version requested of the service.
|
||||||
|
// Set with caution as this package version has not been tested with arbitrary service versions.
|
||||||
|
APIVersion APIVersionOptions
|
||||||
|
|
||||||
|
// PerCall contains custom policies to inject into the pipeline.
|
||||||
|
// Each policy is executed once per request.
|
||||||
|
PerCall []policy.Policy
|
||||||
|
|
||||||
|
// PerRetry contains custom policies to inject into the pipeline.
|
||||||
|
// Each policy is executed once per request, and for each retry of that request.
|
||||||
|
PerRetry []policy.Policy
|
||||||
|
|
||||||
|
// Tracing contains options used to configure distributed tracing.
|
||||||
|
Tracing TracingOptions
|
||||||
|
}
|
||||||
|
|
||||||
|
// TracingOptions contains tracing options for SDK developers.
|
||||||
|
type TracingOptions struct {
|
||||||
|
// Namespace contains the value to use for the az.namespace span attribute.
|
||||||
|
Namespace string
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pipeline represents a primitive for sending HTTP requests and receiving responses.
|
// Pipeline represents a primitive for sending HTTP requests and receiving responses.
|
||||||
|
@ -56,8 +82,10 @@ func NewPipeline(module, version string, plOpts PipelineOptions, options *policy
|
||||||
policies = append(policies, NewRetryPolicy(&cp.Retry))
|
policies = append(policies, NewRetryPolicy(&cp.Retry))
|
||||||
policies = append(policies, plOpts.PerRetry...)
|
policies = append(policies, plOpts.PerRetry...)
|
||||||
policies = append(policies, cp.PerRetryPolicies...)
|
policies = append(policies, cp.PerRetryPolicies...)
|
||||||
|
policies = append(policies, exported.PolicyFunc(httpHeaderPolicy))
|
||||||
|
policies = append(policies, newHTTPTracePolicy(cp.Logging.AllowedQueryParams))
|
||||||
policies = append(policies, NewLogPolicy(&cp.Logging))
|
policies = append(policies, NewLogPolicy(&cp.Logging))
|
||||||
policies = append(policies, exported.PolicyFunc(httpHeaderPolicy), exported.PolicyFunc(bodyDownloadPolicy))
|
policies = append(policies, exported.PolicyFunc(bodyDownloadPolicy))
|
||||||
transport := cp.Transport
|
transport := cp.Transport
|
||||||
if transport == nil {
|
if transport == nil {
|
||||||
transport = defaultHTTPClient
|
transport = defaultHTTPClient
|
||||||
|
|
39
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_bearer_token.go
generated
vendored
39
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_bearer_token.go
generated
vendored
|
@ -35,7 +35,7 @@ type acquiringResourceState struct {
|
||||||
// acquire acquires or updates the resource; only one
|
// acquire acquires or updates the resource; only one
|
||||||
// thread/goroutine at a time ever calls this function
|
// thread/goroutine at a time ever calls this function
|
||||||
func acquire(state acquiringResourceState) (newResource exported.AccessToken, newExpiration time.Time, err error) {
|
func acquire(state acquiringResourceState) (newResource exported.AccessToken, newExpiration time.Time, err error) {
|
||||||
tk, err := state.p.cred.GetToken(state.req.Raw().Context(), state.tro)
|
tk, err := state.p.cred.GetToken(&shared.ContextWithDeniedValues{Context: state.req.Raw().Context()}, state.tro)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return exported.AccessToken{}, time.Time{}, err
|
return exported.AccessToken{}, time.Time{}, err
|
||||||
}
|
}
|
||||||
|
@ -73,9 +73,17 @@ func (b *BearerTokenPolicy) authenticateAndAuthorize(req *policy.Request) func(p
|
||||||
|
|
||||||
// Do authorizes a request with a bearer token
|
// Do authorizes a request with a bearer token
|
||||||
func (b *BearerTokenPolicy) Do(req *policy.Request) (*http.Response, error) {
|
func (b *BearerTokenPolicy) Do(req *policy.Request) (*http.Response, error) {
|
||||||
if strings.ToLower(req.Raw().URL.Scheme) != "https" {
|
// skip adding the authorization header if no TokenCredential was provided.
|
||||||
return nil, shared.NonRetriableError(errors.New("bearer token authentication is not permitted for non TLS protected (https) endpoints"))
|
// this prevents a panic that might be hard to diagnose and allows testing
|
||||||
|
// against http endpoints that don't require authentication.
|
||||||
|
if b.cred == nil {
|
||||||
|
return req.Next()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := checkHTTPSForAuth(req); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
if b.authzHandler.OnRequest != nil {
|
if b.authzHandler.OnRequest != nil {
|
||||||
err = b.authzHandler.OnRequest(req, b.authenticateAndAuthorize(req))
|
err = b.authzHandler.OnRequest(req, b.authenticateAndAuthorize(req))
|
||||||
|
@ -83,7 +91,7 @@ func (b *BearerTokenPolicy) Do(req *policy.Request) (*http.Response, error) {
|
||||||
err = b.authenticateAndAuthorize(req)(policy.TokenRequestOptions{Scopes: b.scopes})
|
err = b.authenticateAndAuthorize(req)(policy.TokenRequestOptions{Scopes: b.scopes})
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ensureNonRetriable(err)
|
return nil, errorinfo.NonRetriableError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
res, err := req.Next()
|
res, err := req.Next()
|
||||||
|
@ -99,22 +107,15 @@ func (b *BearerTokenPolicy) Do(req *policy.Request) (*http.Response, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res, ensureNonRetriable(err)
|
if err != nil {
|
||||||
}
|
err = errorinfo.NonRetriableError(err)
|
||||||
|
|
||||||
func ensureNonRetriable(err error) error {
|
|
||||||
var nre errorinfo.NonRetriable
|
|
||||||
if err != nil && !errors.As(err, &nre) {
|
|
||||||
err = btpError{err}
|
|
||||||
}
|
}
|
||||||
return err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// btpError is a wrapper that ensures RetryPolicy doesn't retry requests BearerTokenPolicy couldn't authorize
|
func checkHTTPSForAuth(req *policy.Request) error {
|
||||||
type btpError struct {
|
if strings.ToLower(req.Raw().URL.Scheme) != "https" {
|
||||||
error
|
return errorinfo.NonRetriableError(errors.New("authenticated requests are not permitted for non TLS protected (https) endpoints"))
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (btpError) NonRetriable() {}
|
|
||||||
|
|
||||||
var _ errorinfo.NonRetriable = (*btpError)(nil)
|
|
||||||
|
|
143
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go
generated
vendored
Normal file
143
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go
generated
vendored
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
//go:build go1.18
|
||||||
|
// +build go1.18
|
||||||
|
|
||||||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
// Licensed under the MIT License.
|
||||||
|
|
||||||
|
package runtime
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
attrHTTPMethod = "http.method"
|
||||||
|
attrHTTPURL = "http.url"
|
||||||
|
attrHTTPUserAgent = "http.user_agent"
|
||||||
|
attrHTTPStatusCode = "http.status_code"
|
||||||
|
|
||||||
|
attrAZClientReqID = "az.client_request_id"
|
||||||
|
attrAZServiceReqID = "az.service_request_id"
|
||||||
|
|
||||||
|
attrNetPeerName = "net.peer.name"
|
||||||
|
)
|
||||||
|
|
||||||
|
// newHTTPTracePolicy creates a new instance of the httpTracePolicy.
|
||||||
|
// - allowedQueryParams contains the user-specified query parameters that don't need to be redacted from the trace
|
||||||
|
func newHTTPTracePolicy(allowedQueryParams []string) exported.Policy {
|
||||||
|
return &httpTracePolicy{allowedQP: getAllowedQueryParams(allowedQueryParams)}
|
||||||
|
}
|
||||||
|
|
||||||
|
// httpTracePolicy is a policy that creates a trace for the HTTP request and its response
|
||||||
|
type httpTracePolicy struct {
|
||||||
|
allowedQP map[string]struct{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do implements the pipeline.Policy interfaces for the httpTracePolicy type.
|
||||||
|
func (h *httpTracePolicy) Do(req *policy.Request) (resp *http.Response, err error) {
|
||||||
|
rawTracer := req.Raw().Context().Value(shared.CtxWithTracingTracer{})
|
||||||
|
if tracer, ok := rawTracer.(tracing.Tracer); ok && tracer.Enabled() {
|
||||||
|
attributes := []tracing.Attribute{
|
||||||
|
{Key: attrHTTPMethod, Value: req.Raw().Method},
|
||||||
|
{Key: attrHTTPURL, Value: getSanitizedURL(*req.Raw().URL, h.allowedQP)},
|
||||||
|
{Key: attrNetPeerName, Value: req.Raw().URL.Host},
|
||||||
|
}
|
||||||
|
|
||||||
|
if ua := req.Raw().Header.Get(shared.HeaderUserAgent); ua != "" {
|
||||||
|
attributes = append(attributes, tracing.Attribute{Key: attrHTTPUserAgent, Value: ua})
|
||||||
|
}
|
||||||
|
if reqID := req.Raw().Header.Get(shared.HeaderXMSClientRequestID); reqID != "" {
|
||||||
|
attributes = append(attributes, tracing.Attribute{Key: attrAZClientReqID, Value: reqID})
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx := req.Raw().Context()
|
||||||
|
ctx, span := tracer.Start(ctx, "HTTP "+req.Raw().Method, &tracing.SpanOptions{
|
||||||
|
Kind: tracing.SpanKindClient,
|
||||||
|
Attributes: attributes,
|
||||||
|
})
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
if resp != nil {
|
||||||
|
span.SetAttributes(tracing.Attribute{Key: attrHTTPStatusCode, Value: resp.StatusCode})
|
||||||
|
if resp.StatusCode > 399 {
|
||||||
|
span.SetStatus(tracing.SpanStatusError, resp.Status)
|
||||||
|
}
|
||||||
|
if reqID := resp.Header.Get(shared.HeaderXMSRequestID); reqID != "" {
|
||||||
|
span.SetAttributes(tracing.Attribute{Key: attrAZServiceReqID, Value: reqID})
|
||||||
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
var urlErr *url.Error
|
||||||
|
if errors.As(err, &urlErr) {
|
||||||
|
// calling *url.Error.Error() will include the unsanitized URL
|
||||||
|
// which we don't want. in addition, we already have the HTTP verb
|
||||||
|
// and sanitized URL in the trace so we aren't losing any info
|
||||||
|
err = urlErr.Err
|
||||||
|
}
|
||||||
|
span.SetStatus(tracing.SpanStatusError, err.Error())
|
||||||
|
}
|
||||||
|
span.End()
|
||||||
|
}()
|
||||||
|
|
||||||
|
req = req.WithContext(ctx)
|
||||||
|
}
|
||||||
|
resp, err = req.Next()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartSpanOptions contains the optional values for StartSpan.
|
||||||
|
type StartSpanOptions struct {
|
||||||
|
// for future expansion
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartSpan starts a new tracing span.
|
||||||
|
// You must call the returned func to terminate the span. Pass the applicable error
|
||||||
|
// if the span will exit with an error condition.
|
||||||
|
// - ctx is the parent context of the newly created context
|
||||||
|
// - name is the name of the span. this is typically the fully qualified name of an API ("Client.Method")
|
||||||
|
// - tracer is the client's Tracer for creating spans
|
||||||
|
// - options contains optional values. pass nil to accept any default values
|
||||||
|
func StartSpan(ctx context.Context, name string, tracer tracing.Tracer, options *StartSpanOptions) (context.Context, func(error)) {
|
||||||
|
if !tracer.Enabled() {
|
||||||
|
return ctx, func(err error) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// we MUST propagate the active tracer before returning so that the trace policy can access it
|
||||||
|
ctx = context.WithValue(ctx, shared.CtxWithTracingTracer{}, tracer)
|
||||||
|
|
||||||
|
const newSpanKind = tracing.SpanKindInternal
|
||||||
|
if activeSpan := ctx.Value(ctxActiveSpan{}); activeSpan != nil {
|
||||||
|
// per the design guidelines, if a SDK method Foo() calls SDK method Bar(),
|
||||||
|
// then the span for Bar() must be suppressed. however, if Bar() makes a REST
|
||||||
|
// call, then Bar's HTTP span must be a child of Foo's span.
|
||||||
|
// however, there is an exception to this rule. if the SDK method Foo() is a
|
||||||
|
// messaging producer/consumer, and it takes a callback that's a SDK method
|
||||||
|
// Bar(), then the span for Bar() must _not_ be suppressed.
|
||||||
|
if kind := activeSpan.(tracing.SpanKind); kind == tracing.SpanKindClient || kind == tracing.SpanKindInternal {
|
||||||
|
return ctx, func(err error) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ctx, span := tracer.Start(ctx, name, &tracing.SpanOptions{
|
||||||
|
Kind: newSpanKind,
|
||||||
|
})
|
||||||
|
ctx = context.WithValue(ctx, ctxActiveSpan{}, newSpanKind)
|
||||||
|
return ctx, func(err error) {
|
||||||
|
if err != nil {
|
||||||
|
errType := strings.Replace(fmt.Sprintf("%T", err), "*exported.", "*azcore.", 1)
|
||||||
|
span.SetStatus(tracing.SpanStatusError, fmt.Sprintf("%s:\n%s", errType, err.Error()))
|
||||||
|
}
|
||||||
|
span.End()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ctxActiveSpan is used as a context key for indicating a SDK client span is in progress.
|
||||||
|
type ctxActiveSpan struct{}
|
16
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_key_credential.go
generated
vendored
16
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_key_credential.go
generated
vendored
|
@ -40,10 +40,18 @@ func NewKeyCredentialPolicy(cred *exported.KeyCredential, header string, options
|
||||||
|
|
||||||
// Do implementes the Do method on the [policy.Polilcy] interface.
|
// Do implementes the Do method on the [policy.Polilcy] interface.
|
||||||
func (k *KeyCredentialPolicy) Do(req *policy.Request) (*http.Response, error) {
|
func (k *KeyCredentialPolicy) Do(req *policy.Request) (*http.Response, error) {
|
||||||
val := exported.KeyCredentialGet(k.cred)
|
// skip adding the authorization header if no KeyCredential was provided.
|
||||||
if k.prefix != "" {
|
// this prevents a panic that might be hard to diagnose and allows testing
|
||||||
val = k.prefix + val
|
// against http endpoints that don't require authentication.
|
||||||
|
if k.cred != nil {
|
||||||
|
if err := checkHTTPSForAuth(req); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
val := exported.KeyCredentialGet(k.cred)
|
||||||
|
if k.prefix != "" {
|
||||||
|
val = k.prefix + val
|
||||||
|
}
|
||||||
|
req.Raw().Header.Add(k.header, val)
|
||||||
}
|
}
|
||||||
req.Raw().Header.Add(k.header, val)
|
|
||||||
return req.Next()
|
return req.Next()
|
||||||
}
|
}
|
||||||
|
|
3
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go
generated
vendored
3
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go
generated
vendored
|
@ -191,7 +191,8 @@ func (p *logPolicy) writeHeader(b *bytes.Buffer, header http.Header) {
|
||||||
}
|
}
|
||||||
sort.Strings(keys)
|
sort.Strings(keys)
|
||||||
for _, k := range keys {
|
for _, k := range keys {
|
||||||
value := header.Get(k)
|
// don't use Get() as it will canonicalize k which might cause a mismatch
|
||||||
|
value := header[k][0]
|
||||||
// redact all header values not in the allow-list
|
// redact all header values not in the allow-list
|
||||||
if _, ok := p.allowedHeaders[strings.ToLower(k)]; !ok {
|
if _, ok := p.allowedHeaders[strings.ToLower(k)]; !ok {
|
||||||
value = redactedValue
|
value = redactedValue
|
||||||
|
|
10
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go
generated
vendored
10
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go
generated
vendored
|
@ -59,15 +59,7 @@ func setDefaults(o *policy.RetryOptions) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func calcDelay(o policy.RetryOptions, try int32) time.Duration { // try is >=1; never 0
|
func calcDelay(o policy.RetryOptions, try int32) time.Duration { // try is >=1; never 0
|
||||||
pow := func(number int64, exponent int32) int64 { // pow is nested helper function
|
delay := time.Duration((1<<try)-1) * o.RetryDelay
|
||||||
var result int64 = 1
|
|
||||||
for n := int32(0); n < exponent; n++ {
|
|
||||||
result *= number
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
delay := time.Duration(pow(2, try)-1) * o.RetryDelay
|
|
||||||
|
|
||||||
// Introduce some jitter: [0.0, 1.0) / 2 = [0.0, 0.5) + 0.8 = [0.8, 1.3)
|
// Introduce some jitter: [0.0, 1.0) / 2 = [0.0, 0.5) + 0.8 = [0.8, 1.3)
|
||||||
delay = time.Duration(delay.Seconds() * (rand.Float64()/2 + 0.8) * float64(time.Second)) // NOTE: We want math/rand; not crypto/rand
|
delay = time.Duration(delay.Seconds() * (rand.Float64()/2 + 0.8) * float64(time.Second)) // NOTE: We want math/rand; not crypto/rand
|
||||||
|
|
10
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_sas_credential.go
generated
vendored
10
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_sas_credential.go
generated
vendored
|
@ -34,6 +34,14 @@ func NewSASCredentialPolicy(cred *exported.SASCredential, header string, options
|
||||||
|
|
||||||
// Do implementes the Do method on the [policy.Polilcy] interface.
|
// Do implementes the Do method on the [policy.Polilcy] interface.
|
||||||
func (k *SASCredentialPolicy) Do(req *policy.Request) (*http.Response, error) {
|
func (k *SASCredentialPolicy) Do(req *policy.Request) (*http.Response, error) {
|
||||||
req.Raw().Header.Add(k.header, exported.SASCredentialGet(k.cred))
|
// skip adding the authorization header if no SASCredential was provided.
|
||||||
|
// this prevents a panic that might be hard to diagnose and allows testing
|
||||||
|
// against http endpoints that don't require authentication.
|
||||||
|
if k.cred != nil {
|
||||||
|
if err := checkHTTPSForAuth(req); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
req.Raw().Header.Add(k.header, exported.SASCredentialGet(k.cred))
|
||||||
|
}
|
||||||
return req.Next()
|
return req.Next()
|
||||||
}
|
}
|
||||||
|
|
4
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go
generated
vendored
4
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go
generated
vendored
|
@ -43,6 +43,10 @@ func NewTelemetryPolicy(mod, ver string, o *policy.TelemetryOptions) policy.Poli
|
||||||
b.WriteString(o.ApplicationID)
|
b.WriteString(o.ApplicationID)
|
||||||
b.WriteRune(' ')
|
b.WriteRune(' ')
|
||||||
}
|
}
|
||||||
|
// mod might be the fully qualified name. in that case, we just want the package name
|
||||||
|
if i := strings.LastIndex(mod, "/"); i > -1 {
|
||||||
|
mod = mod[i+1:]
|
||||||
|
}
|
||||||
b.WriteString(formatTelemetry(mod, ver))
|
b.WriteString(formatTelemetry(mod, ver))
|
||||||
b.WriteRune(' ')
|
b.WriteRune(' ')
|
||||||
b.WriteString(platformInfo)
|
b.WriteString(platformInfo)
|
||||||
|
|
103
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go
generated
vendored
103
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go
generated
vendored
|
@ -13,6 +13,8 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"reflect"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
||||||
|
@ -20,9 +22,11 @@ import (
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/internal/poller"
|
"github.com/Azure/azure-sdk-for-go/sdk/internal/poller"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -54,6 +58,9 @@ type NewPollerOptions[T any] struct {
|
||||||
|
|
||||||
// Handler[T] contains a custom polling implementation.
|
// Handler[T] contains a custom polling implementation.
|
||||||
Handler PollingHandler[T]
|
Handler PollingHandler[T]
|
||||||
|
|
||||||
|
// Tracer contains the Tracer from the client that's creating the Poller.
|
||||||
|
Tracer tracing.Tracer
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewPoller creates a Poller based on the provided initial response.
|
// NewPoller creates a Poller based on the provided initial response.
|
||||||
|
@ -70,6 +77,7 @@ func NewPoller[T any](resp *http.Response, pl exported.Pipeline, options *NewPol
|
||||||
op: options.Handler,
|
op: options.Handler,
|
||||||
resp: resp,
|
resp: resp,
|
||||||
result: result,
|
result: result,
|
||||||
|
tracer: options.Tracer,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +91,9 @@ func NewPoller[T any](resp *http.Response, pl exported.Pipeline, options *NewPol
|
||||||
// determine the polling method
|
// determine the polling method
|
||||||
var opr PollingHandler[T]
|
var opr PollingHandler[T]
|
||||||
var err error
|
var err error
|
||||||
if async.Applicable(resp) {
|
if fake.Applicable(resp) {
|
||||||
|
opr, err = fake.New[T](pl, resp)
|
||||||
|
} else if async.Applicable(resp) {
|
||||||
// async poller must be checked first as it can also have a location header
|
// async poller must be checked first as it can also have a location header
|
||||||
opr, err = async.New[T](pl, resp, options.FinalStateVia)
|
opr, err = async.New[T](pl, resp, options.FinalStateVia)
|
||||||
} else if op.Applicable(resp) {
|
} else if op.Applicable(resp) {
|
||||||
|
@ -110,6 +120,7 @@ func NewPoller[T any](resp *http.Response, pl exported.Pipeline, options *NewPol
|
||||||
op: opr,
|
op: opr,
|
||||||
resp: resp,
|
resp: resp,
|
||||||
result: result,
|
result: result,
|
||||||
|
tracer: options.Tracer,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,6 +132,9 @@ type NewPollerFromResumeTokenOptions[T any] struct {
|
||||||
|
|
||||||
// Handler[T] contains a custom polling implementation.
|
// Handler[T] contains a custom polling implementation.
|
||||||
Handler PollingHandler[T]
|
Handler PollingHandler[T]
|
||||||
|
|
||||||
|
// Tracer contains the Tracer from the client that's creating the Poller.
|
||||||
|
Tracer tracing.Tracer
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewPollerFromResumeToken creates a Poller from a resume token string.
|
// NewPollerFromResumeToken creates a Poller from a resume token string.
|
||||||
|
@ -147,7 +161,9 @@ func NewPollerFromResumeToken[T any](token string, pl exported.Pipeline, options
|
||||||
|
|
||||||
opr := options.Handler
|
opr := options.Handler
|
||||||
// now rehydrate the poller based on the encoded poller type
|
// now rehydrate the poller based on the encoded poller type
|
||||||
if opr != nil {
|
if fake.CanResume(asJSON) {
|
||||||
|
opr, _ = fake.New[T](pl, nil)
|
||||||
|
} else if opr != nil {
|
||||||
log.Writef(log.EventLRO, "Resuming custom poller %T.", opr)
|
log.Writef(log.EventLRO, "Resuming custom poller %T.", opr)
|
||||||
} else if async.CanResume(asJSON) {
|
} else if async.CanResume(asJSON) {
|
||||||
opr, _ = async.New[T](pl, nil, "")
|
opr, _ = async.New[T](pl, nil, "")
|
||||||
|
@ -166,6 +182,7 @@ func NewPollerFromResumeToken[T any](token string, pl exported.Pipeline, options
|
||||||
return &Poller[T]{
|
return &Poller[T]{
|
||||||
op: opr,
|
op: opr,
|
||||||
result: result,
|
result: result,
|
||||||
|
tracer: options.Tracer,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,6 +205,7 @@ type Poller[T any] struct {
|
||||||
resp *http.Response
|
resp *http.Response
|
||||||
err error
|
err error
|
||||||
result *T
|
result *T
|
||||||
|
tracer tracing.Tracer
|
||||||
done bool
|
done bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +221,7 @@ type PollUntilDoneOptions struct {
|
||||||
// options: pass nil to accept the default values.
|
// options: pass nil to accept the default values.
|
||||||
// NOTE: the default polling frequency is 30 seconds which works well for most operations. However, some operations might
|
// NOTE: the default polling frequency is 30 seconds which works well for most operations. However, some operations might
|
||||||
// benefit from a shorter or longer duration.
|
// benefit from a shorter or longer duration.
|
||||||
func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOptions) (T, error) {
|
func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOptions) (res T, err error) {
|
||||||
if options == nil {
|
if options == nil {
|
||||||
options = &PollUntilDoneOptions{}
|
options = &PollUntilDoneOptions{}
|
||||||
}
|
}
|
||||||
|
@ -212,9 +230,13 @@ func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOpt
|
||||||
cp.Frequency = 30 * time.Second
|
cp.Frequency = 30 * time.Second
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx, endSpan := StartSpan(ctx, fmt.Sprintf("%s.PollUntilDone", shortenTypeName(reflect.TypeOf(*p).Name())), p.tracer, nil)
|
||||||
|
defer func() { endSpan(err) }()
|
||||||
|
|
||||||
// skip the floor check when executing tests so they don't take so long
|
// skip the floor check when executing tests so they don't take so long
|
||||||
if isTest := flag.Lookup("test.v"); isTest == nil && cp.Frequency < time.Second {
|
if isTest := flag.Lookup("test.v"); isTest == nil && cp.Frequency < time.Second {
|
||||||
return *new(T), errors.New("polling frequency minimum is one second")
|
err = errors.New("polling frequency minimum is one second")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
|
@ -226,22 +248,24 @@ func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOpt
|
||||||
// initial check for a retry-after header existing on the initial response
|
// initial check for a retry-after header existing on the initial response
|
||||||
if retryAfter := shared.RetryAfter(p.resp); retryAfter > 0 {
|
if retryAfter := shared.RetryAfter(p.resp); retryAfter > 0 {
|
||||||
log.Writef(log.EventLRO, "initial Retry-After delay for %s", retryAfter.String())
|
log.Writef(log.EventLRO, "initial Retry-After delay for %s", retryAfter.String())
|
||||||
if err := shared.Delay(ctx, retryAfter); err != nil {
|
if err = shared.Delay(ctx, retryAfter); err != nil {
|
||||||
logPollUntilDoneExit(err)
|
logPollUntilDoneExit(err)
|
||||||
return *new(T), err
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// begin polling the endpoint until a terminal state is reached
|
// begin polling the endpoint until a terminal state is reached
|
||||||
for {
|
for {
|
||||||
resp, err := p.Poll(ctx)
|
var resp *http.Response
|
||||||
|
resp, err = p.Poll(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logPollUntilDoneExit(err)
|
logPollUntilDoneExit(err)
|
||||||
return *new(T), err
|
return
|
||||||
}
|
}
|
||||||
if p.Done() {
|
if p.Done() {
|
||||||
logPollUntilDoneExit("succeeded")
|
logPollUntilDoneExit("succeeded")
|
||||||
return p.Result(ctx)
|
res, err = p.Result(ctx)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
d := cp.Frequency
|
d := cp.Frequency
|
||||||
if retryAfter := shared.RetryAfter(resp); retryAfter > 0 {
|
if retryAfter := shared.RetryAfter(resp); retryAfter > 0 {
|
||||||
|
@ -252,7 +276,7 @@ func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOpt
|
||||||
}
|
}
|
||||||
if err = shared.Delay(ctx, d); err != nil {
|
if err = shared.Delay(ctx, d); err != nil {
|
||||||
logPollUntilDoneExit(err)
|
logPollUntilDoneExit(err)
|
||||||
return *new(T), err
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -261,17 +285,22 @@ func (p *Poller[T]) PollUntilDone(ctx context.Context, options *PollUntilDoneOpt
|
||||||
// If Poll succeeds, the poller's state is updated and the HTTP response is returned.
|
// If Poll succeeds, the poller's state is updated and the HTTP response is returned.
|
||||||
// If Poll fails, the poller's state is unmodified and the error is returned.
|
// If Poll fails, the poller's state is unmodified and the error is returned.
|
||||||
// Calling Poll on an LRO that has reached a terminal state will return the last HTTP response.
|
// Calling Poll on an LRO that has reached a terminal state will return the last HTTP response.
|
||||||
func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error) {
|
func (p *Poller[T]) Poll(ctx context.Context) (resp *http.Response, err error) {
|
||||||
if p.Done() {
|
if p.Done() {
|
||||||
// the LRO has reached a terminal state, don't poll again
|
// the LRO has reached a terminal state, don't poll again
|
||||||
return p.resp, nil
|
resp = p.resp
|
||||||
|
return
|
||||||
}
|
}
|
||||||
resp, err := p.op.Poll(ctx)
|
|
||||||
|
ctx, endSpan := StartSpan(ctx, fmt.Sprintf("%s.Poll", shortenTypeName(reflect.TypeOf(*p).Name())), p.tracer, nil)
|
||||||
|
defer func() { endSpan(err) }()
|
||||||
|
|
||||||
|
resp, err = p.op.Poll(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return
|
||||||
}
|
}
|
||||||
p.resp = resp
|
p.resp = resp
|
||||||
return p.resp, nil
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Done returns true if the LRO has reached a terminal state.
|
// Done returns true if the LRO has reached a terminal state.
|
||||||
|
@ -284,31 +313,40 @@ func (p *Poller[T]) Done() bool {
|
||||||
// If the LRO completed successfully, a populated instance of T is returned.
|
// If the LRO completed successfully, a populated instance of T is returned.
|
||||||
// If the LRO failed or was canceled, an *azcore.ResponseError error is returned.
|
// If the LRO failed or was canceled, an *azcore.ResponseError error is returned.
|
||||||
// Calling this on an LRO in a non-terminal state will return an error.
|
// Calling this on an LRO in a non-terminal state will return an error.
|
||||||
func (p *Poller[T]) Result(ctx context.Context) (T, error) {
|
func (p *Poller[T]) Result(ctx context.Context) (res T, err error) {
|
||||||
if !p.Done() {
|
if !p.Done() {
|
||||||
return *new(T), errors.New("poller is in a non-terminal state")
|
err = errors.New("poller is in a non-terminal state")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if p.done {
|
if p.done {
|
||||||
// the result has already been retrieved, return the cached value
|
// the result has already been retrieved, return the cached value
|
||||||
if p.err != nil {
|
if p.err != nil {
|
||||||
return *new(T), p.err
|
err = p.err
|
||||||
|
return
|
||||||
}
|
}
|
||||||
return *p.result, nil
|
res = *p.result
|
||||||
|
return
|
||||||
}
|
}
|
||||||
err := p.op.Result(ctx, p.result)
|
|
||||||
|
ctx, endSpan := StartSpan(ctx, fmt.Sprintf("%s.Result", shortenTypeName(reflect.TypeOf(*p).Name())), p.tracer, nil)
|
||||||
|
defer func() { endSpan(err) }()
|
||||||
|
|
||||||
|
err = p.op.Result(ctx, p.result)
|
||||||
var respErr *exported.ResponseError
|
var respErr *exported.ResponseError
|
||||||
if errors.As(err, &respErr) {
|
if errors.As(err, &respErr) {
|
||||||
// the LRO failed. record the error
|
// the LRO failed. record the error
|
||||||
p.err = err
|
p.err = err
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
// the call to Result failed, don't cache anything in this case
|
// the call to Result failed, don't cache anything in this case
|
||||||
return *new(T), err
|
return
|
||||||
}
|
}
|
||||||
p.done = true
|
p.done = true
|
||||||
if p.err != nil {
|
if p.err != nil {
|
||||||
return *new(T), p.err
|
err = p.err
|
||||||
|
return
|
||||||
}
|
}
|
||||||
return *p.result, nil
|
res = *p.result
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResumeToken returns a value representing the poller that can be used to resume
|
// ResumeToken returns a value representing the poller that can be used to resume
|
||||||
|
@ -325,3 +363,22 @@ func (p *Poller[T]) ResumeToken() (string, error) {
|
||||||
}
|
}
|
||||||
return tk, err
|
return tk, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// extracts the type name from the string returned from reflect.Value.Name()
|
||||||
|
func shortenTypeName(s string) string {
|
||||||
|
// the value is formatted as follows
|
||||||
|
// Poller[module/Package.Type].Method
|
||||||
|
// we want to shorten the generic type parameter string to Type
|
||||||
|
// anything we don't recognize will be left as-is
|
||||||
|
begin := strings.Index(s, "[")
|
||||||
|
end := strings.Index(s, "]")
|
||||||
|
if begin == -1 || end == -1 {
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
typeName := s[begin+1 : end]
|
||||||
|
if i := strings.LastIndex(typeName, "."); i > -1 {
|
||||||
|
typeName = typeName[i+1:]
|
||||||
|
}
|
||||||
|
return s[:begin+1] + typeName + s[end:]
|
||||||
|
}
|
||||||
|
|
97
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go
generated
vendored
97
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go
generated
vendored
|
@ -9,18 +9,14 @@ package runtime
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"encoding/base64"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"mime/multipart"
|
"mime/multipart"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
|
||||||
"path"
|
"path"
|
||||||
"reflect"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
"github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared"
|
||||||
|
@ -29,14 +25,14 @@ import (
|
||||||
|
|
||||||
// Base64Encoding is usesd to specify which base-64 encoder/decoder to use when
|
// Base64Encoding is usesd to specify which base-64 encoder/decoder to use when
|
||||||
// encoding/decoding a slice of bytes to/from a string.
|
// encoding/decoding a slice of bytes to/from a string.
|
||||||
type Base64Encoding int
|
type Base64Encoding = exported.Base64Encoding
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Base64StdFormat uses base64.StdEncoding for encoding and decoding payloads.
|
// Base64StdFormat uses base64.StdEncoding for encoding and decoding payloads.
|
||||||
Base64StdFormat Base64Encoding = 0
|
Base64StdFormat Base64Encoding = exported.Base64StdFormat
|
||||||
|
|
||||||
// Base64URLFormat uses base64.RawURLEncoding for encoding and decoding payloads.
|
// Base64URLFormat uses base64.RawURLEncoding for encoding and decoding payloads.
|
||||||
Base64URLFormat Base64Encoding = 1
|
Base64URLFormat Base64Encoding = exported.Base64URLFormat
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewRequest creates a new policy.Request with the specified input.
|
// NewRequest creates a new policy.Request with the specified input.
|
||||||
|
@ -93,10 +89,7 @@ func JoinPaths(root string, paths ...string) string {
|
||||||
|
|
||||||
// EncodeByteArray will base-64 encode the byte slice v.
|
// EncodeByteArray will base-64 encode the byte slice v.
|
||||||
func EncodeByteArray(v []byte, format Base64Encoding) string {
|
func EncodeByteArray(v []byte, format Base64Encoding) string {
|
||||||
if format == Base64URLFormat {
|
return exported.EncodeByteArray(v, format)
|
||||||
return base64.RawURLEncoding.EncodeToString(v)
|
|
||||||
}
|
|
||||||
return base64.StdEncoding.EncodeToString(v)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MarshalAsByteArray will base-64 encode the byte slice v, then calls SetBody.
|
// MarshalAsByteArray will base-64 encode the byte slice v, then calls SetBody.
|
||||||
|
@ -109,9 +102,6 @@ func MarshalAsByteArray(req *policy.Request, v []byte, format Base64Encoding) er
|
||||||
|
|
||||||
// MarshalAsJSON calls json.Marshal() to get the JSON encoding of v then calls SetBody.
|
// MarshalAsJSON calls json.Marshal() to get the JSON encoding of v then calls SetBody.
|
||||||
func MarshalAsJSON(req *policy.Request, v interface{}) error {
|
func MarshalAsJSON(req *policy.Request, v interface{}) error {
|
||||||
if omit := os.Getenv("AZURE_SDK_GO_OMIT_READONLY"); omit == "true" {
|
|
||||||
v = cloneWithoutReadOnlyFields(v)
|
|
||||||
}
|
|
||||||
b, err := json.Marshal(v)
|
b, err := json.Marshal(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error marshalling type %T: %s", v, err)
|
return fmt.Errorf("error marshalling type %T: %s", v, err)
|
||||||
|
@ -183,80 +173,5 @@ func SkipBodyDownload(req *policy.Request) {
|
||||||
req.SetOperationValue(bodyDownloadPolicyOpValues{Skip: true})
|
req.SetOperationValue(bodyDownloadPolicyOpValues{Skip: true})
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns a clone of the object graph pointed to by v, omitting values of all read-only
|
// CtxAPINameKey is used as a context key for adding/retrieving the API name.
|
||||||
// fields. if there are no read-only fields in the object graph, no clone is created.
|
type CtxAPINameKey = shared.CtxAPINameKey
|
||||||
func cloneWithoutReadOnlyFields(v interface{}) interface{} {
|
|
||||||
val := reflect.Indirect(reflect.ValueOf(v))
|
|
||||||
if val.Kind() != reflect.Struct {
|
|
||||||
// not a struct, skip
|
|
||||||
return v
|
|
||||||
}
|
|
||||||
// first walk the graph to find any R/O fields.
|
|
||||||
// if there aren't any, skip cloning the graph.
|
|
||||||
if !recursiveFindReadOnlyField(val) {
|
|
||||||
return v
|
|
||||||
}
|
|
||||||
return recursiveCloneWithoutReadOnlyFields(val)
|
|
||||||
}
|
|
||||||
|
|
||||||
// returns true if any field in the object graph of val contains the `azure:"ro"` tag value
|
|
||||||
func recursiveFindReadOnlyField(val reflect.Value) bool {
|
|
||||||
t := val.Type()
|
|
||||||
// iterate over the fields, looking for the "azure" tag.
|
|
||||||
for i := 0; i < t.NumField(); i++ {
|
|
||||||
field := t.Field(i)
|
|
||||||
aztag := field.Tag.Get("azure")
|
|
||||||
if azureTagIsReadOnly(aztag) {
|
|
||||||
return true
|
|
||||||
} else if reflect.Indirect(val.Field(i)).Kind() == reflect.Struct && recursiveFindReadOnlyField(reflect.Indirect(val.Field(i))) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// clones the object graph of val. all non-R/O properties are copied to the clone
|
|
||||||
func recursiveCloneWithoutReadOnlyFields(val reflect.Value) interface{} {
|
|
||||||
t := val.Type()
|
|
||||||
clone := reflect.New(t)
|
|
||||||
// iterate over the fields, looking for the "azure" tag.
|
|
||||||
for i := 0; i < t.NumField(); i++ {
|
|
||||||
field := t.Field(i)
|
|
||||||
aztag := field.Tag.Get("azure")
|
|
||||||
if azureTagIsReadOnly(aztag) {
|
|
||||||
// omit from payload
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
// clone field will receive the same value as the source field...
|
|
||||||
value := val.Field(i)
|
|
||||||
v := reflect.Indirect(value)
|
|
||||||
if v.IsValid() && v.Type() != reflect.TypeOf(time.Time{}) && v.Kind() == reflect.Struct {
|
|
||||||
// ...unless the source value is a struct, in which case we recurse to clone that struct.
|
|
||||||
// (We can't recursively clone time.Time because it contains unexported fields.)
|
|
||||||
c := recursiveCloneWithoutReadOnlyFields(v)
|
|
||||||
if field.Anonymous {
|
|
||||||
// NOTE: this does not handle the case of embedded fields of unexported struct types.
|
|
||||||
// this should be ok as we don't generate any code like this at present
|
|
||||||
value = reflect.Indirect(reflect.ValueOf(c))
|
|
||||||
} else {
|
|
||||||
value = reflect.ValueOf(c)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
reflect.Indirect(clone).Field(i).Set(value)
|
|
||||||
}
|
|
||||||
return clone.Interface()
|
|
||||||
}
|
|
||||||
|
|
||||||
// returns true if the "azure" tag contains the option "ro"
|
|
||||||
func azureTagIsReadOnly(tag string) bool {
|
|
||||||
if tag == "" {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
parts := strings.Split(tag, ",")
|
|
||||||
for _, part := range parts {
|
|
||||||
if part == "ro" {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
30
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go
generated
vendored
30
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go
generated
vendored
|
@ -8,13 +8,13 @@ package runtime
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/base64"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"encoding/xml"
|
"encoding/xml"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
azexported "github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported"
|
||||||
"github.com/Azure/azure-sdk-for-go/sdk/internal/exported"
|
"github.com/Azure/azure-sdk-for-go/sdk/internal/exported"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -105,31 +105,5 @@ func removeBOM(resp *http.Response) error {
|
||||||
|
|
||||||
// DecodeByteArray will base-64 decode the provided string into v.
|
// DecodeByteArray will base-64 decode the provided string into v.
|
||||||
func DecodeByteArray(s string, v *[]byte, format Base64Encoding) error {
|
func DecodeByteArray(s string, v *[]byte, format Base64Encoding) error {
|
||||||
if len(s) == 0 {
|
return azexported.DecodeByteArray(s, v, format)
|
||||||
return nil
|
|
||||||
}
|
|
||||||
payload := string(s)
|
|
||||||
if payload[0] == '"' {
|
|
||||||
// remove surrounding quotes
|
|
||||||
payload = payload[1 : len(payload)-1]
|
|
||||||
}
|
|
||||||
switch format {
|
|
||||||
case Base64StdFormat:
|
|
||||||
decoded, err := base64.StdEncoding.DecodeString(payload)
|
|
||||||
if err == nil {
|
|
||||||
*v = decoded
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
case Base64URLFormat:
|
|
||||||
// use raw encoding as URL format should not contain any '=' characters
|
|
||||||
decoded, err := base64.RawURLEncoding.DecodeString(payload)
|
|
||||||
if err == nil {
|
|
||||||
*v = decoded
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
default:
|
|
||||||
return fmt.Errorf("unrecognized byte array format: %d", format)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"golang.org/x/net/http2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var defaultHTTPClient *http.Client
|
var defaultHTTPClient *http.Client
|
||||||
|
@ -24,6 +26,7 @@ func init() {
|
||||||
}),
|
}),
|
||||||
ForceAttemptHTTP2: true,
|
ForceAttemptHTTP2: true,
|
||||||
MaxIdleConns: 100,
|
MaxIdleConns: 100,
|
||||||
|
MaxIdleConnsPerHost: 10,
|
||||||
IdleConnTimeout: 90 * time.Second,
|
IdleConnTimeout: 90 * time.Second,
|
||||||
TLSHandshakeTimeout: 10 * time.Second,
|
TLSHandshakeTimeout: 10 * time.Second,
|
||||||
ExpectContinueTimeout: 1 * time.Second,
|
ExpectContinueTimeout: 1 * time.Second,
|
||||||
|
@ -32,6 +35,13 @@ func init() {
|
||||||
Renegotiation: tls.RenegotiateFreelyAsClient,
|
Renegotiation: tls.RenegotiateFreelyAsClient,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
// TODO: evaluate removing this once https://github.com/golang/go/issues/59690 has been fixed
|
||||||
|
if http2Transport, err := http2.ConfigureTransports(defaultTransport); err == nil {
|
||||||
|
// if the connection has been idle for 10 seconds, send a ping frame for a health check
|
||||||
|
http2Transport.ReadIdleTimeout = 10 * time.Second
|
||||||
|
// if there's no response to the ping within the timeout, the connection will be closed
|
||||||
|
http2Transport.PingTimeout = 5 * time.Second
|
||||||
|
}
|
||||||
defaultHTTPClient = &http.Client{
|
defaultHTTPClient = &http.Client{
|
||||||
Transport: defaultTransport,
|
Transport: defaultTransport,
|
||||||
}
|
}
|
||||||
|
|
61
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go
generated
vendored
61
vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go
generated
vendored
|
@ -31,12 +31,12 @@ type Provider struct {
|
||||||
newTracerFn func(name, version string) Tracer
|
newTracerFn func(name, version string) Tracer
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewTracer creates a new Tracer for the specified name and version.
|
// NewTracer creates a new Tracer for the specified module name and version.
|
||||||
// - name - the name of the tracer object, typically the fully qualified name of the service client
|
// - module - the fully qualified name of the module
|
||||||
// - version - the version of the module in which the service client resides
|
// - version - the version of the module
|
||||||
func (p Provider) NewTracer(name, version string) (tracer Tracer) {
|
func (p Provider) NewTracer(module, version string) (tracer Tracer) {
|
||||||
if p.newTracerFn != nil {
|
if p.newTracerFn != nil {
|
||||||
tracer = p.newTracerFn(name, version)
|
tracer = p.newTracerFn(module, version)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -45,21 +45,28 @@ func (p Provider) NewTracer(name, version string) (tracer Tracer) {
|
||||||
|
|
||||||
// TracerOptions contains the optional values when creating a Tracer.
|
// TracerOptions contains the optional values when creating a Tracer.
|
||||||
type TracerOptions struct {
|
type TracerOptions struct {
|
||||||
// for future expansion
|
// SpanFromContext contains the implementation for the Tracer.SpanFromContext method.
|
||||||
|
SpanFromContext func(context.Context) Span
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewTracer creates a Tracer with the specified values.
|
// NewTracer creates a Tracer with the specified values.
|
||||||
// - newSpanFn is the underlying implementation for creating Span instances
|
// - newSpanFn is the underlying implementation for creating Span instances
|
||||||
// - options contains optional values; pass nil to accept the default value
|
// - options contains optional values; pass nil to accept the default value
|
||||||
func NewTracer(newSpanFn func(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span), options *TracerOptions) Tracer {
|
func NewTracer(newSpanFn func(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span), options *TracerOptions) Tracer {
|
||||||
|
if options == nil {
|
||||||
|
options = &TracerOptions{}
|
||||||
|
}
|
||||||
return Tracer{
|
return Tracer{
|
||||||
newSpanFn: newSpanFn,
|
newSpanFn: newSpanFn,
|
||||||
|
spanFromContextFn: options.SpanFromContext,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tracer is the factory that creates Span instances.
|
// Tracer is the factory that creates Span instances.
|
||||||
type Tracer struct {
|
type Tracer struct {
|
||||||
newSpanFn func(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span)
|
attrs []Attribute
|
||||||
|
newSpanFn func(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span)
|
||||||
|
spanFromContextFn func(ctx context.Context) Span
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start creates a new span and a context.Context that contains it.
|
// Start creates a new span and a context.Context that contains it.
|
||||||
|
@ -68,11 +75,37 @@ type Tracer struct {
|
||||||
// - options contains optional values for the span, pass nil to accept any defaults
|
// - options contains optional values for the span, pass nil to accept any defaults
|
||||||
func (t Tracer) Start(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span) {
|
func (t Tracer) Start(ctx context.Context, spanName string, options *SpanOptions) (context.Context, Span) {
|
||||||
if t.newSpanFn != nil {
|
if t.newSpanFn != nil {
|
||||||
return t.newSpanFn(ctx, spanName, options)
|
opts := SpanOptions{}
|
||||||
|
if options != nil {
|
||||||
|
opts = *options
|
||||||
|
}
|
||||||
|
opts.Attributes = append(opts.Attributes, t.attrs...)
|
||||||
|
return t.newSpanFn(ctx, spanName, &opts)
|
||||||
}
|
}
|
||||||
return ctx, Span{}
|
return ctx, Span{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetAttributes sets attrs to be applied to each Span. If a key from attrs
|
||||||
|
// already exists for an attribute of the Span it will be overwritten with
|
||||||
|
// the value contained in attrs.
|
||||||
|
func (t *Tracer) SetAttributes(attrs ...Attribute) {
|
||||||
|
t.attrs = append(t.attrs, attrs...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enabled returns true if this Tracer is capable of creating Spans.
|
||||||
|
func (t Tracer) Enabled() bool {
|
||||||
|
return t.newSpanFn != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// SpanFromContext returns the Span associated with the current context.
|
||||||
|
// If the provided context has no Span, false is returned.
|
||||||
|
func (t Tracer) SpanFromContext(ctx context.Context) Span {
|
||||||
|
if t.spanFromContextFn != nil {
|
||||||
|
return t.spanFromContextFn(ctx)
|
||||||
|
}
|
||||||
|
return Span{}
|
||||||
|
}
|
||||||
|
|
||||||
// SpanOptions contains optional settings for creating a span.
|
// SpanOptions contains optional settings for creating a span.
|
||||||
type SpanOptions struct {
|
type SpanOptions struct {
|
||||||
// Kind indicates the kind of Span.
|
// Kind indicates the kind of Span.
|
||||||
|
@ -97,9 +130,6 @@ type SpanImpl struct {
|
||||||
// AddEvent contains the implementation for the Span.AddEvent method.
|
// AddEvent contains the implementation for the Span.AddEvent method.
|
||||||
AddEvent func(string, ...Attribute)
|
AddEvent func(string, ...Attribute)
|
||||||
|
|
||||||
// AddError contains the implementation for the Span.AddError method.
|
|
||||||
AddError func(err error)
|
|
||||||
|
|
||||||
// SetStatus contains the implementation for the Span.SetStatus method.
|
// SetStatus contains the implementation for the Span.SetStatus method.
|
||||||
SetStatus func(SpanStatus, string)
|
SetStatus func(SpanStatus, string)
|
||||||
}
|
}
|
||||||
|
@ -140,13 +170,6 @@ func (s Span) AddEvent(name string, attrs ...Attribute) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddError adds the specified error event to the span.
|
|
||||||
func (s Span) AddError(err error) {
|
|
||||||
if s.impl.AddError != nil {
|
|
||||||
s.impl.AddError(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SetStatus sets the status on the span along with a description.
|
// SetStatus sets the status on the span along with a description.
|
||||||
func (s Span) SetStatus(code SpanStatus, desc string) {
|
func (s Span) SetStatus(code SpanStatus, desc string) {
|
||||||
if s.impl.SetStatus != nil {
|
if s.impl.SetStatus != nil {
|
||||||
|
|
105
vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md
generated
vendored
105
vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,108 @@
|
||||||
|
# Release (2023-11-09)
|
||||||
|
|
||||||
|
## General Highlights
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2`: v1.22.2
|
||||||
|
* **Bug Fix**: added x-amz-expected-bucket-owner to the list of headers we should sign
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.28.0](service/sqs/CHANGELOG.md#v1280-2023-11-09)
|
||||||
|
* **Feature**: This release enables customers to call SQS using AWS JSON-1.0 protocol and bug fix.
|
||||||
|
|
||||||
|
# Release (2023-11-08)
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.78.0](service/connect/CHANGELOG.md#v1780-2023-11-08)
|
||||||
|
* **Feature**: This release clarifies in our public documentation that InstanceId is a requirement for SearchUsers API requests.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.11.0](service/connectcases/CHANGELOG.md#v1110-2023-11-08)
|
||||||
|
* **Feature**: This release adds the ability to add/view comment authors through CreateRelatedItem and SearchRelatedItems API. For more information see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.33.0](service/guardduty/CHANGELOG.md#v1330-2023-11-08)
|
||||||
|
* **Feature**: Added API support for new GuardDuty EKS Audit Log finding types.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.44.0](service/lambda/CHANGELOG.md#v1440-2023-11-08)
|
||||||
|
* **Feature**: Add Node 20 (nodejs20.x) support to AWS Lambda.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.36.0](service/lexmodelsv2/CHANGELOG.md#v1360-2023-11-08)
|
||||||
|
* **Feature**: AWS Lex now supports selective log capture in conversation logs. When you enable this option within the conversation log settings, only the utterances that trigger intents and slots specified in session attributes will be logged.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.14.0](service/omics/CHANGELOG.md#v1140-2023-11-08)
|
||||||
|
* **Feature**: Adding Run UUID and Run Output URI: GetRun and StartRun API response has two new fields "uuid" and "runOutputUri".
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.62.1](service/rds/CHANGELOG.md#v1621-2023-11-08)
|
||||||
|
* **Documentation**: This Amazon RDS release adds support for patching the OS of an RDS Custom for Oracle DB instance. You can now upgrade the database or operating system using the modify-db-instance command.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.12.0](service/redshiftserverless/CHANGELOG.md#v1120-2023-11-08)
|
||||||
|
* **Feature**: Added a new parameter in the workgroup that helps you control your cost for compute resources. This feature provides a ceiling for RPUs that Amazon Redshift Serverless can scale up to. When automatic compute scaling is required, having a higher value for MaxRPU can enhance query throughput.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.17.0](service/resiliencehub/CHANGELOG.md#v1170-2023-11-08)
|
||||||
|
* **Feature**: AWS Resilience Hub enhances Resiliency Score, providing actionable recommendations to improve application resilience. Amazon Elastic Kubernetes Service (EKS) operational recommendations have been added to help improve the resilience posture of your applications.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.27.0](service/sqs/CHANGELOG.md#v1270-2023-11-08)
|
||||||
|
* **Feature**: This release enables customers to call SQS using AWS JSON-1.0 protocol.
|
||||||
|
|
||||||
|
# Release (2023-11-07)
|
||||||
|
|
||||||
|
## General Highlights
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/internal/ini`: [v1.5.1](internal/ini/CHANGELOG.md#v151-2023-11-07)
|
||||||
|
* **Bug Fix**: Fix subproperty performance regression
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.20.0](service/dlm/CHANGELOG.md#v1200-2023-11-07)
|
||||||
|
* **Feature**: Added support for pre and post scripts in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.62.0](service/rds/CHANGELOG.md#v1620-2023-11-07)
|
||||||
|
* **Feature**: This Amazon RDS release adds support for the multi-tenant configuration. In this configuration, an RDS DB instance can contain multiple tenant databases. In RDS for Oracle, a tenant database is a pluggable database (PDB).
|
||||||
|
|
||||||
|
# Release (2023-11-06)
|
||||||
|
|
||||||
|
## General Highlights
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.25.0](service/codebuild/CHANGELOG.md#v1250-2023-11-06)
|
||||||
|
* **Feature**: AWS CodeBuild now supports AWS Lambda compute.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.77.0](service/connect/CHANGELOG.md#v1770-2023-11-06)
|
||||||
|
* **Feature**: Added new API that allows Amazon Connect Outbound Campaigns to create contacts in Amazon Connect when ingesting your dial requests.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.32.0](service/costexplorer/CHANGELOG.md#v1320-2023-11-06)
|
||||||
|
* **Feature**: This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon MemoryDB reservations.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.27.0](service/docdb/CHANGELOG.md#v1270-2023-11-06)
|
||||||
|
* **Feature**: Update the input of CreateDBInstance and ModifyDBInstance to support setting CA Certificates. Update the output of DescribeDBInstance and DescribeDBEngineVersions to show current and supported CA certificates.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.27.0](service/iam/CHANGELOG.md#v1270-2023-11-06)
|
||||||
|
* **Feature**: Add partitional endpoint for iso-e.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.20.0](service/mwaa/CHANGELOG.md#v1200-2023-11-06)
|
||||||
|
* **Feature**: This release adds support for Apache Airflow version 2.7.2. This version release includes support for deferrable operators and triggers.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.34.0](service/polly/CHANGELOG.md#v1340-2023-11-06)
|
||||||
|
* **Feature**: Amazon Polly adds new US English voices - Danielle and Gregory. Danielle and Gregory are available as Neural voices only.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.34.0](service/route53/CHANGELOG.md#v1340-2023-11-06)
|
||||||
|
* **Feature**: Add partitional endpoints for iso-e and iso-f.
|
||||||
|
|
||||||
|
# Release (2023-11-03)
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.41.0](service/configservice/CHANGELOG.md#v1410-2023-11-03)
|
||||||
|
* **Feature**: Updated ResourceType enum with new resource types onboarded by AWS Config in October 2023.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.76.0](service/connect/CHANGELOG.md#v1760-2023-11-03)
|
||||||
|
* **Feature**: Amazon Connect Chat introduces Create Persistent Contact Association API, allowing customers to choose when to resume previous conversations from previous chats, eliminating the need to repeat themselves and allowing agents to provide personalized service with access to entire conversation history.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.33.0](service/iotwireless/CHANGELOG.md#v1330-2023-11-03)
|
||||||
|
* **Feature**: Added LoRaWAN version 1.0.4 support
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/launchwizard`: [v1.0.0](service/launchwizard/CHANGELOG.md#v100-2023-11-03)
|
||||||
|
* **Release**: New AWS service client module
|
||||||
|
* **Feature**: AWS Launch Wizard is a service that helps reduce the time it takes to deploy applications to the cloud while providing a guided deployment experience.
|
||||||
|
|
||||||
|
# Release (2023-11-02)
|
||||||
|
|
||||||
|
## General Highlights
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
## Module Highlights
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/config`: [v1.22.0](config/CHANGELOG.md#v1220-2023-11-02)
|
||||||
|
* **Feature**: Add env and shared config settings for disabling IMDSv1 fallback.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.24.0](service/apprunner/CHANGELOG.md#v1240-2023-11-02)
|
||||||
|
* **Feature**: AWS App Runner now supports using dual-stack address type for the public endpoint of your incoming traffic.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.75.0](service/connect/CHANGELOG.md#v1750-2023-11-02)
|
||||||
|
* **Feature**: GetMetricDataV2 API: Update to include new metrics PERCENT_NON_TALK_TIME, PERCENT_TALK_TIME, PERCENT_TALK_TIME_AGENT, PERCENT_TALK_TIME_CUSTOMER
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.26.0](service/gamelift/CHANGELOG.md#v1260-2023-11-02)
|
||||||
|
* **Feature**: Amazon GameLift adds support for shared credentials, which allows applications that are deployed on managed EC2 fleets to interact with other AWS resources.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.67.0](service/glue/CHANGELOG.md#v1670-2023-11-02)
|
||||||
|
* **Feature**: This release introduces Google BigQuery Source and Target in AWS Glue CodeGenConfigurationNode.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.35.0](service/networkfirewall/CHANGELOG.md#v1350-2023-11-02)
|
||||||
|
* **Feature**: This release introduces the stateless rule analyzer, which enables you to analyze your stateless rules for asymmetric routing.
|
||||||
|
* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.50.0](service/quicksight/CHANGELOG.md#v1500-2023-11-02)
|
||||||
|
* **Feature**: This release introduces Float Decimal Type as SubType in QuickSight SPICE datasets and Custom week start and Custom timezone options in Analysis and Dashboard
|
||||||
|
|
||||||
# Release (2023-11-01)
|
# Release (2023-11-01)
|
||||||
|
|
||||||
## General Highlights
|
## General Highlights
|
||||||
|
|
8
vendor/github.com/aws/aws-sdk-go-v2/Makefile
generated
vendored
8
vendor/github.com/aws/aws-sdk-go-v2/Makefile
generated
vendored
|
@ -254,7 +254,7 @@ unit-race-modules-%:
|
||||||
&& go run . -p $(subst _,/,$(subst unit-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
&& go run . -p $(subst _,/,$(subst unit-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
||||||
"go vet ${BUILD_TAGS} --all ./..." \
|
"go vet ${BUILD_TAGS} --all ./..." \
|
||||||
"go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
|
"go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
|
||||||
"go test -timeout=1m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
|
"go test -timeout=2m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
|
||||||
|
|
||||||
unit-modules-%:
|
unit-modules-%:
|
||||||
@# unit command that uses the pattern to define the root path that the
|
@# unit command that uses the pattern to define the root path that the
|
||||||
|
@ -266,7 +266,7 @@ unit-modules-%:
|
||||||
&& go run . -p $(subst _,/,$(subst unit-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
&& go run . -p $(subst _,/,$(subst unit-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
||||||
"go vet ${BUILD_TAGS} --all ./..." \
|
"go vet ${BUILD_TAGS} --all ./..." \
|
||||||
"go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
|
"go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
|
||||||
"go test -timeout=1m ${UNIT_TEST_TAGS} ./..."
|
"go test -timeout=2m ${UNIT_TEST_TAGS} ./..."
|
||||||
|
|
||||||
build: build-modules-.
|
build: build-modules-.
|
||||||
|
|
||||||
|
@ -302,7 +302,7 @@ test-race-modules-%:
|
||||||
@# e.g. test-race-modules-internal_protocoltest
|
@# e.g. test-race-modules-internal_protocoltest
|
||||||
cd ./internal/repotools/cmd/eachmodule \
|
cd ./internal/repotools/cmd/eachmodule \
|
||||||
&& go run . -p $(subst _,/,$(subst test-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
&& go run . -p $(subst _,/,$(subst test-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
||||||
"go test -timeout=1m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
|
"go test -timeout=2m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
|
||||||
|
|
||||||
test-modules-%:
|
test-modules-%:
|
||||||
@# Test command that uses the pattern to define the root path that the
|
@# Test command that uses the pattern to define the root path that the
|
||||||
|
@ -312,7 +312,7 @@ test-modules-%:
|
||||||
@# e.g. test-modules-internal_protocoltest
|
@# e.g. test-modules-internal_protocoltest
|
||||||
cd ./internal/repotools/cmd/eachmodule \
|
cd ./internal/repotools/cmd/eachmodule \
|
||||||
&& go run . -p $(subst _,/,$(subst test-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
&& go run . -p $(subst _,/,$(subst test-modules-,,$@)) ${EACHMODULE_FLAGS} \
|
||||||
"go test -timeout=1m ${UNIT_TEST_TAGS} ./..."
|
"go test -timeout=2m ${UNIT_TEST_TAGS} ./..."
|
||||||
|
|
||||||
cachedep: cachedep-modules-.
|
cachedep: cachedep-modules-.
|
||||||
|
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package aws
|
package aws
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.22.1"
|
const goModuleVersion = "1.22.2"
|
||||||
|
|
1
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
generated
vendored
1
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
generated
vendored
|
@ -38,6 +38,7 @@ var RequiredSignedHeaders = Rules{
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
||||||
|
"X-Amz-Expected-Bucket-Owner": struct{}{},
|
||||||
"X-Amz-Grant-Full-control": struct{}{},
|
"X-Amz-Grant-Full-control": struct{}{},
|
||||||
"X-Amz-Grant-Read": struct{}{},
|
"X-Amz-Grant-Read": struct{}{},
|
||||||
"X-Amz-Grant-Read-Acp": struct{}{},
|
"X-Amz-Grant-Read-Acp": struct{}{},
|
||||||
|
|
17
vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md
generated
vendored
17
vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,20 @@
|
||||||
|
# v1.23.0 (2023-11-09.2)
|
||||||
|
|
||||||
|
* **Feature**: BREAKFIX: In order to support subproperty parsing, invalid property definitions must not be ignored
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.22.3 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.22.2 (2023-11-07)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.22.1 (2023-11-06)
|
||||||
|
|
||||||
|
* No change notes available for this release.
|
||||||
|
|
||||||
# v1.22.0 (2023-11-02)
|
# v1.22.0 (2023-11-02)
|
||||||
|
|
||||||
* **Feature**: Add env and shared config settings for disabling IMDSv1 fallback.
|
* **Feature**: Add env and shared config settings for disabling IMDSv1 fallback.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/config/config.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/config/config.go
generated
vendored
|
@ -165,7 +165,7 @@ func (cs configs) ResolveConfig(f func(configs []interface{}) error) error {
|
||||||
// or the custom data will be ignored by the resolvers and config loaders.
|
// or the custom data will be ignored by the resolvers and config loaders.
|
||||||
//
|
//
|
||||||
// cfg, err := config.LoadDefaultConfig( context.TODO(),
|
// cfg, err := config.LoadDefaultConfig( context.TODO(),
|
||||||
// WithSharedConfigProfile("test-profile"),
|
// config.WithSharedConfigProfile("test-profile"),
|
||||||
// )
|
// )
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// panic(fmt.Sprintf("failed loading config, %v", err))
|
// panic(fmt.Sprintf("failed loading config, %v", err))
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package config
|
package config
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.22.0"
|
const goModuleVersion = "1.23.0"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.15.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.15.1 (2023-11-02)
|
# v1.15.1 (2023-11-02)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package credentials
|
package credentials
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.15.1"
|
const goModuleVersion = "1.15.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.14.3 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.14.2 (2023-11-02)
|
# v1.14.2 (2023-11-02)
|
||||||
|
|
||||||
* No change notes available for this release.
|
* No change notes available for this release.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package imds
|
package imds
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.14.2"
|
const goModuleVersion = "1.14.3"
|
||||||
|
|
16
vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md
generated
vendored
16
vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,19 @@
|
||||||
|
# v1.13.5 (2023-11-09.2)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.13.4 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.13.3 (2023-11-07)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.13.2 (2023-11-06)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.13.1 (2023-11-02)
|
# v1.13.1 (2023-11-02)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package manager
|
package manager
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.13.1"
|
const goModuleVersion = "1.13.5"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.2.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.2.1 (2023-11-01)
|
# v1.2.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package configsources
|
package configsources
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.2.1"
|
const goModuleVersion = "1.2.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v2.5.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v2.5.1 (2023-11-01)
|
# v2.5.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package endpoints
|
package endpoints
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "2.5.1"
|
const goModuleVersion = "2.5.2"
|
||||||
|
|
12
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md
generated
vendored
12
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,15 @@
|
||||||
|
# v1.6.0 (2023-11-09.2)
|
||||||
|
|
||||||
|
* **Feature**: BREAKFIX: In order to support subproperty parsing, invalid property definitions must not be ignored
|
||||||
|
|
||||||
|
# v1.5.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
|
# v1.5.1 (2023-11-07)
|
||||||
|
|
||||||
|
* **Bug Fix**: Fix subproperty performance regression
|
||||||
|
|
||||||
# v1.5.0 (2023-11-01)
|
# v1.5.0 (2023-11-01)
|
||||||
|
|
||||||
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package ini
|
package ini
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.5.0"
|
const goModuleVersion = "1.6.0"
|
||||||
|
|
7
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go
generated
vendored
7
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go
generated
vendored
|
@ -187,6 +187,13 @@ loop:
|
||||||
stack.Push(k)
|
stack.Push(k)
|
||||||
case StatementState:
|
case StatementState:
|
||||||
if k.Kind != ASTKindStart {
|
if k.Kind != ASTKindStart {
|
||||||
|
if tok.Type() == TokenLit && isSubProperty(tok.raw) {
|
||||||
|
return nil, NewParseError(
|
||||||
|
fmt.Sprintf(
|
||||||
|
"Invalid token, remove leading whitespace %s",
|
||||||
|
string(tok.raw)),
|
||||||
|
)
|
||||||
|
}
|
||||||
stack.MarkComplete(k)
|
stack.MarkComplete(k)
|
||||||
}
|
}
|
||||||
expr := newExpression(tok)
|
expr := newExpression(tok)
|
||||||
|
|
19
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go
generated
vendored
19
vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go
generated
vendored
|
@ -133,6 +133,17 @@ func newLitToken(b []rune) (Token, int, error) {
|
||||||
return token, n, err
|
return token, n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace with slices.Contains when Go 1.21
|
||||||
|
// is min supported Go version in the SDK
|
||||||
|
func containsRune(runes []rune, val rune) bool {
|
||||||
|
for i := range runes {
|
||||||
|
if val == runes[i] {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func isSubProperty(runes []rune) bool {
|
func isSubProperty(runes []rune) bool {
|
||||||
// needs at least
|
// needs at least
|
||||||
// (1) newline (2) whitespace (3) literal
|
// (1) newline (2) whitespace (3) literal
|
||||||
|
@ -141,10 +152,7 @@ func isSubProperty(runes []rune) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
// must have an equal expression
|
// must have an equal expression
|
||||||
split := strings.FieldsFunc(string(runes), func(r rune) bool {
|
if !containsRune(runes, '=') && !containsRune(runes, ':') {
|
||||||
return isOp([]rune{r})
|
|
||||||
})
|
|
||||||
if len(split) < 2 {
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +164,6 @@ func isSubProperty(runes []rune) bool {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// whitespace must follow newline
|
// whitespace must follow newline
|
||||||
return isWhitespace(runes[n])
|
return isWhitespace(runes[n])
|
||||||
}
|
}
|
||||||
|
@ -171,7 +178,7 @@ func getSubProperty(runes []rune, offset int) (int, error) {
|
||||||
return offset + idx, nil
|
return offset + idx, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0, fmt.Errorf("no sub property")
|
return offset + len(runes), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// MapValue returns a map value for sub properties
|
// MapValue returns a map value for sub properties
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.2.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.2.1 (2023-11-01)
|
# v1.2.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package v4a
|
package v4a
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.2.1"
|
const goModuleVersion = "1.2.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.2.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.2.1 (2023-11-01)
|
# v1.2.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package checksum
|
package checksum
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.2.1"
|
const goModuleVersion = "1.2.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.10.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.10.1 (2023-11-01)
|
# v1.10.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
|
@ -3,4 +3,4 @@
|
||||||
package presignedurl
|
package presignedurl
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.10.1"
|
const goModuleVersion = "1.10.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.16.2 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.16.1 (2023-11-01)
|
# v1.16.1 (2023-11-01)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package s3shared
|
package s3shared
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.16.1"
|
const goModuleVersion = "1.16.2"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.42.1 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.42.0 (2023-11-01)
|
# v1.42.0 (2023-11-01)
|
||||||
|
|
||||||
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package s3
|
package s3
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.42.0"
|
const goModuleVersion = "1.42.1"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.17.1 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.17.0 (2023-11-01)
|
# v1.17.0 (2023-11-01)
|
||||||
|
|
||||||
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package sso
|
package sso
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.17.0"
|
const goModuleVersion = "1.17.1"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.19.1 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.19.0 (2023-11-01)
|
# v1.19.0 (2023-11-01)
|
||||||
|
|
||||||
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package ssooidc
|
package ssooidc
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.19.0"
|
const goModuleVersion = "1.19.1"
|
||||||
|
|
4
vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
generated
vendored
|
@ -1,3 +1,7 @@
|
||||||
|
# v1.25.1 (2023-11-09)
|
||||||
|
|
||||||
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
|
||||||
# v1.25.0 (2023-11-01)
|
# v1.25.0 (2023-11-01)
|
||||||
|
|
||||||
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
generated
vendored
|
@ -3,4 +3,4 @@
|
||||||
package sts
|
package sts
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.25.0"
|
const goModuleVersion = "1.25.1"
|
||||||
|
|
67
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
67
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
|
@ -1818,6 +1818,12 @@ var awsPartition = partition{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-northeast-1",
|
Region: "ap-northeast-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-northeast-2",
|
||||||
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-northeast-3",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-south-1",
|
Region: "ap-south-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
@ -1827,12 +1833,27 @@ var awsPartition = partition{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-southeast-2",
|
Region: "ap-southeast-2",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-southeast-4",
|
||||||
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ca-central-1",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "eu-central-1",
|
Region: "eu-central-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "eu-north-1",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "eu-west-1",
|
Region: "eu-west-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "eu-west-3",
|
||||||
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "sa-east-1",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "us-east-1",
|
Region: "us-east-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
@ -3145,6 +3166,9 @@ var awsPartition = partition{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-northeast-1",
|
Region: "ap-northeast-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-south-1",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-southeast-1",
|
Region: "ap-southeast-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
@ -3157,6 +3181,12 @@ var awsPartition = partition{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "eu-west-1",
|
Region: "eu-west-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "eu-west-2",
|
||||||
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "eu-west-3",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "fips-us-east-1",
|
Region: "fips-us-east-1",
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
|
@ -7415,6 +7445,9 @@ var awsPartition = partition{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-southeast-3",
|
Region: "ap-southeast-3",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-southeast-4",
|
||||||
|
}: endpoint{},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ca-central-1",
|
Region: "ca-central-1",
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
|
@ -23707,6 +23740,16 @@ var awsPartition = partition{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Endpoints: serviceEndpoints{
|
Endpoints: serviceEndpoints{
|
||||||
|
endpointKey{
|
||||||
|
Region: "af-south-1",
|
||||||
|
}: endpoint{
|
||||||
|
Hostname: "resource-explorer-2.af-south-1.api.aws",
|
||||||
|
},
|
||||||
|
endpointKey{
|
||||||
|
Region: "ap-east-1",
|
||||||
|
}: endpoint{
|
||||||
|
Hostname: "resource-explorer-2.ap-east-1.api.aws",
|
||||||
|
},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "ap-northeast-1",
|
Region: "ap-northeast-1",
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
|
@ -23772,6 +23815,11 @@ var awsPartition = partition{
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
Hostname: "resource-explorer-2.eu-north-1.api.aws",
|
Hostname: "resource-explorer-2.eu-north-1.api.aws",
|
||||||
},
|
},
|
||||||
|
endpointKey{
|
||||||
|
Region: "eu-south-1",
|
||||||
|
}: endpoint{
|
||||||
|
Hostname: "resource-explorer-2.eu-south-1.api.aws",
|
||||||
|
},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "eu-west-1",
|
Region: "eu-west-1",
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
|
@ -23792,6 +23840,11 @@ var awsPartition = partition{
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
Hostname: "resource-explorer-2.il-central-1.api.aws",
|
Hostname: "resource-explorer-2.il-central-1.api.aws",
|
||||||
},
|
},
|
||||||
|
endpointKey{
|
||||||
|
Region: "me-central-1",
|
||||||
|
}: endpoint{
|
||||||
|
Hostname: "resource-explorer-2.me-central-1.api.aws",
|
||||||
|
},
|
||||||
endpointKey{
|
endpointKey{
|
||||||
Region: "me-south-1",
|
Region: "me-south-1",
|
||||||
}: endpoint{
|
}: endpoint{
|
||||||
|
@ -42079,6 +42132,13 @@ var awsisobPartition = partition{
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"cloudcontrolapi": service{
|
||||||
|
Endpoints: serviceEndpoints{
|
||||||
|
endpointKey{
|
||||||
|
Region: "us-isob-east-1",
|
||||||
|
}: endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"cloudformation": service{
|
"cloudformation": service{
|
||||||
Endpoints: serviceEndpoints{
|
Endpoints: serviceEndpoints{
|
||||||
endpointKey{
|
endpointKey{
|
||||||
|
@ -42502,6 +42562,13 @@ var awsisobPartition = partition{
|
||||||
}: endpoint{},
|
}: endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"runtime.sagemaker": service{
|
||||||
|
Endpoints: serviceEndpoints{
|
||||||
|
endpointKey{
|
||||||
|
Region: "us-isob-east-1",
|
||||||
|
}: endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"s3": service{
|
"s3": service{
|
||||||
Defaults: endpointDefaults{
|
Defaults: endpointDefaults{
|
||||||
defaultKey{}: endpoint{
|
defaultKey{}: endpoint{
|
||||||
|
|
1
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
1
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
generated
vendored
|
@ -125,6 +125,7 @@ var requiredSignedHeaders = rules{
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
||||||
|
"X-Amz-Expected-Bucket-Owner": struct{}{},
|
||||||
"X-Amz-Grant-Full-control": struct{}{},
|
"X-Amz-Grant-Full-control": struct{}{},
|
||||||
"X-Amz-Grant-Read": struct{}{},
|
"X-Amz-Grant-Read": struct{}{},
|
||||||
"X-Amz-Grant-Read-Acp": struct{}{},
|
"X-Amz-Grant-Read-Acp": struct{}{},
|
||||||
|
|
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go/aws/version.go
generated
vendored
|
@ -5,4 +5,4 @@ package aws
|
||||||
const SDKName = "aws-sdk-go"
|
const SDKName = "aws-sdk-go"
|
||||||
|
|
||||||
// SDKVersion is the version of this SDK
|
// SDKVersion is the version of this SDK
|
||||||
const SDKVersion = "1.47.2"
|
const SDKVersion = "1.47.9"
|
||||||
|
|
56
vendor/github.com/fatih/color/color.go
generated
vendored
56
vendor/github.com/fatih/color/color.go
generated
vendored
|
@ -65,6 +65,29 @@ const (
|
||||||
CrossedOut
|
CrossedOut
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
ResetBold Attribute = iota + 22
|
||||||
|
ResetItalic
|
||||||
|
ResetUnderline
|
||||||
|
ResetBlinking
|
||||||
|
_
|
||||||
|
ResetReversed
|
||||||
|
ResetConcealed
|
||||||
|
ResetCrossedOut
|
||||||
|
)
|
||||||
|
|
||||||
|
var mapResetAttributes map[Attribute]Attribute = map[Attribute]Attribute{
|
||||||
|
Bold: ResetBold,
|
||||||
|
Faint: ResetBold,
|
||||||
|
Italic: ResetItalic,
|
||||||
|
Underline: ResetUnderline,
|
||||||
|
BlinkSlow: ResetBlinking,
|
||||||
|
BlinkRapid: ResetBlinking,
|
||||||
|
ReverseVideo: ResetReversed,
|
||||||
|
Concealed: ResetConcealed,
|
||||||
|
CrossedOut: ResetCrossedOut,
|
||||||
|
}
|
||||||
|
|
||||||
// Foreground text colors
|
// Foreground text colors
|
||||||
const (
|
const (
|
||||||
FgBlack Attribute = iota + 30
|
FgBlack Attribute = iota + 30
|
||||||
|
@ -246,10 +269,7 @@ func (c *Color) Printf(format string, a ...interface{}) (n int, err error) {
|
||||||
// On Windows, users should wrap w with colorable.NewColorable() if w is of
|
// On Windows, users should wrap w with colorable.NewColorable() if w is of
|
||||||
// type *os.File.
|
// type *os.File.
|
||||||
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
|
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
|
||||||
c.SetWriter(w)
|
return fmt.Fprintln(w, c.wrap(fmt.Sprint(a...)))
|
||||||
defer c.UnsetWriter(w)
|
|
||||||
|
|
||||||
return fmt.Fprintln(w, a...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Println formats using the default formats for its operands and writes to
|
// Println formats using the default formats for its operands and writes to
|
||||||
|
@ -258,10 +278,7 @@ func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
|
||||||
// encountered. This is the standard fmt.Print() method wrapped with the given
|
// encountered. This is the standard fmt.Print() method wrapped with the given
|
||||||
// color.
|
// color.
|
||||||
func (c *Color) Println(a ...interface{}) (n int, err error) {
|
func (c *Color) Println(a ...interface{}) (n int, err error) {
|
||||||
c.Set()
|
return fmt.Fprintln(Output, c.wrap(fmt.Sprint(a...)))
|
||||||
defer c.unset()
|
|
||||||
|
|
||||||
return fmt.Fprintln(Output, a...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sprint is just like Print, but returns a string instead of printing it.
|
// Sprint is just like Print, but returns a string instead of printing it.
|
||||||
|
@ -271,7 +288,7 @@ func (c *Color) Sprint(a ...interface{}) string {
|
||||||
|
|
||||||
// Sprintln is just like Println, but returns a string instead of printing it.
|
// Sprintln is just like Println, but returns a string instead of printing it.
|
||||||
func (c *Color) Sprintln(a ...interface{}) string {
|
func (c *Color) Sprintln(a ...interface{}) string {
|
||||||
return c.wrap(fmt.Sprintln(a...))
|
return fmt.Sprintln(c.Sprint(a...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sprintf is just like Printf, but returns a string instead of printing it.
|
// Sprintf is just like Printf, but returns a string instead of printing it.
|
||||||
|
@ -353,7 +370,7 @@ func (c *Color) SprintfFunc() func(format string, a ...interface{}) string {
|
||||||
// string. Windows users should use this in conjunction with color.Output.
|
// string. Windows users should use this in conjunction with color.Output.
|
||||||
func (c *Color) SprintlnFunc() func(a ...interface{}) string {
|
func (c *Color) SprintlnFunc() func(a ...interface{}) string {
|
||||||
return func(a ...interface{}) string {
|
return func(a ...interface{}) string {
|
||||||
return c.wrap(fmt.Sprintln(a...))
|
return fmt.Sprintln(c.Sprint(a...))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,7 +400,18 @@ func (c *Color) format() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Color) unformat() string {
|
func (c *Color) unformat() string {
|
||||||
return fmt.Sprintf("%s[%dm", escape, Reset)
|
//return fmt.Sprintf("%s[%dm", escape, Reset)
|
||||||
|
//for each element in sequence let's use the speficic reset escape, ou the generic one if not found
|
||||||
|
format := make([]string, len(c.params))
|
||||||
|
for i, v := range c.params {
|
||||||
|
format[i] = strconv.Itoa(int(Reset))
|
||||||
|
ra, ok := mapResetAttributes[v]
|
||||||
|
if ok {
|
||||||
|
format[i] = strconv.Itoa(int(ra))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf("%s[%sm", escape, strings.Join(format, ";"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// DisableColor disables the color output. Useful to not change any existing
|
// DisableColor disables the color output. Useful to not change any existing
|
||||||
|
@ -411,6 +439,12 @@ func (c *Color) isNoColorSet() bool {
|
||||||
|
|
||||||
// Equals returns a boolean value indicating whether two colors are equal.
|
// Equals returns a boolean value indicating whether two colors are equal.
|
||||||
func (c *Color) Equals(c2 *Color) bool {
|
func (c *Color) Equals(c2 *Color) bool {
|
||||||
|
if c == nil && c2 == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if c == nil || c2 == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
if len(c.params) != len(c2.params) {
|
if len(c.params) != len(c2.params) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
6
vendor/github.com/felixge/httpsnoop/.travis.yml
generated
vendored
6
vendor/github.com/felixge/httpsnoop/.travis.yml
generated
vendored
|
@ -1,6 +0,0 @@
|
||||||
language: go
|
|
||||||
|
|
||||||
go:
|
|
||||||
- 1.6
|
|
||||||
- 1.7
|
|
||||||
- 1.8
|
|
2
vendor/github.com/felixge/httpsnoop/Makefile
generated
vendored
2
vendor/github.com/felixge/httpsnoop/Makefile
generated
vendored
|
@ -1,7 +1,7 @@
|
||||||
.PHONY: ci generate clean
|
.PHONY: ci generate clean
|
||||||
|
|
||||||
ci: clean generate
|
ci: clean generate
|
||||||
go test -v ./...
|
go test -race -v ./...
|
||||||
|
|
||||||
generate:
|
generate:
|
||||||
go generate .
|
go generate .
|
||||||
|
|
4
vendor/github.com/felixge/httpsnoop/README.md
generated
vendored
4
vendor/github.com/felixge/httpsnoop/README.md
generated
vendored
|
@ -7,8 +7,8 @@ http.Handlers.
|
||||||
Doing this requires non-trivial wrapping of the http.ResponseWriter interface,
|
Doing this requires non-trivial wrapping of the http.ResponseWriter interface,
|
||||||
which is also exposed for users interested in a more low-level API.
|
which is also exposed for users interested in a more low-level API.
|
||||||
|
|
||||||
[![GoDoc](https://godoc.org/github.com/felixge/httpsnoop?status.svg)](https://godoc.org/github.com/felixge/httpsnoop)
|
[![Go Reference](https://pkg.go.dev/badge/github.com/felixge/httpsnoop.svg)](https://pkg.go.dev/github.com/felixge/httpsnoop)
|
||||||
[![Build Status](https://travis-ci.org/felixge/httpsnoop.svg?branch=master)](https://travis-ci.org/felixge/httpsnoop)
|
[![Build Status](https://github.com/felixge/httpsnoop/actions/workflows/main.yaml/badge.svg)](https://github.com/felixge/httpsnoop/actions/workflows/main.yaml)
|
||||||
|
|
||||||
## Usage Example
|
## Usage Example
|
||||||
|
|
||||||
|
|
2
vendor/github.com/felixge/httpsnoop/capture_metrics.go
generated
vendored
2
vendor/github.com/felixge/httpsnoop/capture_metrics.go
generated
vendored
|
@ -52,7 +52,7 @@ func (m *Metrics) CaptureMetrics(w http.ResponseWriter, fn func(http.ResponseWri
|
||||||
return func(code int) {
|
return func(code int) {
|
||||||
next(code)
|
next(code)
|
||||||
|
|
||||||
if !headerWritten {
|
if !(code >= 100 && code <= 199) && !headerWritten {
|
||||||
m.Code = code
|
m.Code = code
|
||||||
headerWritten = true
|
headerWritten = true
|
||||||
}
|
}
|
||||||
|
|
2
vendor/github.com/felixge/httpsnoop/wrap_generated_gteq_1.8.go
generated
vendored
2
vendor/github.com/felixge/httpsnoop/wrap_generated_gteq_1.8.go
generated
vendored
|
@ -1,5 +1,5 @@
|
||||||
// +build go1.8
|
// +build go1.8
|
||||||
// Code generated by "httpsnoop/codegen"; DO NOT EDIT
|
// Code generated by "httpsnoop/codegen"; DO NOT EDIT.
|
||||||
|
|
||||||
package httpsnoop
|
package httpsnoop
|
||||||
|
|
||||||
|
|
2
vendor/github.com/felixge/httpsnoop/wrap_generated_lt_1.8.go
generated
vendored
2
vendor/github.com/felixge/httpsnoop/wrap_generated_lt_1.8.go
generated
vendored
|
@ -1,5 +1,5 @@
|
||||||
// +build !go1.8
|
// +build !go1.8
|
||||||
// Code generated by "httpsnoop/codegen"; DO NOT EDIT
|
// Code generated by "httpsnoop/codegen"; DO NOT EDIT.
|
||||||
|
|
||||||
package httpsnoop
|
package httpsnoop
|
||||||
|
|
||||||
|
|
3
vendor/github.com/golang-jwt/jwt/v5/ed25519.go
generated
vendored
3
vendor/github.com/golang-jwt/jwt/v5/ed25519.go
generated
vendored
|
@ -1,11 +1,10 @@
|
||||||
package jwt
|
package jwt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
|
|
||||||
"crypto"
|
"crypto"
|
||||||
"crypto/ed25519"
|
"crypto/ed25519"
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
2
vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go
generated
vendored
2
vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go
generated
vendored
|
@ -22,7 +22,7 @@ func (je joinedError) Is(err error) bool {
|
||||||
|
|
||||||
// wrappedErrors is a workaround for wrapping multiple errors in environments
|
// wrappedErrors is a workaround for wrapping multiple errors in environments
|
||||||
// where Go 1.20 is not available. It basically uses the already implemented
|
// where Go 1.20 is not available. It basically uses the already implemented
|
||||||
// functionatlity of joinedError to handle multiple errors with supplies a
|
// functionality of joinedError to handle multiple errors with supplies a
|
||||||
// custom error message that is identical to the one we produce in Go 1.20 using
|
// custom error message that is identical to the one we produce in Go 1.20 using
|
||||||
// multiple %w directives.
|
// multiple %w directives.
|
||||||
type wrappedErrors struct {
|
type wrappedErrors struct {
|
||||||
|
|
2
vendor/github.com/golang-jwt/jwt/v5/none.go
generated
vendored
2
vendor/github.com/golang-jwt/jwt/v5/none.go
generated
vendored
|
@ -32,7 +32,7 @@ func (m *signingMethodNone) Verify(signingString string, sig []byte, key interfa
|
||||||
return NoneSignatureTypeDisallowedError
|
return NoneSignatureTypeDisallowedError
|
||||||
}
|
}
|
||||||
// If signing method is none, signature must be an empty string
|
// If signing method is none, signature must be an empty string
|
||||||
if string(sig) != "" {
|
if len(sig) != 0 {
|
||||||
return newError("'none' signing method with non-empty signature", ErrTokenUnverifiable)
|
return newError("'none' signing method with non-empty signature", ErrTokenUnverifiable)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
79
vendor/github.com/golang-jwt/jwt/v5/parser.go
generated
vendored
79
vendor/github.com/golang-jwt/jwt/v5/parser.go
generated
vendored
|
@ -74,24 +74,40 @@ func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lookup key
|
|
||||||
var key interface{}
|
|
||||||
if keyFunc == nil {
|
|
||||||
// keyFunc was not provided. short circuiting validation
|
|
||||||
return token, newError("no keyfunc was provided", ErrTokenUnverifiable)
|
|
||||||
}
|
|
||||||
if key, err = keyFunc(token); err != nil {
|
|
||||||
return token, newError("error while executing keyfunc", ErrTokenUnverifiable, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Decode signature
|
// Decode signature
|
||||||
token.Signature, err = p.DecodeSegment(parts[2])
|
token.Signature, err = p.DecodeSegment(parts[2])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return token, newError("could not base64 decode signature", ErrTokenMalformed, err)
|
return token, newError("could not base64 decode signature", ErrTokenMalformed, err)
|
||||||
}
|
}
|
||||||
|
text := strings.Join(parts[0:2], ".")
|
||||||
|
|
||||||
// Perform signature validation
|
// Lookup key(s)
|
||||||
if err = token.Method.Verify(strings.Join(parts[0:2], "."), token.Signature, key); err != nil {
|
if keyFunc == nil {
|
||||||
|
// keyFunc was not provided. short circuiting validation
|
||||||
|
return token, newError("no keyfunc was provided", ErrTokenUnverifiable)
|
||||||
|
}
|
||||||
|
|
||||||
|
got, err := keyFunc(token)
|
||||||
|
if err != nil {
|
||||||
|
return token, newError("error while executing keyfunc", ErrTokenUnverifiable, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch have := got.(type) {
|
||||||
|
case VerificationKeySet:
|
||||||
|
if len(have.Keys) == 0 {
|
||||||
|
return token, newError("keyfunc returned empty verification key set", ErrTokenUnverifiable)
|
||||||
|
}
|
||||||
|
// Iterate through keys and verify signature, skipping the rest when a match is found.
|
||||||
|
// Return the last error if no match is found.
|
||||||
|
for _, key := range have.Keys {
|
||||||
|
if err = token.Method.Verify(text, token.Signature, key); err == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
err = token.Method.Verify(text, token.Signature, have)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
return token, newError("", ErrTokenSignatureInvalid, err)
|
return token, newError("", ErrTokenSignatureInvalid, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,8 +133,8 @@ func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyf
|
||||||
//
|
//
|
||||||
// WARNING: Don't use this method unless you know what you're doing.
|
// WARNING: Don't use this method unless you know what you're doing.
|
||||||
//
|
//
|
||||||
// It's only ever useful in cases where you know the signature is valid (because it has
|
// It's only ever useful in cases where you know the signature is valid (since it has already
|
||||||
// been checked previously in the stack) and you want to extract values from it.
|
// been or will be checked elsewhere in the stack) and you want to extract values from it.
|
||||||
func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Token, parts []string, err error) {
|
func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Token, parts []string, err error) {
|
||||||
parts = strings.Split(tokenString, ".")
|
parts = strings.Split(tokenString, ".")
|
||||||
if len(parts) != 3 {
|
if len(parts) != 3 {
|
||||||
|
@ -130,9 +146,6 @@ func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Toke
|
||||||
// parse Header
|
// parse Header
|
||||||
var headerBytes []byte
|
var headerBytes []byte
|
||||||
if headerBytes, err = p.DecodeSegment(parts[0]); err != nil {
|
if headerBytes, err = p.DecodeSegment(parts[0]); err != nil {
|
||||||
if strings.HasPrefix(strings.ToLower(tokenString), "bearer ") {
|
|
||||||
return token, parts, newError("tokenstring should not contain 'bearer '", ErrTokenMalformed)
|
|
||||||
}
|
|
||||||
return token, parts, newError("could not base64 decode header", ErrTokenMalformed, err)
|
return token, parts, newError("could not base64 decode header", ErrTokenMalformed, err)
|
||||||
}
|
}
|
||||||
if err = json.Unmarshal(headerBytes, &token.Header); err != nil {
|
if err = json.Unmarshal(headerBytes, &token.Header); err != nil {
|
||||||
|
@ -140,23 +153,33 @@ func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Toke
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse Claims
|
// parse Claims
|
||||||
var claimBytes []byte
|
|
||||||
token.Claims = claims
|
token.Claims = claims
|
||||||
|
|
||||||
if claimBytes, err = p.DecodeSegment(parts[1]); err != nil {
|
claimBytes, err := p.DecodeSegment(parts[1])
|
||||||
|
if err != nil {
|
||||||
return token, parts, newError("could not base64 decode claim", ErrTokenMalformed, err)
|
return token, parts, newError("could not base64 decode claim", ErrTokenMalformed, err)
|
||||||
}
|
}
|
||||||
dec := json.NewDecoder(bytes.NewBuffer(claimBytes))
|
|
||||||
if p.useJSONNumber {
|
// If `useJSONNumber` is enabled then we must use *json.Decoder to decode
|
||||||
dec.UseNumber()
|
// the claims. However, this comes with a performance penalty so only use
|
||||||
}
|
// it if we must and, otherwise, simple use json.Unmarshal.
|
||||||
// JSON Decode. Special case for map type to avoid weird pointer behavior
|
if !p.useJSONNumber {
|
||||||
if c, ok := token.Claims.(MapClaims); ok {
|
// JSON Unmarshal. Special case for map type to avoid weird pointer behavior.
|
||||||
err = dec.Decode(&c)
|
if c, ok := token.Claims.(MapClaims); ok {
|
||||||
|
err = json.Unmarshal(claimBytes, &c)
|
||||||
|
} else {
|
||||||
|
err = json.Unmarshal(claimBytes, &claims)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
err = dec.Decode(&claims)
|
dec := json.NewDecoder(bytes.NewBuffer(claimBytes))
|
||||||
|
dec.UseNumber()
|
||||||
|
// JSON Decode. Special case for map type to avoid weird pointer behavior.
|
||||||
|
if c, ok := token.Claims.(MapClaims); ok {
|
||||||
|
err = dec.Decode(&c)
|
||||||
|
} else {
|
||||||
|
err = dec.Decode(&claims)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Handle decode error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return token, parts, newError("could not JSON decode claim", ErrTokenMalformed, err)
|
return token, parts, newError("could not JSON decode claim", ErrTokenMalformed, err)
|
||||||
}
|
}
|
||||||
|
|
8
vendor/github.com/golang-jwt/jwt/v5/parser_option.go
generated
vendored
8
vendor/github.com/golang-jwt/jwt/v5/parser_option.go
generated
vendored
|
@ -58,6 +58,14 @@ func WithIssuedAt() ParserOption {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithExpirationRequired returns the ParserOption to make exp claim required.
|
||||||
|
// By default exp claim is optional.
|
||||||
|
func WithExpirationRequired() ParserOption {
|
||||||
|
return func(p *Parser) {
|
||||||
|
p.validator.requireExp = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// WithAudience configures the validator to require the specified audience in
|
// WithAudience configures the validator to require the specified audience in
|
||||||
// the `aud` claim. Validation will fail if the audience is not listed in the
|
// the `aud` claim. Validation will fail if the audience is not listed in the
|
||||||
// token or the `aud` claim is missing.
|
// token or the `aud` claim is missing.
|
||||||
|
|
14
vendor/github.com/golang-jwt/jwt/v5/token.go
generated
vendored
14
vendor/github.com/golang-jwt/jwt/v5/token.go
generated
vendored
|
@ -1,6 +1,7 @@
|
||||||
package jwt
|
package jwt
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
)
|
)
|
||||||
|
@ -9,8 +10,21 @@ import (
|
||||||
// the key for verification. The function receives the parsed, but unverified
|
// the key for verification. The function receives the parsed, but unverified
|
||||||
// Token. This allows you to use properties in the Header of the token (such as
|
// Token. This allows you to use properties in the Header of the token (such as
|
||||||
// `kid`) to identify which key to use.
|
// `kid`) to identify which key to use.
|
||||||
|
//
|
||||||
|
// The returned interface{} may be a single key or a VerificationKeySet containing
|
||||||
|
// multiple keys.
|
||||||
type Keyfunc func(*Token) (interface{}, error)
|
type Keyfunc func(*Token) (interface{}, error)
|
||||||
|
|
||||||
|
// VerificationKey represents a public or secret key for verifying a token's signature.
|
||||||
|
type VerificationKey interface {
|
||||||
|
crypto.PublicKey | []uint8
|
||||||
|
}
|
||||||
|
|
||||||
|
// VerificationKeySet is a set of public or secret keys. It is used by the parser to verify a token.
|
||||||
|
type VerificationKeySet struct {
|
||||||
|
Keys []VerificationKey
|
||||||
|
}
|
||||||
|
|
||||||
// Token represents a JWT Token. Different fields will be used depending on
|
// Token represents a JWT Token. Different fields will be used depending on
|
||||||
// whether you're creating or parsing/verifying a token.
|
// whether you're creating or parsing/verifying a token.
|
||||||
type Token struct {
|
type Token struct {
|
||||||
|
|
5
vendor/github.com/golang-jwt/jwt/v5/types.go
generated
vendored
5
vendor/github.com/golang-jwt/jwt/v5/types.go
generated
vendored
|
@ -4,7 +4,6 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math"
|
"math"
|
||||||
"reflect"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
@ -121,14 +120,14 @@ func (s *ClaimStrings) UnmarshalJSON(data []byte) (err error) {
|
||||||
for _, vv := range v {
|
for _, vv := range v {
|
||||||
vs, ok := vv.(string)
|
vs, ok := vv.(string)
|
||||||
if !ok {
|
if !ok {
|
||||||
return &json.UnsupportedTypeError{Type: reflect.TypeOf(vv)}
|
return ErrInvalidType
|
||||||
}
|
}
|
||||||
aud = append(aud, vs)
|
aud = append(aud, vs)
|
||||||
}
|
}
|
||||||
case nil:
|
case nil:
|
||||||
return nil
|
return nil
|
||||||
default:
|
default:
|
||||||
return &json.UnsupportedTypeError{Type: reflect.TypeOf(v)}
|
return ErrInvalidType
|
||||||
}
|
}
|
||||||
|
|
||||||
*s = aud
|
*s = aud
|
||||||
|
|
8
vendor/github.com/golang-jwt/jwt/v5/validator.go
generated
vendored
8
vendor/github.com/golang-jwt/jwt/v5/validator.go
generated
vendored
|
@ -42,6 +42,9 @@ type validator struct {
|
||||||
// validation. If unspecified, this defaults to time.Now.
|
// validation. If unspecified, this defaults to time.Now.
|
||||||
timeFunc func() time.Time
|
timeFunc func() time.Time
|
||||||
|
|
||||||
|
// requireExp specifies whether the exp claim is required
|
||||||
|
requireExp bool
|
||||||
|
|
||||||
// verifyIat specifies whether the iat (Issued At) claim will be verified.
|
// verifyIat specifies whether the iat (Issued At) claim will be verified.
|
||||||
// According to https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6 this
|
// According to https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6 this
|
||||||
// only specifies the age of the token, but no validation check is
|
// only specifies the age of the token, but no validation check is
|
||||||
|
@ -86,8 +89,9 @@ func (v *validator) Validate(claims Claims) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// We always need to check the expiration time, but usage of the claim
|
// We always need to check the expiration time, but usage of the claim
|
||||||
// itself is OPTIONAL.
|
// itself is OPTIONAL by default. requireExp overrides this behavior
|
||||||
if err = v.verifyExpiresAt(claims, now, false); err != nil {
|
// and makes the exp claim mandatory.
|
||||||
|
if err = v.verifyExpiresAt(claims, now, v.requireExp); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go
generated
vendored
4
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go
generated
vendored
|
@ -34,7 +34,7 @@ const (
|
||||||
RequestCount = "http.server.request_count" // Incoming request count total
|
RequestCount = "http.server.request_count" // Incoming request count total
|
||||||
RequestContentLength = "http.server.request_content_length" // Incoming request bytes total
|
RequestContentLength = "http.server.request_content_length" // Incoming request bytes total
|
||||||
ResponseContentLength = "http.server.response_content_length" // Incoming response bytes total
|
ResponseContentLength = "http.server.response_content_length" // Incoming response bytes total
|
||||||
ServerLatency = "http.server.duration" // Incoming end to end duration, microseconds
|
ServerLatency = "http.server.duration" // Incoming end to end duration, milliseconds
|
||||||
)
|
)
|
||||||
|
|
||||||
// Filter is a predicate used to determine whether a given http.request should
|
// Filter is a predicate used to determine whether a given http.request should
|
||||||
|
@ -42,5 +42,5 @@ const (
|
||||||
type Filter func(*http.Request) bool
|
type Filter func(*http.Request) bool
|
||||||
|
|
||||||
func newTracer(tp trace.TracerProvider) trace.Tracer {
|
func newTracer(tp trace.TracerProvider) trace.Tracer {
|
||||||
return tp.Tracer(instrumentationName, trace.WithInstrumentationVersion(Version()))
|
return tp.Tracer(ScopeName, trace.WithInstrumentationVersion(Version()))
|
||||||
}
|
}
|
||||||
|
|
7
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go
generated
vendored
7
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go
generated
vendored
|
@ -25,9 +25,8 @@ import (
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
// ScopeName is the instrumentation scope name.
|
||||||
instrumentationName = "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
const ScopeName = "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
||||||
)
|
|
||||||
|
|
||||||
// config represents the configuration options available for the http.Handler
|
// config represents the configuration options available for the http.Handler
|
||||||
// and http.Transport types.
|
// and http.Transport types.
|
||||||
|
@ -76,7 +75,7 @@ func newConfig(opts ...Option) *config {
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Meter = c.MeterProvider.Meter(
|
c.Meter = c.MeterProvider.Meter(
|
||||||
instrumentationName,
|
ScopeName,
|
||||||
metric.WithInstrumentationVersion(Version()),
|
metric.WithInstrumentationVersion(Version()),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
18
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go
generated
vendored
18
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go
generated
vendored
|
@ -107,13 +107,25 @@ func (h *middleware) createMeasures() {
|
||||||
h.counters = make(map[string]metric.Int64Counter)
|
h.counters = make(map[string]metric.Int64Counter)
|
||||||
h.valueRecorders = make(map[string]metric.Float64Histogram)
|
h.valueRecorders = make(map[string]metric.Float64Histogram)
|
||||||
|
|
||||||
requestBytesCounter, err := h.meter.Int64Counter(RequestContentLength)
|
requestBytesCounter, err := h.meter.Int64Counter(
|
||||||
|
RequestContentLength,
|
||||||
|
metric.WithUnit("By"),
|
||||||
|
metric.WithDescription("Measures the size of HTTP request content length (uncompressed)"),
|
||||||
|
)
|
||||||
handleErr(err)
|
handleErr(err)
|
||||||
|
|
||||||
responseBytesCounter, err := h.meter.Int64Counter(ResponseContentLength)
|
responseBytesCounter, err := h.meter.Int64Counter(
|
||||||
|
ResponseContentLength,
|
||||||
|
metric.WithUnit("By"),
|
||||||
|
metric.WithDescription("Measures the size of HTTP response content length (uncompressed)"),
|
||||||
|
)
|
||||||
handleErr(err)
|
handleErr(err)
|
||||||
|
|
||||||
serverLatencyMeasure, err := h.meter.Float64Histogram(ServerLatency)
|
serverLatencyMeasure, err := h.meter.Float64Histogram(
|
||||||
|
ServerLatency,
|
||||||
|
metric.WithUnit("ms"),
|
||||||
|
metric.WithDescription("Measures the duration of HTTP request handling"),
|
||||||
|
)
|
||||||
handleErr(err)
|
handleErr(err)
|
||||||
|
|
||||||
h.counters[RequestContentLength] = requestBytesCounter
|
h.counters[RequestContentLength] = requestBytesCounter
|
||||||
|
|
2
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go
generated
vendored
2
vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go
generated
vendored
|
@ -16,7 +16,7 @@ package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http
|
||||||
|
|
||||||
// Version is the current release version of the otelhttp instrumentation.
|
// Version is the current release version of the otelhttp instrumentation.
|
||||||
func Version() string {
|
func Version() string {
|
||||||
return "0.45.0"
|
return "0.46.0"
|
||||||
// This string is updated by the pre_release.sh script during release
|
// This string is updated by the pre_release.sh script during release
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
3
vendor/go.opentelemetry.io/otel/.gitignore
generated
vendored
3
vendor/go.opentelemetry.io/otel/.gitignore
generated
vendored
|
@ -18,8 +18,9 @@ gen/
|
||||||
/example/fib/traces.txt
|
/example/fib/traces.txt
|
||||||
/example/jaeger/jaeger
|
/example/jaeger/jaeger
|
||||||
/example/namedtracer/namedtracer
|
/example/namedtracer/namedtracer
|
||||||
|
/example/otel-collector/otel-collector
|
||||||
/example/opencensus/opencensus
|
/example/opencensus/opencensus
|
||||||
/example/passthrough/passthrough
|
/example/passthrough/passthrough
|
||||||
/example/prometheus/prometheus
|
/example/prometheus/prometheus
|
||||||
|
/example/view/view
|
||||||
/example/zipkin/zipkin
|
/example/zipkin/zipkin
|
||||||
/example/otel-collector/otel-collector
|
|
||||||
|
|
17
vendor/go.opentelemetry.io/otel/.golangci.yml
generated
vendored
17
vendor/go.opentelemetry.io/otel/.golangci.yml
generated
vendored
|
@ -12,8 +12,9 @@ linters:
|
||||||
- depguard
|
- depguard
|
||||||
- errcheck
|
- errcheck
|
||||||
- godot
|
- godot
|
||||||
- gofmt
|
- gofumpt
|
||||||
- goimports
|
- goimports
|
||||||
|
- gosec
|
||||||
- gosimple
|
- gosimple
|
||||||
- govet
|
- govet
|
||||||
- ineffassign
|
- ineffassign
|
||||||
|
@ -53,6 +54,20 @@ issues:
|
||||||
text: "calls to (.+) only in main[(][)] or init[(][)] functions"
|
text: "calls to (.+) only in main[(][)] or init[(][)] functions"
|
||||||
linters:
|
linters:
|
||||||
- revive
|
- revive
|
||||||
|
# It's okay to not run gosec in a test.
|
||||||
|
- path: _test\.go
|
||||||
|
linters:
|
||||||
|
- gosec
|
||||||
|
# Igonoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
|
||||||
|
# as we commonly use it in tests and examples.
|
||||||
|
- text: "G404:"
|
||||||
|
linters:
|
||||||
|
- gosec
|
||||||
|
# Igonoring gosec G402: TLS MinVersion too low
|
||||||
|
# as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
|
||||||
|
- text: "G402: TLS MinVersion too low."
|
||||||
|
linters:
|
||||||
|
- gosec
|
||||||
include:
|
include:
|
||||||
# revive exported should have comment or be unexported.
|
# revive exported should have comment or be unexported.
|
||||||
- EXC0012
|
- EXC0012
|
||||||
|
|
70
vendor/go.opentelemetry.io/otel/CHANGELOG.md
generated
vendored
70
vendor/go.opentelemetry.io/otel/CHANGELOG.md
generated
vendored
|
@ -8,6 +8,71 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [1.20.0/0.43.0] 2023-11-10
|
||||||
|
|
||||||
|
This release brings a breaking change for custom trace API implementations. Some interfaces (`TracerProvider`, `Tracer`, `Span`) now embed the `go.opentelemetry.io/otel/trace/embedded` types. Implementors need to update their implementations based on what they want the default behavior to be. See the "API Implementations" section of the [trace API] package documentation for more information about how to accomplish this.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add `go.opentelemetry.io/otel/bridge/opencensus.InstallTraceBridge`, which installs the OpenCensus trace bridge, and replaces `opencensus.NewTracer`. (#4567)
|
||||||
|
- Add scope version to trace and metric bridges in `go.opentelemetry.io/otel/bridge/opencensus`. (#4584)
|
||||||
|
- Add the `go.opentelemetry.io/otel/trace/embedded` package to be embedded in the exported trace API interfaces. (#4620)
|
||||||
|
- Add the `go.opentelemetry.io/otel/trace/noop` package as a default no-op implementation of the trace API. (#4620)
|
||||||
|
- Add context propagation in `go.opentelemetry.io/otel/example/dice`. (#4644)
|
||||||
|
- Add view configuration to `go.opentelemetry.io/otel/example/prometheus`. (#4649)
|
||||||
|
- Add `go.opentelemetry.io/otel/metric.WithExplicitBucketBoundaries`, which allows defining default explicit bucket boundaries when creating histogram instruments. (#4603)
|
||||||
|
- Add `Version` function in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4660)
|
||||||
|
- Add `Version` function in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4660)
|
||||||
|
- Add Summary, SummaryDataPoint, and QuantileValue to `go.opentelemetry.io/sdk/metric/metricdata`. (#4622)
|
||||||
|
- `go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer` now supports exemplars from OpenCensus. (#4585)
|
||||||
|
- Add support for `WithExplicitBucketBoundaries` in `go.opentelemetry.io/otel/sdk/metric`. (#4605)
|
||||||
|
- Add support for Summary metrics in `go.opentelemetry.io/otel/bridge/opencensus`. (#4668)
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
|
||||||
|
- Deprecate `go.opentelemetry.io/otel/bridge/opencensus.NewTracer` in favor of `opencensus.InstallTraceBridge`. (#4567)
|
||||||
|
- Deprecate `go.opentelemetry.io/otel/example/fib` package is in favor of `go.opentelemetry.io/otel/example/dice`. (#4618)
|
||||||
|
- Deprecate `go.opentelemetry.io/otel/trace.NewNoopTracerProvider`.
|
||||||
|
Use the added `NewTracerProvider` function in `go.opentelemetry.io/otel/trace/noop` instead. (#4620)
|
||||||
|
- Deprecate `go.opentelemetry.io/otel/example/view` package in favor of `go.opentelemetry.io/otel/example/prometheus`. (#4649)
|
||||||
|
- Deprecate `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4693)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- `go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer` returns a `*MetricProducer` struct instead of the metric.Producer interface. (#4583)
|
||||||
|
- The `TracerProvider` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.TracerProvider` type.
|
||||||
|
This extends the `TracerProvider` interface and is is a breaking change for any existing implementation.
|
||||||
|
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
|
||||||
|
See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
|
||||||
|
- The `Tracer` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.Tracer` type.
|
||||||
|
This extends the `Tracer` interface and is is a breaking change for any existing implementation.
|
||||||
|
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
|
||||||
|
See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
|
||||||
|
- The `Span` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.Span` type.
|
||||||
|
This extends the `Span` interface and is is a breaking change for any existing implementation.
|
||||||
|
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
|
||||||
|
See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
|
||||||
|
- `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` does no longer depend on `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4660)
|
||||||
|
- `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` does no longer depend on `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4660)
|
||||||
|
- Retry for `502 Bad Gateway` and `504 Gateway Timeout` HTTP statuses in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4670)
|
||||||
|
- Retry for `502 Bad Gateway` and `504 Gateway Timeout` HTTP statuses in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#4670)
|
||||||
|
- Retry for `RESOURCE_EXHAUSTED` only if RetryInfo is returned in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4669)
|
||||||
|
- Retry for `RESOURCE_EXHAUSTED` only if RetryInfo is returned in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#4669)
|
||||||
|
- Retry temporary HTTP request failures in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4679)
|
||||||
|
- Retry temporary HTTP request failures in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#4679)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` by `Parse` in `go.opentelemetry.io/otel/baggage` as they were rendered as a whitespace. (#4667)
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_RESOURCE_ATTRIBUTES` in `go.opentelemetry.io/otel/sdk/resource` as they were rendered as a whitespace. (#4699)
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_METRICS_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` as they were rendered as a whitespace. (#4699)
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_METRICS_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` as they were rendered as a whitespace. (#4699)
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_TRACES_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpc` as they were rendered as a whitespace. (#4699)
|
||||||
|
- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_TRACES_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp` as they were rendered as a whitespace. (#4699)
|
||||||
|
- In `go.opentelemetry.op/otel/exporters/prometheus`, the exporter no longer `Collect`s metrics after `Shutdown` is invoked. (#4648)
|
||||||
|
- Fix documentation for `WithCompressor` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#4695)
|
||||||
|
- Fix documentation for `WithCompressor` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4695)
|
||||||
|
|
||||||
## [1.19.0/0.42.0/0.0.7] 2023-09-28
|
## [1.19.0/0.42.0/0.0.7] 2023-09-28
|
||||||
|
|
||||||
This release contains the first stable release of the OpenTelemetry Go [metric SDK].
|
This release contains the first stable release of the OpenTelemetry Go [metric SDK].
|
||||||
|
@ -2656,7 +2721,8 @@ It contains api and sdk for trace and meter.
|
||||||
- CircleCI build CI manifest files.
|
- CircleCI build CI manifest files.
|
||||||
- CODEOWNERS file to track owners of this project.
|
- CODEOWNERS file to track owners of this project.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.19.0...HEAD
|
[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.20.0...HEAD
|
||||||
|
[1.20.0/0.43.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.20.0
|
||||||
[1.19.0/0.42.0/0.0.7]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0
|
[1.19.0/0.42.0/0.0.7]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0
|
||||||
[1.19.0-rc.1/0.42.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0-rc.1
|
[1.19.0-rc.1/0.42.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0-rc.1
|
||||||
[1.18.0/0.41.0/0.0.6]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.18.0
|
[1.18.0/0.41.0/0.0.6]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.18.0
|
||||||
|
@ -2731,7 +2797,7 @@ It contains api and sdk for trace and meter.
|
||||||
[Go 1.20]: https://go.dev/doc/go1.20
|
[Go 1.20]: https://go.dev/doc/go1.20
|
||||||
[Go 1.19]: https://go.dev/doc/go1.19
|
[Go 1.19]: https://go.dev/doc/go1.19
|
||||||
[Go 1.18]: https://go.dev/doc/go1.18
|
[Go 1.18]: https://go.dev/doc/go1.18
|
||||||
[Go 1.19]: https://go.dev/doc/go1.19
|
|
||||||
|
|
||||||
[metric API]:https://pkg.go.dev/go.opentelemetry.io/otel/metric
|
[metric API]:https://pkg.go.dev/go.opentelemetry.io/otel/metric
|
||||||
[metric SDK]:https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric
|
[metric SDK]:https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric
|
||||||
|
[trace API]:https://pkg.go.dev/go.opentelemetry.io/otel/trace
|
||||||
|
|
29
vendor/go.opentelemetry.io/otel/Makefile
generated
vendored
29
vendor/go.opentelemetry.io/otel/Makefile
generated
vendored
|
@ -77,6 +77,9 @@ $(GOTMPL): PACKAGE=go.opentelemetry.io/build-tools/gotmpl
|
||||||
GORELEASE = $(TOOLS)/gorelease
|
GORELEASE = $(TOOLS)/gorelease
|
||||||
$(GORELEASE): PACKAGE=golang.org/x/exp/cmd/gorelease
|
$(GORELEASE): PACKAGE=golang.org/x/exp/cmd/gorelease
|
||||||
|
|
||||||
|
GOVULNCHECK = $(TOOLS)/govulncheck
|
||||||
|
$(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck
|
||||||
|
|
||||||
.PHONY: tools
|
.PHONY: tools
|
||||||
tools: $(CROSSLINK) $(DBOTCONF) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(GOJQ) $(SEMCONVGEN) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
|
tools: $(CROSSLINK) $(DBOTCONF) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(GOJQ) $(SEMCONVGEN) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
|
||||||
|
|
||||||
|
@ -189,6 +192,18 @@ test-coverage: | $(GOCOVMERGE)
|
||||||
done; \
|
done; \
|
||||||
$(GOCOVMERGE) $$(find . -name coverage.out) > coverage.txt
|
$(GOCOVMERGE) $$(find . -name coverage.out) > coverage.txt
|
||||||
|
|
||||||
|
# Adding a directory will include all benchmarks in that direcotry if a filter is not specified.
|
||||||
|
BENCHMARK_TARGETS := sdk/trace
|
||||||
|
.PHONY: benchmark
|
||||||
|
benchmark: $(BENCHMARK_TARGETS:%=benchmark/%)
|
||||||
|
BENCHMARK_FILTER = .
|
||||||
|
# You can override the filter for a particular directory by adding a rule here.
|
||||||
|
benchmark/sdk/trace: BENCHMARK_FILTER = SpanWithAttributes_8/AlwaysSample
|
||||||
|
benchmark/%:
|
||||||
|
@echo "$(GO) test -timeout $(TIMEOUT)s -run=xxxxxMatchNothingxxxxx -bench=$(BENCHMARK_FILTER) $*..." \
|
||||||
|
&& cd $* \
|
||||||
|
$(foreach filter, $(BENCHMARK_FILTER), && $(GO) test -timeout $(TIMEOUT)s -run=xxxxxMatchNothingxxxxx -bench=$(filter))
|
||||||
|
|
||||||
.PHONY: golangci-lint golangci-lint-fix
|
.PHONY: golangci-lint golangci-lint-fix
|
||||||
golangci-lint-fix: ARGS=--fix
|
golangci-lint-fix: ARGS=--fix
|
||||||
golangci-lint-fix: golangci-lint
|
golangci-lint-fix: golangci-lint
|
||||||
|
@ -216,7 +231,7 @@ go-mod-tidy/%: | crosslink
|
||||||
lint-modules: go-mod-tidy
|
lint-modules: go-mod-tidy
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint: misspell lint-modules golangci-lint
|
lint: misspell lint-modules golangci-lint govulncheck
|
||||||
|
|
||||||
.PHONY: vanity-import-check
|
.PHONY: vanity-import-check
|
||||||
vanity-import-check: | $(PORTO)
|
vanity-import-check: | $(PORTO)
|
||||||
|
@ -226,6 +241,14 @@ vanity-import-check: | $(PORTO)
|
||||||
misspell: | $(MISSPELL)
|
misspell: | $(MISSPELL)
|
||||||
@$(MISSPELL) -w $(ALL_DOCS)
|
@$(MISSPELL) -w $(ALL_DOCS)
|
||||||
|
|
||||||
|
.PHONY: govulncheck
|
||||||
|
govulncheck: $(OTEL_GO_MOD_DIRS:%=govulncheck/%)
|
||||||
|
govulncheck/%: DIR=$*
|
||||||
|
govulncheck/%: | $(GOVULNCHECK)
|
||||||
|
@echo "govulncheck ./... in $(DIR)" \
|
||||||
|
&& cd $(DIR) \
|
||||||
|
&& $(GOVULNCHECK) ./...
|
||||||
|
|
||||||
.PHONY: codespell
|
.PHONY: codespell
|
||||||
codespell: | $(CODESPELL)
|
codespell: | $(CODESPELL)
|
||||||
@$(DOCKERPY) $(CODESPELL)
|
@$(DOCKERPY) $(CODESPELL)
|
||||||
|
@ -289,3 +312,7 @@ COMMIT ?= "HEAD"
|
||||||
add-tags: | $(MULTIMOD)
|
add-tags: | $(MULTIMOD)
|
||||||
@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
|
@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
|
||||||
$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
|
$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
|
||||||
|
|
||||||
|
.PHONY: lint-markdown
|
||||||
|
lint-markdown:
|
||||||
|
docker run -v "$(CURDIR):$(WORKDIR)" docker://avtodev/markdown-lint:v1 -c $(WORKDIR)/.markdownlint.yaml $(WORKDIR)/**/*.md
|
||||||
|
|
15
vendor/go.opentelemetry.io/otel/README.md
generated
vendored
15
vendor/go.opentelemetry.io/otel/README.md
generated
vendored
|
@ -11,16 +11,13 @@ It provides a set of APIs to directly measure performance and behavior of your s
|
||||||
|
|
||||||
## Project Status
|
## Project Status
|
||||||
|
|
||||||
| Signal | Status | Project |
|
| Signal | Status |
|
||||||
|---------|------------|-----------------------|
|
|---------|------------|
|
||||||
| Traces | Stable | N/A |
|
| Traces | Stable |
|
||||||
| Metrics | Mixed [1] | [Go: Metric SDK (GA)] |
|
| Metrics | Stable |
|
||||||
| Logs | Frozen [2] | N/A |
|
| Logs | Design [1] |
|
||||||
|
|
||||||
[Go: Metric SDK (GA)]: https://github.com/orgs/open-telemetry/projects/34
|
- [1]: Currently the logs signal development is in a design phase ([#4696](https://github.com/open-telemetry/opentelemetry-go/issues/4696)).
|
||||||
|
|
||||||
- [1]: [Metrics API](https://pkg.go.dev/go.opentelemetry.io/otel/metric) is Stable. [Metrics SDK](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric) is Beta.
|
|
||||||
- [2]: The Logs signal development is halted for this project while we stabilize the Metrics SDK.
|
|
||||||
No Logs Pull Requests are currently being accepted.
|
No Logs Pull Requests are currently being accepted.
|
||||||
|
|
||||||
Progress and status specific to this repository is tracked in our
|
Progress and status specific to this repository is tracked in our
|
||||||
|
|
4
vendor/go.opentelemetry.io/otel/baggage/baggage.go
generated
vendored
4
vendor/go.opentelemetry.io/otel/baggage/baggage.go
generated
vendored
|
@ -254,7 +254,7 @@ func NewMember(key, value string, props ...Property) (Member, error) {
|
||||||
if err := m.validate(); err != nil {
|
if err := m.validate(); err != nil {
|
||||||
return newInvalidMember(), err
|
return newInvalidMember(), err
|
||||||
}
|
}
|
||||||
decodedValue, err := url.QueryUnescape(value)
|
decodedValue, err := url.PathUnescape(value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidValue, value)
|
return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidValue, value)
|
||||||
}
|
}
|
||||||
|
@ -301,7 +301,7 @@ func parseMember(member string) (Member, error) {
|
||||||
// when converting the header into a data structure."
|
// when converting the header into a data structure."
|
||||||
key = strings.TrimSpace(k)
|
key = strings.TrimSpace(k)
|
||||||
var err error
|
var err error
|
||||||
value, err = url.QueryUnescape(strings.TrimSpace(v))
|
value, err = url.PathUnescape(strings.TrimSpace(v))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newInvalidMember(), fmt.Errorf("%w: %q", err, value)
|
return newInvalidMember(), fmt.Errorf("%w: %q", err, value)
|
||||||
}
|
}
|
||||||
|
|
60
vendor/go.opentelemetry.io/otel/internal/global/instruments.go
generated
vendored
60
vendor/go.opentelemetry.io/otel/internal/global/instruments.go
generated
vendored
|
@ -34,11 +34,13 @@ type afCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64ObservableCounterOption
|
opts []metric.Float64ObservableCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64ObservableCounter
|
delegate atomic.Value // metric.Float64ObservableCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*afCounter)(nil)
|
var (
|
||||||
var _ metric.Float64ObservableCounter = (*afCounter)(nil)
|
_ unwrapper = (*afCounter)(nil)
|
||||||
|
_ metric.Float64ObservableCounter = (*afCounter)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *afCounter) setDelegate(m metric.Meter) {
|
func (i *afCounter) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Float64ObservableCounter(i.name, i.opts...)
|
ctr, err := m.Float64ObservableCounter(i.name, i.opts...)
|
||||||
|
@ -63,11 +65,13 @@ type afUpDownCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64ObservableUpDownCounterOption
|
opts []metric.Float64ObservableUpDownCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64ObservableUpDownCounter
|
delegate atomic.Value // metric.Float64ObservableUpDownCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*afUpDownCounter)(nil)
|
var (
|
||||||
var _ metric.Float64ObservableUpDownCounter = (*afUpDownCounter)(nil)
|
_ unwrapper = (*afUpDownCounter)(nil)
|
||||||
|
_ metric.Float64ObservableUpDownCounter = (*afUpDownCounter)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *afUpDownCounter) setDelegate(m metric.Meter) {
|
func (i *afUpDownCounter) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Float64ObservableUpDownCounter(i.name, i.opts...)
|
ctr, err := m.Float64ObservableUpDownCounter(i.name, i.opts...)
|
||||||
|
@ -92,11 +96,13 @@ type afGauge struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64ObservableGaugeOption
|
opts []metric.Float64ObservableGaugeOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64ObservableGauge
|
delegate atomic.Value // metric.Float64ObservableGauge
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*afGauge)(nil)
|
var (
|
||||||
var _ metric.Float64ObservableGauge = (*afGauge)(nil)
|
_ unwrapper = (*afGauge)(nil)
|
||||||
|
_ metric.Float64ObservableGauge = (*afGauge)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *afGauge) setDelegate(m metric.Meter) {
|
func (i *afGauge) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Float64ObservableGauge(i.name, i.opts...)
|
ctr, err := m.Float64ObservableGauge(i.name, i.opts...)
|
||||||
|
@ -121,11 +127,13 @@ type aiCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64ObservableCounterOption
|
opts []metric.Int64ObservableCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64ObservableCounter
|
delegate atomic.Value // metric.Int64ObservableCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*aiCounter)(nil)
|
var (
|
||||||
var _ metric.Int64ObservableCounter = (*aiCounter)(nil)
|
_ unwrapper = (*aiCounter)(nil)
|
||||||
|
_ metric.Int64ObservableCounter = (*aiCounter)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *aiCounter) setDelegate(m metric.Meter) {
|
func (i *aiCounter) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Int64ObservableCounter(i.name, i.opts...)
|
ctr, err := m.Int64ObservableCounter(i.name, i.opts...)
|
||||||
|
@ -150,11 +158,13 @@ type aiUpDownCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64ObservableUpDownCounterOption
|
opts []metric.Int64ObservableUpDownCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64ObservableUpDownCounter
|
delegate atomic.Value // metric.Int64ObservableUpDownCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*aiUpDownCounter)(nil)
|
var (
|
||||||
var _ metric.Int64ObservableUpDownCounter = (*aiUpDownCounter)(nil)
|
_ unwrapper = (*aiUpDownCounter)(nil)
|
||||||
|
_ metric.Int64ObservableUpDownCounter = (*aiUpDownCounter)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *aiUpDownCounter) setDelegate(m metric.Meter) {
|
func (i *aiUpDownCounter) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Int64ObservableUpDownCounter(i.name, i.opts...)
|
ctr, err := m.Int64ObservableUpDownCounter(i.name, i.opts...)
|
||||||
|
@ -179,11 +189,13 @@ type aiGauge struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64ObservableGaugeOption
|
opts []metric.Int64ObservableGaugeOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64ObservableGauge
|
delegate atomic.Value // metric.Int64ObservableGauge
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ unwrapper = (*aiGauge)(nil)
|
var (
|
||||||
var _ metric.Int64ObservableGauge = (*aiGauge)(nil)
|
_ unwrapper = (*aiGauge)(nil)
|
||||||
|
_ metric.Int64ObservableGauge = (*aiGauge)(nil)
|
||||||
|
)
|
||||||
|
|
||||||
func (i *aiGauge) setDelegate(m metric.Meter) {
|
func (i *aiGauge) setDelegate(m metric.Meter) {
|
||||||
ctr, err := m.Int64ObservableGauge(i.name, i.opts...)
|
ctr, err := m.Int64ObservableGauge(i.name, i.opts...)
|
||||||
|
@ -208,7 +220,7 @@ type sfCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64CounterOption
|
opts []metric.Float64CounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64Counter
|
delegate atomic.Value // metric.Float64Counter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Float64Counter = (*sfCounter)(nil)
|
var _ metric.Float64Counter = (*sfCounter)(nil)
|
||||||
|
@ -234,7 +246,7 @@ type sfUpDownCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64UpDownCounterOption
|
opts []metric.Float64UpDownCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64UpDownCounter
|
delegate atomic.Value // metric.Float64UpDownCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Float64UpDownCounter = (*sfUpDownCounter)(nil)
|
var _ metric.Float64UpDownCounter = (*sfUpDownCounter)(nil)
|
||||||
|
@ -260,7 +272,7 @@ type sfHistogram struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Float64HistogramOption
|
opts []metric.Float64HistogramOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Float64Histogram
|
delegate atomic.Value // metric.Float64Histogram
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Float64Histogram = (*sfHistogram)(nil)
|
var _ metric.Float64Histogram = (*sfHistogram)(nil)
|
||||||
|
@ -286,7 +298,7 @@ type siCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64CounterOption
|
opts []metric.Int64CounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64Counter
|
delegate atomic.Value // metric.Int64Counter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Int64Counter = (*siCounter)(nil)
|
var _ metric.Int64Counter = (*siCounter)(nil)
|
||||||
|
@ -312,7 +324,7 @@ type siUpDownCounter struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64UpDownCounterOption
|
opts []metric.Int64UpDownCounterOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64UpDownCounter
|
delegate atomic.Value // metric.Int64UpDownCounter
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Int64UpDownCounter = (*siUpDownCounter)(nil)
|
var _ metric.Int64UpDownCounter = (*siUpDownCounter)(nil)
|
||||||
|
@ -338,7 +350,7 @@ type siHistogram struct {
|
||||||
name string
|
name string
|
||||||
opts []metric.Int64HistogramOption
|
opts []metric.Int64HistogramOption
|
||||||
|
|
||||||
delegate atomic.Value //metric.Int64Histogram
|
delegate atomic.Value // metric.Int64Histogram
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ metric.Int64Histogram = (*siHistogram)(nil)
|
var _ metric.Int64Histogram = (*siHistogram)(nil)
|
||||||
|
|
7
vendor/go.opentelemetry.io/otel/internal/global/trace.go
generated
vendored
7
vendor/go.opentelemetry.io/otel/internal/global/trace.go
generated
vendored
|
@ -39,6 +39,7 @@ import (
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/codes"
|
"go.opentelemetry.io/otel/codes"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
|
"go.opentelemetry.io/otel/trace/embedded"
|
||||||
)
|
)
|
||||||
|
|
||||||
// tracerProvider is a placeholder for a configured SDK TracerProvider.
|
// tracerProvider is a placeholder for a configured SDK TracerProvider.
|
||||||
|
@ -46,6 +47,8 @@ import (
|
||||||
// All TracerProvider functionality is forwarded to a delegate once
|
// All TracerProvider functionality is forwarded to a delegate once
|
||||||
// configured.
|
// configured.
|
||||||
type tracerProvider struct {
|
type tracerProvider struct {
|
||||||
|
embedded.TracerProvider
|
||||||
|
|
||||||
mtx sync.Mutex
|
mtx sync.Mutex
|
||||||
tracers map[il]*tracer
|
tracers map[il]*tracer
|
||||||
delegate trace.TracerProvider
|
delegate trace.TracerProvider
|
||||||
|
@ -119,6 +122,8 @@ type il struct {
|
||||||
// All Tracer functionality is forwarded to a delegate once configured.
|
// All Tracer functionality is forwarded to a delegate once configured.
|
||||||
// Otherwise, all functionality is forwarded to a NoopTracer.
|
// Otherwise, all functionality is forwarded to a NoopTracer.
|
||||||
type tracer struct {
|
type tracer struct {
|
||||||
|
embedded.Tracer
|
||||||
|
|
||||||
name string
|
name string
|
||||||
opts []trace.TracerOption
|
opts []trace.TracerOption
|
||||||
provider *tracerProvider
|
provider *tracerProvider
|
||||||
|
@ -156,6 +161,8 @@ func (t *tracer) Start(ctx context.Context, name string, opts ...trace.SpanStart
|
||||||
// SpanContext. It performs no operations other than to return the wrapped
|
// SpanContext. It performs no operations other than to return the wrapped
|
||||||
// SpanContext.
|
// SpanContext.
|
||||||
type nonRecordingSpan struct {
|
type nonRecordingSpan struct {
|
||||||
|
embedded.Span
|
||||||
|
|
||||||
sc trace.SpanContext
|
sc trace.SpanContext
|
||||||
tracer *tracer
|
tracer *tracer
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue