mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
vendor: make vendor-update
This commit is contained in:
parent
c25b0c2cd5
commit
ef94333808
76 changed files with 1208 additions and 512 deletions
12
go.mod
12
go.mod
|
@ -1,7 +1,6 @@
|
||||||
module github.com/VictoriaMetrics/VictoriaMetrics
|
module github.com/VictoriaMetrics/VictoriaMetrics
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go v0.61.0 // indirect
|
|
||||||
cloud.google.com/go/storage v1.10.0
|
cloud.google.com/go/storage v1.10.0
|
||||||
github.com/VictoriaMetrics/fastcache v1.5.7
|
github.com/VictoriaMetrics/fastcache v1.5.7
|
||||||
|
|
||||||
|
@ -10,7 +9,7 @@ require (
|
||||||
github.com/VictoriaMetrics/fasthttp v1.0.1
|
github.com/VictoriaMetrics/fasthttp v1.0.1
|
||||||
github.com/VictoriaMetrics/metrics v1.12.2
|
github.com/VictoriaMetrics/metrics v1.12.2
|
||||||
github.com/VictoriaMetrics/metricsql v0.2.10
|
github.com/VictoriaMetrics/metricsql v0.2.10
|
||||||
github.com/aws/aws-sdk-go v1.33.14
|
github.com/aws/aws-sdk-go v1.33.19
|
||||||
github.com/cespare/xxhash/v2 v2.1.1
|
github.com/cespare/xxhash/v2 v2.1.1
|
||||||
github.com/golang/snappy v0.0.1
|
github.com/golang/snappy v0.0.1
|
||||||
github.com/klauspost/compress v1.10.10
|
github.com/klauspost/compress v1.10.10
|
||||||
|
@ -20,10 +19,11 @@ require (
|
||||||
github.com/valyala/histogram v1.1.2
|
github.com/valyala/histogram v1.1.2
|
||||||
github.com/valyala/quicktemplate v1.6.0
|
github.com/valyala/quicktemplate v1.6.0
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||||
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1
|
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd
|
||||||
golang.org/x/tools v0.0.0-20200729041821-df70183b1872 // indirect
|
golang.org/x/tools v0.0.0-20200804234916-fec4f28ebb08 // indirect
|
||||||
google.golang.org/api v0.29.0
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f // indirect
|
google.golang.org/api v0.30.0
|
||||||
|
google.golang.org/genproto v0.0.0-20200804151602-45615f50871c // indirect
|
||||||
gopkg.in/yaml.v2 v2.3.0
|
gopkg.in/yaml.v2 v2.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
32
go.sum
32
go.sum
|
@ -13,8 +13,8 @@ cloud.google.com/go v0.56.0 h1:WRz29PgAsVEyPSDHyk+0fpEkwEFyfhHn+JbksT6gIL4=
|
||||||
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
|
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
|
||||||
cloud.google.com/go v0.57.0 h1:EpMNVUorLiZIELdMZbCYX/ByTFCdoYopYAGxaGVz9ms=
|
cloud.google.com/go v0.57.0 h1:EpMNVUorLiZIELdMZbCYX/ByTFCdoYopYAGxaGVz9ms=
|
||||||
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
|
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
|
||||||
cloud.google.com/go v0.61.0 h1:NLQf5e1OMspfNT1RAHOB3ublr1TW3YTXO8OiWwVjK2U=
|
cloud.google.com/go v0.62.0 h1:RmDygqvj27Zf3fCQjQRtLyC7KwFcHkeJitcO0OoGOcA=
|
||||||
cloud.google.com/go v0.61.0/go.mod h1:XukKJg4Y7QsUu0Hxg3qQKUWR4VuWivmyMK2+rUyxAqw=
|
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
|
||||||
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
||||||
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
|
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
|
||||||
cloud.google.com/go/bigquery v1.4.0 h1:xE3CPsOgttP4ACBePh79zTKALtXwn/Edhcr16R5hMWU=
|
cloud.google.com/go/bigquery v1.4.0 h1:xE3CPsOgttP4ACBePh79zTKALtXwn/Edhcr16R5hMWU=
|
||||||
|
@ -57,8 +57,8 @@ github.com/VictoriaMetrics/metricsql v0.2.10 h1:1z0cfVwjh9n6J0rM8znNQkTy0rIpB+VO
|
||||||
github.com/VictoriaMetrics/metricsql v0.2.10/go.mod h1:UIjd9S0W1UnTWlJdM0wLS+2pfuPqjwqKoK8yTos+WyE=
|
github.com/VictoriaMetrics/metricsql v0.2.10/go.mod h1:UIjd9S0W1UnTWlJdM0wLS+2pfuPqjwqKoK8yTos+WyE=
|
||||||
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8=
|
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8=
|
||||||
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
|
github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
|
||||||
github.com/aws/aws-sdk-go v1.33.14 h1:ucjyVEvtIdtn4acf+RKsgk6ybAYeMLXpGZeqoVvi7Kk=
|
github.com/aws/aws-sdk-go v1.33.19 h1:SMna0QLInNqm+nNL9tb7OVWTqSfNYSxrCa2adnyVth4=
|
||||||
github.com/aws/aws-sdk-go v1.33.14/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
github.com/aws/aws-sdk-go v1.33.19/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||||
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
|
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
|
||||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||||
|
@ -118,6 +118,8 @@ github.com/google/go-cmp v0.4.1 h1:/exdXoGamhu5ONeUJH0deniYLWYvQwW66yvlfiiKTu0=
|
||||||
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
||||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
|
||||||
|
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
|
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
|
||||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||||
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
|
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
|
||||||
|
@ -297,8 +299,9 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||||
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o=
|
golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o=
|
||||||
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1 h1:sIky/MyNRSHTrdxfsiUSS4WIAMvInbeXljJz+jDjeYE=
|
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd h1:wefLe/3g5tC0FcXw3NneLA5tHgbyouyZlfcSjNfOdgk=
|
||||||
|
golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
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=
|
||||||
|
@ -346,13 +349,16 @@ golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roY
|
||||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20200729041821-df70183b1872 h1:/U95VAvB4ZsR91rpZX2MwiKpejhWr+UxJ+N2VlJuESk=
|
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20200729041821-df70183b1872/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200804234916-fec4f28ebb08 h1:XBC3f8ybKQGVqTVTB+E6kLgdBF+3C01aymuHDEwI8y4=
|
||||||
|
golang.org/x/tools v0.0.0-20200804234916-fec4f28ebb08/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
|
||||||
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
||||||
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
||||||
|
@ -371,6 +377,8 @@ google.golang.org/api v0.28.0 h1:jMF5hhVfMkTZwHW1SDpKq5CkgWLXOb31Foaca9Zr3oM=
|
||||||
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 h1:BaiDisFir8O4IJxvAabCGGkQ6yCJegNQqSVoYUNAnbk=
|
google.golang.org/api v0.29.0 h1:BaiDisFir8O4IJxvAabCGGkQ6yCJegNQqSVoYUNAnbk=
|
||||||
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 h1:yfrXXP61wVuLb0vBcG6qaOoIoqYEzOQS8jum51jkv2w=
|
||||||
|
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
||||||
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=
|
||||||
|
@ -406,9 +414,11 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG
|
||||||
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
||||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||||
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
||||||
google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
|
||||||
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f h1:ohwtWcCwB/fZUxh/vjazHorYmBnua3NmY3CAjwC7mEA=
|
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f h1:ohwtWcCwB/fZUxh/vjazHorYmBnua3NmY3CAjwC7mEA=
|
||||||
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-20200804151602-45615f50871c h1:TQlznJ1HicL4W+4znnmEEyr2A6ncsbY9Il37TcoDWYY=
|
||||||
|
google.golang.org/genproto v0.0.0-20200804151602-45615f50871c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
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=
|
||||||
|
@ -422,6 +432,8 @@ google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4=
|
||||||
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
|
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
|
||||||
google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE=
|
google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE=
|
||||||
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||||
|
google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI=
|
||||||
|
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||||
|
|
27
vendor/cloud.google.com/go/CHANGES.md
generated
vendored
27
vendor/cloud.google.com/go/CHANGES.md
generated
vendored
|
@ -1,5 +1,32 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
## v0.62.0
|
||||||
|
|
||||||
|
### Announcements
|
||||||
|
|
||||||
|
- There was a breaking change to `cloud.google.com/go/dataproc/apiv1` that was
|
||||||
|
merged in [this PR](https://github.com/googleapis/google-cloud-go/pull/2606).
|
||||||
|
This fixed a broken API response for `DiagnoseCluster`. When polling on the
|
||||||
|
Long Running Operation(LRO), the API now returns
|
||||||
|
`(*dataprocpb.DiagnoseClusterResults, error)` whereas it only returned an
|
||||||
|
`error` before.
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
- all:
|
||||||
|
- Updated all direct dependencies.
|
||||||
|
- Updated contributing guidelines to suggest allowing edits from maintainers.
|
||||||
|
- billing/budgets:
|
||||||
|
- Start generating client for apiv1beta1.
|
||||||
|
- functions:
|
||||||
|
- Start generating client for apiv1.
|
||||||
|
- notebooks:
|
||||||
|
- Start generating client apiv1beta1.
|
||||||
|
- profiler:
|
||||||
|
- update proftest to support parsing floating-point backoff durations.
|
||||||
|
- Fix the regexp used to parse backoff duration.
|
||||||
|
- Various updates to autogenerated clients.
|
||||||
|
|
||||||
## v0.61.0
|
## v0.61.0
|
||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
|
|
14
vendor/cloud.google.com/go/CONTRIBUTING.md
generated
vendored
14
vendor/cloud.google.com/go/CONTRIBUTING.md
generated
vendored
|
@ -21,21 +21,25 @@
|
||||||
`cd google-cloud-go`
|
`cd google-cloud-go`
|
||||||
|
|
||||||
1. Fork the repo.
|
1. Fork the repo.
|
||||||
|
|
||||||
1. Set your fork as a remote:
|
1. Set your fork as a remote:
|
||||||
`git remote add fork git@github.com:GITHUB_USERNAME/google-cloud-go.git`
|
`git remote add fork git@github.com:GITHUB_USERNAME/google-cloud-go.git`
|
||||||
|
|
||||||
1. Make changes (see [Formatting](#formatting) and [Style](#style)), commit to
|
1. Make changes, commit to your fork.
|
||||||
your fork.
|
|
||||||
|
|
||||||
Commit messages should follow the
|
Commit messages should follow the
|
||||||
[Go project style](https://github.com/golang/go/wiki/CommitMessage). For example:
|
[Conventional Commits Style](https://www.conventionalcommits.org). The scope
|
||||||
|
portion should always be filled with the name of the package affected by the
|
||||||
|
changes being made. For example:
|
||||||
```
|
```
|
||||||
functions: add gophers codelab
|
feat(functions): add gophers codelab
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Send a pull request with your changes.
|
1. Send a pull request with your changes.
|
||||||
|
|
||||||
|
To minimize friction, consider setting `Allow edits from maintainers` on the
|
||||||
|
PR, which will enable project committers and automation to update your PR.
|
||||||
|
|
||||||
1. A maintainer will review the pull request and make comments.
|
1. A maintainer will review the pull request and make comments.
|
||||||
|
|
||||||
Prefer adding additional commits over amending and force-pushing since it can
|
Prefer adding additional commits over amending and force-pushing since it can
|
||||||
|
|
6
vendor/cloud.google.com/go/go.mod
generated
vendored
6
vendor/cloud.google.com/go/go.mod
generated
vendored
|
@ -6,7 +6,7 @@ require (
|
||||||
cloud.google.com/go/storage v1.10.0
|
cloud.google.com/go/storage v1.10.0
|
||||||
github.com/golang/mock v1.4.3
|
github.com/golang/mock v1.4.3
|
||||||
github.com/golang/protobuf v1.4.2
|
github.com/golang/protobuf v1.4.2
|
||||||
github.com/google/go-cmp v0.5.0
|
github.com/google/go-cmp v0.5.1
|
||||||
github.com/google/martian/v3 v3.0.0
|
github.com/google/martian/v3 v3.0.0
|
||||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99
|
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5
|
github.com/googleapis/gax-go/v2 v2.0.5
|
||||||
|
@ -16,9 +16,9 @@ require (
|
||||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381
|
golang.org/x/net v0.0.0-20200707034311-ab3426394381
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||||
golang.org/x/text v0.3.3
|
golang.org/x/text v0.3.3
|
||||||
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed
|
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7
|
||||||
google.golang.org/api v0.29.0
|
google.golang.org/api v0.29.0
|
||||||
google.golang.org/genproto v0.0.0-20200711021454-869866162049
|
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f
|
||||||
google.golang.org/grpc v1.30.0
|
google.golang.org/grpc v1.30.0
|
||||||
google.golang.org/protobuf v1.25.0 // indirect
|
google.golang.org/protobuf v1.25.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
10
vendor/cloud.google.com/go/go.sum
generated
vendored
10
vendor/cloud.google.com/go/go.sum
generated
vendored
|
@ -111,6 +111,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||||
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
||||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
|
||||||
|
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
|
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
|
||||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||||
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
|
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
|
||||||
|
@ -351,8 +353,8 @@ golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88 h1:4j84u0sokprDu3IdSYHJMmo
|
||||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed h1:+qzWo37K31KxduIYaBeMqJ8MUOyTayOQKpH9aDPLMSY=
|
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7 h1:LHW24ah7B+uV/OePwNP0p/t889F3QSyLvY8Sg/bK0SY=
|
||||||
golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||||
|
@ -423,8 +425,8 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG
|
||||||
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
|
||||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||||
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
|
||||||
google.golang.org/genproto v0.0.0-20200711021454-869866162049 h1:YFTFpQhgvrLrmxtiIncJxFXeCyq84ixuKWVCaCAi9Oc=
|
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f h1:ohwtWcCwB/fZUxh/vjazHorYmBnua3NmY3CAjwC7mEA=
|
||||||
google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
|
google.golang.org/grpc v1.19.0 h1:cfg4PD8YEdSFnm7qLV4++93WcmhH2nIUhMjhdCvl3j8=
|
||||||
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 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
|
google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU=
|
||||||
|
|
26
vendor/cloud.google.com/go/internal/.repo-metadata-full.json
generated
vendored
26
vendor/cloud.google.com/go/internal/.repo-metadata-full.json
generated
vendored
|
@ -143,6 +143,14 @@
|
||||||
"docs_url": "https://pkg.go.dev/cloud.google.com/go/billing/apiv1",
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/billing/apiv1",
|
||||||
"release_level": "ga"
|
"release_level": "ga"
|
||||||
},
|
},
|
||||||
|
"cloud.google.com/go/billing/budgets/apiv1beta1": {
|
||||||
|
"distribution_name": "cloud.google.com/go/billing/budgets/apiv1beta1",
|
||||||
|
"description": "",
|
||||||
|
"language": "Go",
|
||||||
|
"client_library_type": "generated",
|
||||||
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/billing/budgets/apiv1beta1",
|
||||||
|
"release_level": "beta"
|
||||||
|
},
|
||||||
"cloud.google.com/go/cloudbuild/apiv1/v2": {
|
"cloud.google.com/go/cloudbuild/apiv1/v2": {
|
||||||
"distribution_name": "cloud.google.com/go/cloudbuild/apiv1/v2",
|
"distribution_name": "cloud.google.com/go/cloudbuild/apiv1/v2",
|
||||||
"description": "Cloud Build API",
|
"description": "Cloud Build API",
|
||||||
|
@ -303,6 +311,14 @@
|
||||||
"docs_url": "https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin",
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin",
|
||||||
"release_level": "ga"
|
"release_level": "ga"
|
||||||
},
|
},
|
||||||
|
"cloud.google.com/go/functions/apiv1": {
|
||||||
|
"distribution_name": "cloud.google.com/go/functions/apiv1",
|
||||||
|
"description": "",
|
||||||
|
"language": "Go",
|
||||||
|
"client_library_type": "generated",
|
||||||
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/functions/apiv1",
|
||||||
|
"release_level": "beta"
|
||||||
|
},
|
||||||
"cloud.google.com/go/gaming/apiv1beta": {
|
"cloud.google.com/go/gaming/apiv1beta": {
|
||||||
"distribution_name": "cloud.google.com/go/gaming/apiv1beta",
|
"distribution_name": "cloud.google.com/go/gaming/apiv1beta",
|
||||||
"description": "",
|
"description": "",
|
||||||
|
@ -407,6 +423,14 @@
|
||||||
"docs_url": "https://pkg.go.dev/cloud.google.com/go/monitoring/dashboard/apiv1",
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/monitoring/dashboard/apiv1",
|
||||||
"release_level": "beta"
|
"release_level": "beta"
|
||||||
},
|
},
|
||||||
|
"cloud.google.com/go/notebooks/apiv1beta1": {
|
||||||
|
"distribution_name": "cloud.google.com/go/notebooks/apiv1beta1",
|
||||||
|
"description": "Notebooks API",
|
||||||
|
"language": "Go",
|
||||||
|
"client_library_type": "generated",
|
||||||
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/notebooks/apiv1beta1",
|
||||||
|
"release_level": "beta"
|
||||||
|
},
|
||||||
"cloud.google.com/go/osconfig/agentendpoint/apiv1": {
|
"cloud.google.com/go/osconfig/agentendpoint/apiv1": {
|
||||||
"distribution_name": "cloud.google.com/go/osconfig/agentendpoint/apiv1",
|
"distribution_name": "cloud.google.com/go/osconfig/agentendpoint/apiv1",
|
||||||
"description": "Cloud OS Config API",
|
"description": "Cloud OS Config API",
|
||||||
|
@ -585,7 +609,7 @@
|
||||||
},
|
},
|
||||||
"cloud.google.com/go/securitycenter/apiv1beta1": {
|
"cloud.google.com/go/securitycenter/apiv1beta1": {
|
||||||
"distribution_name": "cloud.google.com/go/securitycenter/apiv1beta1",
|
"distribution_name": "cloud.google.com/go/securitycenter/apiv1beta1",
|
||||||
"description": "Cloud Security Command Center API",
|
"description": "Security Command Center API",
|
||||||
"language": "Go",
|
"language": "Go",
|
||||||
"client_library_type": "generated",
|
"client_library_type": "generated",
|
||||||
"docs_url": "https://pkg.go.dev/cloud.google.com/go/securitycenter/apiv1beta1",
|
"docs_url": "https://pkg.go.dev/cloud.google.com/go/securitycenter/apiv1beta1",
|
||||||
|
|
2
vendor/cloud.google.com/go/internal/version/version.go
generated
vendored
2
vendor/cloud.google.com/go/internal/version/version.go
generated
vendored
|
@ -26,7 +26,7 @@ import (
|
||||||
|
|
||||||
// Repo is the current version of the client libraries in this
|
// Repo is the current version of the client libraries in this
|
||||||
// repo. It should be a date in YYYYMMDD format.
|
// repo. It should be a date in YYYYMMDD format.
|
||||||
const Repo = "20200706"
|
const Repo = "20200727"
|
||||||
|
|
||||||
// Go returns the Go runtime version. The returned string
|
// Go returns the Go runtime version. The returned string
|
||||||
// has no whitespace.
|
// has no whitespace.
|
||||||
|
|
137
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
137
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
generated
vendored
|
@ -194,12 +194,42 @@ var awsPartition = partition{
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
"me-south-1": endpoint{},
|
"fips-ca-central-1": endpoint{
|
||||||
"sa-east-1": endpoint{},
|
Hostname: "access-analyzer-fips.ca-central-1.amazonaws.com",
|
||||||
"us-east-1": endpoint{},
|
CredentialScope: credentialScope{
|
||||||
"us-east-2": endpoint{},
|
Region: "ca-central-1",
|
||||||
"us-west-1": endpoint{},
|
},
|
||||||
"us-west-2": endpoint{},
|
},
|
||||||
|
"fips-us-east-1": endpoint{
|
||||||
|
Hostname: "access-analyzer-fips.us-east-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"fips-us-east-2": endpoint{
|
||||||
|
Hostname: "access-analyzer-fips.us-east-2.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"fips-us-west-1": endpoint{
|
||||||
|
Hostname: "access-analyzer-fips.us-west-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"fips-us-west-2": endpoint{
|
||||||
|
Hostname: "access-analyzer-fips.us-west-2.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"me-south-1": endpoint{},
|
||||||
|
"sa-east-1": endpoint{},
|
||||||
|
"us-east-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"acm": service{
|
"acm": service{
|
||||||
|
@ -688,6 +718,7 @@ var awsPartition = partition{
|
||||||
"ca-central-1": endpoint{},
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-north-1": endpoint{},
|
"eu-north-1": endpoint{},
|
||||||
|
"eu-south-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
|
@ -898,6 +929,7 @@ var awsPartition = partition{
|
||||||
"ca-central-1": endpoint{},
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-north-1": endpoint{},
|
"eu-north-1": endpoint{},
|
||||||
|
"eu-south-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
|
@ -1813,6 +1845,7 @@ var awsPartition = partition{
|
||||||
"ds": service{
|
"ds": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"af-south-1": endpoint{},
|
||||||
"ap-east-1": endpoint{},
|
"ap-east-1": endpoint{},
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
"ap-northeast-2": endpoint{},
|
"ap-northeast-2": endpoint{},
|
||||||
|
@ -1822,6 +1855,7 @@ var awsPartition = partition{
|
||||||
"ca-central-1": endpoint{},
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-north-1": endpoint{},
|
"eu-north-1": endpoint{},
|
||||||
|
"eu-south-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
|
@ -2901,9 +2935,21 @@ var awsPartition = partition{
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
"eu-north-1": endpoint{},
|
"eu-north-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"me-south-1": endpoint{},
|
"fips-us-east-2": endpoint{
|
||||||
"us-east-2": endpoint{},
|
Hostname: "groundstation-fips.us-east-2.amazonaws.com",
|
||||||
"us-west-2": endpoint{},
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-east-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"fips-us-west-2": endpoint{
|
||||||
|
Hostname: "groundstation-fips.us-west-2.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-west-2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"me-south-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"guardduty": service{
|
"guardduty": service{
|
||||||
|
@ -2912,6 +2958,7 @@ var awsPartition = partition{
|
||||||
Protocols: []string{"https"},
|
Protocols: []string{"https"},
|
||||||
},
|
},
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"af-south-1": endpoint{},
|
||||||
"ap-east-1": endpoint{},
|
"ap-east-1": endpoint{},
|
||||||
"ap-northeast-1": endpoint{},
|
"ap-northeast-1": endpoint{},
|
||||||
"ap-northeast-2": endpoint{},
|
"ap-northeast-2": endpoint{},
|
||||||
|
@ -2921,6 +2968,7 @@ var awsPartition = partition{
|
||||||
"ca-central-1": endpoint{},
|
"ca-central-1": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
"eu-north-1": endpoint{},
|
"eu-north-1": endpoint{},
|
||||||
|
"eu-south-1": endpoint{},
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
|
@ -4035,6 +4083,12 @@ var awsPartition = partition{
|
||||||
Region: "eu-central-1",
|
Region: "eu-central-1",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"eu-north-1": endpoint{
|
||||||
|
Hostname: "oidc.eu-north-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "eu-north-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
"eu-west-1": endpoint{
|
"eu-west-1": endpoint{
|
||||||
Hostname: "oidc.eu-west-1.amazonaws.com",
|
Hostname: "oidc.eu-west-1.amazonaws.com",
|
||||||
CredentialScope: credentialScope{
|
CredentialScope: credentialScope{
|
||||||
|
@ -4182,6 +4236,7 @@ var awsPartition = partition{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
"ap-northeast-2": endpoint{},
|
||||||
"ap-south-1": endpoint{},
|
"ap-south-1": endpoint{},
|
||||||
"ap-southeast-2": endpoint{},
|
"ap-southeast-2": endpoint{},
|
||||||
"eu-central-1": endpoint{},
|
"eu-central-1": endpoint{},
|
||||||
|
@ -5199,6 +5254,31 @@ var awsPartition = partition{
|
||||||
"us-west-2": endpoint{},
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"servicequotas": service{
|
||||||
|
Defaults: endpoint{
|
||||||
|
Protocols: []string{"https"},
|
||||||
|
},
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"ap-east-1": endpoint{},
|
||||||
|
"ap-northeast-1": endpoint{},
|
||||||
|
"ap-northeast-2": endpoint{},
|
||||||
|
"ap-south-1": endpoint{},
|
||||||
|
"ap-southeast-1": endpoint{},
|
||||||
|
"ap-southeast-2": endpoint{},
|
||||||
|
"ca-central-1": endpoint{},
|
||||||
|
"eu-central-1": endpoint{},
|
||||||
|
"eu-north-1": endpoint{},
|
||||||
|
"eu-west-1": endpoint{},
|
||||||
|
"eu-west-2": endpoint{},
|
||||||
|
"eu-west-3": endpoint{},
|
||||||
|
"me-south-1": endpoint{},
|
||||||
|
"sa-east-1": endpoint{},
|
||||||
|
"us-east-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"session.qldb": service{
|
"session.qldb": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
@ -5638,12 +5718,18 @@ var awsPartition = partition{
|
||||||
"eu-west-1": endpoint{},
|
"eu-west-1": endpoint{},
|
||||||
"eu-west-2": endpoint{},
|
"eu-west-2": endpoint{},
|
||||||
"eu-west-3": endpoint{},
|
"eu-west-3": endpoint{},
|
||||||
"me-south-1": endpoint{},
|
"fips": endpoint{
|
||||||
"sa-east-1": endpoint{},
|
Hostname: "storagegateway-fips.ca-central-1.amazonaws.com",
|
||||||
"us-east-1": endpoint{},
|
CredentialScope: credentialScope{
|
||||||
"us-east-2": endpoint{},
|
Region: "ca-central-1",
|
||||||
"us-west-1": endpoint{},
|
},
|
||||||
"us-west-2": endpoint{},
|
},
|
||||||
|
"me-south-1": endpoint{},
|
||||||
|
"sa-east-1": endpoint{},
|
||||||
|
"us-east-1": endpoint{},
|
||||||
|
"us-east-2": endpoint{},
|
||||||
|
"us-west-1": endpoint{},
|
||||||
|
"us-west-2": endpoint{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"streams.dynamodb": service{
|
"streams.dynamodb": service{
|
||||||
|
@ -6319,6 +6405,13 @@ var awscnPartition = partition{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Services: services{
|
Services: services{
|
||||||
|
"access-analyzer": service{
|
||||||
|
|
||||||
|
Endpoints: endpoints{
|
||||||
|
"cn-north-1": endpoint{},
|
||||||
|
"cn-northwest-1": endpoint{},
|
||||||
|
},
|
||||||
|
},
|
||||||
"acm": service{
|
"acm": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
|
@ -7093,8 +7186,18 @@ var awsusgovPartition = partition{
|
||||||
"access-analyzer": service{
|
"access-analyzer": service{
|
||||||
|
|
||||||
Endpoints: endpoints{
|
Endpoints: endpoints{
|
||||||
"us-gov-east-1": endpoint{},
|
"us-gov-east-1": endpoint{
|
||||||
"us-gov-west-1": endpoint{},
|
Hostname: "access-analyzer.us-gov-east-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-east-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"us-gov-west-1": endpoint{
|
||||||
|
Hostname: "access-analyzer.us-gov-west-1.amazonaws.com",
|
||||||
|
CredentialScope: credentialScope{
|
||||||
|
Region: "us-gov-west-1",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"acm": service{
|
"acm": service{
|
||||||
|
|
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.33.14"
|
const SDKVersion = "1.33.19"
|
||||||
|
|
13
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
13
vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
|
@ -1965,10 +1965,15 @@ func isGroupMember(gid int) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
//sys faccessat(dirfd int, path string, mode uint32) (err error)
|
//sys faccessat(dirfd int, path string, mode uint32) (err error)
|
||||||
|
//sys Faccessat2(dirfd int, path string, mode uint32, flags int) (err error)
|
||||||
|
|
||||||
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
||||||
if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
|
if flags == 0 {
|
||||||
return EINVAL
|
return faccessat(dirfd, path, mode)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := Faccessat2(dirfd, path, mode, flags); err != ENOSYS {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// The Linux kernel faccessat system call does not take any flags.
|
// The Linux kernel faccessat system call does not take any flags.
|
||||||
|
@ -1977,8 +1982,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
||||||
// Because people naturally expect syscall.Faccessat to act
|
// Because people naturally expect syscall.Faccessat to act
|
||||||
// like C faccessat, we do the same.
|
// like C faccessat, we do the same.
|
||||||
|
|
||||||
if flags == 0 {
|
if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {
|
||||||
return faccessat(dirfd, path, mode)
|
return EINVAL
|
||||||
}
|
}
|
||||||
|
|
||||||
var st Stat_t
|
var st Stat_t
|
||||||
|
|
18
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
18
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
|
@ -265,6 +265,7 @@ const (
|
||||||
CAP_AUDIT_READ = 0x25
|
CAP_AUDIT_READ = 0x25
|
||||||
CAP_AUDIT_WRITE = 0x1d
|
CAP_AUDIT_WRITE = 0x1d
|
||||||
CAP_BLOCK_SUSPEND = 0x24
|
CAP_BLOCK_SUSPEND = 0x24
|
||||||
|
CAP_BPF = 0x27
|
||||||
CAP_CHOWN = 0x0
|
CAP_CHOWN = 0x0
|
||||||
CAP_DAC_OVERRIDE = 0x1
|
CAP_DAC_OVERRIDE = 0x1
|
||||||
CAP_DAC_READ_SEARCH = 0x2
|
CAP_DAC_READ_SEARCH = 0x2
|
||||||
|
@ -273,7 +274,7 @@ const (
|
||||||
CAP_IPC_LOCK = 0xe
|
CAP_IPC_LOCK = 0xe
|
||||||
CAP_IPC_OWNER = 0xf
|
CAP_IPC_OWNER = 0xf
|
||||||
CAP_KILL = 0x5
|
CAP_KILL = 0x5
|
||||||
CAP_LAST_CAP = 0x25
|
CAP_LAST_CAP = 0x27
|
||||||
CAP_LEASE = 0x1c
|
CAP_LEASE = 0x1c
|
||||||
CAP_LINUX_IMMUTABLE = 0x9
|
CAP_LINUX_IMMUTABLE = 0x9
|
||||||
CAP_MAC_ADMIN = 0x21
|
CAP_MAC_ADMIN = 0x21
|
||||||
|
@ -283,6 +284,7 @@ const (
|
||||||
CAP_NET_BIND_SERVICE = 0xa
|
CAP_NET_BIND_SERVICE = 0xa
|
||||||
CAP_NET_BROADCAST = 0xb
|
CAP_NET_BROADCAST = 0xb
|
||||||
CAP_NET_RAW = 0xd
|
CAP_NET_RAW = 0xd
|
||||||
|
CAP_PERFMON = 0x26
|
||||||
CAP_SETFCAP = 0x1f
|
CAP_SETFCAP = 0x1f
|
||||||
CAP_SETGID = 0x6
|
CAP_SETGID = 0x6
|
||||||
CAP_SETPCAP = 0x8
|
CAP_SETPCAP = 0x8
|
||||||
|
@ -372,6 +374,7 @@ const (
|
||||||
DEVLINK_GENL_NAME = "devlink"
|
DEVLINK_GENL_NAME = "devlink"
|
||||||
DEVLINK_GENL_VERSION = 0x1
|
DEVLINK_GENL_VERSION = 0x1
|
||||||
DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14
|
DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14
|
||||||
|
DEVMEM_MAGIC = 0x454d444d
|
||||||
DEVPTS_SUPER_MAGIC = 0x1cd1
|
DEVPTS_SUPER_MAGIC = 0x1cd1
|
||||||
DMA_BUF_MAGIC = 0x444d4142
|
DMA_BUF_MAGIC = 0x444d4142
|
||||||
DT_BLK = 0x6
|
DT_BLK = 0x6
|
||||||
|
@ -475,6 +478,7 @@ const (
|
||||||
ETH_P_MOBITEX = 0x15
|
ETH_P_MOBITEX = 0x15
|
||||||
ETH_P_MPLS_MC = 0x8848
|
ETH_P_MPLS_MC = 0x8848
|
||||||
ETH_P_MPLS_UC = 0x8847
|
ETH_P_MPLS_UC = 0x8847
|
||||||
|
ETH_P_MRP = 0x88e3
|
||||||
ETH_P_MVRP = 0x88f5
|
ETH_P_MVRP = 0x88f5
|
||||||
ETH_P_NCSI = 0x88f8
|
ETH_P_NCSI = 0x88f8
|
||||||
ETH_P_NSH = 0x894f
|
ETH_P_NSH = 0x894f
|
||||||
|
@ -602,8 +606,9 @@ const (
|
||||||
FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0
|
FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0
|
||||||
FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1
|
FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1
|
||||||
FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3
|
FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3
|
||||||
FSCRYPT_POLICY_FLAGS_VALID = 0xf
|
FSCRYPT_POLICY_FLAGS_VALID = 0x1f
|
||||||
FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4
|
FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4
|
||||||
|
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 = 0x10
|
||||||
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8
|
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8
|
||||||
FSCRYPT_POLICY_V1 = 0x0
|
FSCRYPT_POLICY_V1 = 0x0
|
||||||
FSCRYPT_POLICY_V2 = 0x2
|
FSCRYPT_POLICY_V2 = 0x2
|
||||||
|
@ -632,7 +637,7 @@ const (
|
||||||
FS_POLICY_FLAGS_PAD_4 = 0x0
|
FS_POLICY_FLAGS_PAD_4 = 0x0
|
||||||
FS_POLICY_FLAGS_PAD_8 = 0x1
|
FS_POLICY_FLAGS_PAD_8 = 0x1
|
||||||
FS_POLICY_FLAGS_PAD_MASK = 0x3
|
FS_POLICY_FLAGS_PAD_MASK = 0x3
|
||||||
FS_POLICY_FLAGS_VALID = 0xf
|
FS_POLICY_FLAGS_VALID = 0x1f
|
||||||
FS_VERITY_FL = 0x100000
|
FS_VERITY_FL = 0x100000
|
||||||
FS_VERITY_HASH_ALG_SHA256 = 0x1
|
FS_VERITY_HASH_ALG_SHA256 = 0x1
|
||||||
FS_VERITY_HASH_ALG_SHA512 = 0x2
|
FS_VERITY_HASH_ALG_SHA512 = 0x2
|
||||||
|
@ -1016,6 +1021,7 @@ const (
|
||||||
KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2
|
KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2
|
||||||
KEYCTL_CAPS0_PUBLIC_KEY = 0x8
|
KEYCTL_CAPS0_PUBLIC_KEY = 0x8
|
||||||
KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40
|
KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40
|
||||||
|
KEYCTL_CAPS1_NOTIFICATIONS = 0x4
|
||||||
KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1
|
KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1
|
||||||
KEYCTL_CAPS1_NS_KEY_TAG = 0x2
|
KEYCTL_CAPS1_NS_KEY_TAG = 0x2
|
||||||
KEYCTL_CHOWN = 0x4
|
KEYCTL_CHOWN = 0x4
|
||||||
|
@ -1053,6 +1059,7 @@ const (
|
||||||
KEYCTL_SUPPORTS_VERIFY = 0x8
|
KEYCTL_SUPPORTS_VERIFY = 0x8
|
||||||
KEYCTL_UNLINK = 0x9
|
KEYCTL_UNLINK = 0x9
|
||||||
KEYCTL_UPDATE = 0x2
|
KEYCTL_UPDATE = 0x2
|
||||||
|
KEYCTL_WATCH_KEY = 0x20
|
||||||
KEY_REQKEY_DEFL_DEFAULT = 0x0
|
KEY_REQKEY_DEFL_DEFAULT = 0x0
|
||||||
KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6
|
KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6
|
||||||
KEY_REQKEY_DEFL_NO_CHANGE = -0x1
|
KEY_REQKEY_DEFL_NO_CHANGE = -0x1
|
||||||
|
@ -1096,6 +1103,8 @@ const (
|
||||||
LOOP_SET_FD = 0x4c00
|
LOOP_SET_FD = 0x4c00
|
||||||
LOOP_SET_STATUS = 0x4c02
|
LOOP_SET_STATUS = 0x4c02
|
||||||
LOOP_SET_STATUS64 = 0x4c04
|
LOOP_SET_STATUS64 = 0x4c04
|
||||||
|
LOOP_SET_STATUS_CLEARABLE_FLAGS = 0x4
|
||||||
|
LOOP_SET_STATUS_SETTABLE_FLAGS = 0xc
|
||||||
LO_KEY_SIZE = 0x20
|
LO_KEY_SIZE = 0x20
|
||||||
LO_NAME_SIZE = 0x40
|
LO_NAME_SIZE = 0x40
|
||||||
MADV_COLD = 0x14
|
MADV_COLD = 0x14
|
||||||
|
@ -1992,8 +2001,10 @@ const (
|
||||||
STATX_ATTR_APPEND = 0x20
|
STATX_ATTR_APPEND = 0x20
|
||||||
STATX_ATTR_AUTOMOUNT = 0x1000
|
STATX_ATTR_AUTOMOUNT = 0x1000
|
||||||
STATX_ATTR_COMPRESSED = 0x4
|
STATX_ATTR_COMPRESSED = 0x4
|
||||||
|
STATX_ATTR_DAX = 0x2000
|
||||||
STATX_ATTR_ENCRYPTED = 0x800
|
STATX_ATTR_ENCRYPTED = 0x800
|
||||||
STATX_ATTR_IMMUTABLE = 0x10
|
STATX_ATTR_IMMUTABLE = 0x10
|
||||||
|
STATX_ATTR_MOUNT_ROOT = 0x2000
|
||||||
STATX_ATTR_NODUMP = 0x40
|
STATX_ATTR_NODUMP = 0x40
|
||||||
STATX_ATTR_VERITY = 0x100000
|
STATX_ATTR_VERITY = 0x100000
|
||||||
STATX_BASIC_STATS = 0x7ff
|
STATX_BASIC_STATS = 0x7ff
|
||||||
|
@ -2002,6 +2013,7 @@ const (
|
||||||
STATX_CTIME = 0x80
|
STATX_CTIME = 0x80
|
||||||
STATX_GID = 0x10
|
STATX_GID = 0x10
|
||||||
STATX_INO = 0x100
|
STATX_INO = 0x100
|
||||||
|
STATX_MNT_ID = 0x1000
|
||||||
STATX_MODE = 0x2
|
STATX_MODE = 0x2
|
||||||
STATX_MTIME = 0x40
|
STATX_MTIME = 0x40
|
||||||
STATX_NLINK = 0x4
|
STATX_NLINK = 0x4
|
||||||
|
|
15
vendor/golang.org/x/sys/unix/zsyscall_linux.go
generated
vendored
15
vendor/golang.org/x/sys/unix/zsyscall_linux.go
generated
vendored
|
@ -1821,6 +1821,21 @@ func faccessat(dirfd int, path string, mode uint32) (err error) {
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(path)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_FACCESSAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) {
|
||||||
var _p0 *byte
|
var _p0 *byte
|
||||||
_p0, err = BytePtrFromString(pathname)
|
_p0, err = BytePtrFromString(pathname)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
|
@ -433,4 +433,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
|
@ -355,4 +355,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
generated
vendored
|
@ -397,4 +397,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
generated
vendored
|
@ -300,4 +300,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
generated
vendored
|
@ -418,4 +418,5 @@ const (
|
||||||
SYS_CLONE3 = 4435
|
SYS_CLONE3 = 4435
|
||||||
SYS_OPENAT2 = 4437
|
SYS_OPENAT2 = 4437
|
||||||
SYS_PIDFD_GETFD = 4438
|
SYS_PIDFD_GETFD = 4438
|
||||||
|
SYS_FACCESSAT2 = 4439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
generated
vendored
|
@ -348,4 +348,5 @@ const (
|
||||||
SYS_CLONE3 = 5435
|
SYS_CLONE3 = 5435
|
||||||
SYS_OPENAT2 = 5437
|
SYS_OPENAT2 = 5437
|
||||||
SYS_PIDFD_GETFD = 5438
|
SYS_PIDFD_GETFD = 5438
|
||||||
|
SYS_FACCESSAT2 = 5439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
generated
vendored
|
@ -348,4 +348,5 @@ const (
|
||||||
SYS_CLONE3 = 5435
|
SYS_CLONE3 = 5435
|
||||||
SYS_OPENAT2 = 5437
|
SYS_OPENAT2 = 5437
|
||||||
SYS_PIDFD_GETFD = 5438
|
SYS_PIDFD_GETFD = 5438
|
||||||
|
SYS_FACCESSAT2 = 5439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
generated
vendored
|
@ -418,4 +418,5 @@ const (
|
||||||
SYS_CLONE3 = 4435
|
SYS_CLONE3 = 4435
|
||||||
SYS_OPENAT2 = 4437
|
SYS_OPENAT2 = 4437
|
||||||
SYS_PIDFD_GETFD = 4438
|
SYS_PIDFD_GETFD = 4438
|
||||||
|
SYS_FACCESSAT2 = 4439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
generated
vendored
|
@ -397,4 +397,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
generated
vendored
|
@ -397,4 +397,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
generated
vendored
|
@ -299,4 +299,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
generated
vendored
|
@ -362,4 +362,5 @@ const (
|
||||||
SYS_CLONE3 = 435
|
SYS_CLONE3 = 435
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
1
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
1
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
generated
vendored
|
@ -376,4 +376,5 @@ const (
|
||||||
SYS_PIDFD_OPEN = 434
|
SYS_PIDFD_OPEN = 434
|
||||||
SYS_OPENAT2 = 437
|
SYS_OPENAT2 = 437
|
||||||
SYS_PIDFD_GETFD = 438
|
SYS_PIDFD_GETFD = 438
|
||||||
|
SYS_FACCESSAT2 = 439
|
||||||
)
|
)
|
||||||
|
|
4
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
4
vendor/golang.org/x/sys/unix/ztypes_linux.go
generated
vendored
|
@ -67,7 +67,9 @@ type Statx_t struct {
|
||||||
Rdev_minor uint32
|
Rdev_minor uint32
|
||||||
Dev_major uint32
|
Dev_major uint32
|
||||||
Dev_minor uint32
|
Dev_minor uint32
|
||||||
_ [14]uint64
|
Mnt_id uint64
|
||||||
|
_ uint64
|
||||||
|
_ [12]uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
type Fsid struct {
|
type Fsid struct {
|
||||||
|
|
52
vendor/golang.org/x/tools/internal/imports/zstdlib.go
generated
vendored
52
vendor/golang.org/x/tools/internal/imports/zstdlib.go
generated
vendored
|
@ -56,6 +56,7 @@ var stdlib = map[string][]string{
|
||||||
},
|
},
|
||||||
"bufio": []string{
|
"bufio": []string{
|
||||||
"ErrAdvanceTooFar",
|
"ErrAdvanceTooFar",
|
||||||
|
"ErrBadReadCount",
|
||||||
"ErrBufferFull",
|
"ErrBufferFull",
|
||||||
"ErrFinalToken",
|
"ErrFinalToken",
|
||||||
"ErrInvalidUnreadByte",
|
"ErrInvalidUnreadByte",
|
||||||
|
@ -303,7 +304,9 @@ var stdlib = map[string][]string{
|
||||||
"PrivateKey",
|
"PrivateKey",
|
||||||
"PublicKey",
|
"PublicKey",
|
||||||
"Sign",
|
"Sign",
|
||||||
|
"SignASN1",
|
||||||
"Verify",
|
"Verify",
|
||||||
|
"VerifyASN1",
|
||||||
},
|
},
|
||||||
"crypto/ed25519": []string{
|
"crypto/ed25519": []string{
|
||||||
"GenerateKey",
|
"GenerateKey",
|
||||||
|
@ -322,11 +325,13 @@ var stdlib = map[string][]string{
|
||||||
"CurveParams",
|
"CurveParams",
|
||||||
"GenerateKey",
|
"GenerateKey",
|
||||||
"Marshal",
|
"Marshal",
|
||||||
|
"MarshalCompressed",
|
||||||
"P224",
|
"P224",
|
||||||
"P256",
|
"P256",
|
||||||
"P384",
|
"P384",
|
||||||
"P521",
|
"P521",
|
||||||
"Unmarshal",
|
"Unmarshal",
|
||||||
|
"UnmarshalCompressed",
|
||||||
},
|
},
|
||||||
"crypto/hmac": []string{
|
"crypto/hmac": []string{
|
||||||
"Equal",
|
"Equal",
|
||||||
|
@ -432,6 +437,7 @@ var stdlib = map[string][]string{
|
||||||
"CurveP521",
|
"CurveP521",
|
||||||
"Dial",
|
"Dial",
|
||||||
"DialWithDialer",
|
"DialWithDialer",
|
||||||
|
"Dialer",
|
||||||
"ECDSAWithP256AndSHA256",
|
"ECDSAWithP256AndSHA256",
|
||||||
"ECDSAWithP384AndSHA384",
|
"ECDSAWithP384AndSHA384",
|
||||||
"ECDSAWithP521AndSHA512",
|
"ECDSAWithP521AndSHA512",
|
||||||
|
@ -507,6 +513,7 @@ var stdlib = map[string][]string{
|
||||||
"ConstraintViolationError",
|
"ConstraintViolationError",
|
||||||
"CreateCertificate",
|
"CreateCertificate",
|
||||||
"CreateCertificateRequest",
|
"CreateCertificateRequest",
|
||||||
|
"CreateRevocationList",
|
||||||
"DSA",
|
"DSA",
|
||||||
"DSAWithSHA1",
|
"DSAWithSHA1",
|
||||||
"DSAWithSHA256",
|
"DSAWithSHA256",
|
||||||
|
@ -581,6 +588,7 @@ var stdlib = map[string][]string{
|
||||||
"PublicKeyAlgorithm",
|
"PublicKeyAlgorithm",
|
||||||
"PureEd25519",
|
"PureEd25519",
|
||||||
"RSA",
|
"RSA",
|
||||||
|
"RevocationList",
|
||||||
"SHA1WithRSA",
|
"SHA1WithRSA",
|
||||||
"SHA256WithRSA",
|
"SHA256WithRSA",
|
||||||
"SHA256WithRSAPSS",
|
"SHA256WithRSAPSS",
|
||||||
|
@ -694,6 +702,7 @@ var stdlib = map[string][]string{
|
||||||
"String",
|
"String",
|
||||||
"Tx",
|
"Tx",
|
||||||
"TxOptions",
|
"TxOptions",
|
||||||
|
"Validator",
|
||||||
"Value",
|
"Value",
|
||||||
"ValueConverter",
|
"ValueConverter",
|
||||||
"Valuer",
|
"Valuer",
|
||||||
|
@ -2349,6 +2358,27 @@ var stdlib = map[string][]string{
|
||||||
"IMAGE_DIRECTORY_ENTRY_RESOURCE",
|
"IMAGE_DIRECTORY_ENTRY_RESOURCE",
|
||||||
"IMAGE_DIRECTORY_ENTRY_SECURITY",
|
"IMAGE_DIRECTORY_ENTRY_SECURITY",
|
||||||
"IMAGE_DIRECTORY_ENTRY_TLS",
|
"IMAGE_DIRECTORY_ENTRY_TLS",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_APPCONTAINER",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_GUARD_CF",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_NO_BIND",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_NO_ISOLATION",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_NO_SEH",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_NX_COMPAT",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE",
|
||||||
|
"IMAGE_DLLCHARACTERISTICS_WDM_DRIVER",
|
||||||
|
"IMAGE_FILE_32BIT_MACHINE",
|
||||||
|
"IMAGE_FILE_AGGRESIVE_WS_TRIM",
|
||||||
|
"IMAGE_FILE_BYTES_REVERSED_HI",
|
||||||
|
"IMAGE_FILE_BYTES_REVERSED_LO",
|
||||||
|
"IMAGE_FILE_DEBUG_STRIPPED",
|
||||||
|
"IMAGE_FILE_DLL",
|
||||||
|
"IMAGE_FILE_EXECUTABLE_IMAGE",
|
||||||
|
"IMAGE_FILE_LARGE_ADDRESS_AWARE",
|
||||||
|
"IMAGE_FILE_LINE_NUMS_STRIPPED",
|
||||||
|
"IMAGE_FILE_LOCAL_SYMS_STRIPPED",
|
||||||
"IMAGE_FILE_MACHINE_AM33",
|
"IMAGE_FILE_MACHINE_AM33",
|
||||||
"IMAGE_FILE_MACHINE_AMD64",
|
"IMAGE_FILE_MACHINE_AMD64",
|
||||||
"IMAGE_FILE_MACHINE_ARM",
|
"IMAGE_FILE_MACHINE_ARM",
|
||||||
|
@ -2371,6 +2401,25 @@ var stdlib = map[string][]string{
|
||||||
"IMAGE_FILE_MACHINE_THUMB",
|
"IMAGE_FILE_MACHINE_THUMB",
|
||||||
"IMAGE_FILE_MACHINE_UNKNOWN",
|
"IMAGE_FILE_MACHINE_UNKNOWN",
|
||||||
"IMAGE_FILE_MACHINE_WCEMIPSV2",
|
"IMAGE_FILE_MACHINE_WCEMIPSV2",
|
||||||
|
"IMAGE_FILE_NET_RUN_FROM_SWAP",
|
||||||
|
"IMAGE_FILE_RELOCS_STRIPPED",
|
||||||
|
"IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP",
|
||||||
|
"IMAGE_FILE_SYSTEM",
|
||||||
|
"IMAGE_FILE_UP_SYSTEM_ONLY",
|
||||||
|
"IMAGE_SUBSYSTEM_EFI_APPLICATION",
|
||||||
|
"IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER",
|
||||||
|
"IMAGE_SUBSYSTEM_EFI_ROM",
|
||||||
|
"IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER",
|
||||||
|
"IMAGE_SUBSYSTEM_NATIVE",
|
||||||
|
"IMAGE_SUBSYSTEM_NATIVE_WINDOWS",
|
||||||
|
"IMAGE_SUBSYSTEM_OS2_CUI",
|
||||||
|
"IMAGE_SUBSYSTEM_POSIX_CUI",
|
||||||
|
"IMAGE_SUBSYSTEM_UNKNOWN",
|
||||||
|
"IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION",
|
||||||
|
"IMAGE_SUBSYSTEM_WINDOWS_CE_GUI",
|
||||||
|
"IMAGE_SUBSYSTEM_WINDOWS_CUI",
|
||||||
|
"IMAGE_SUBSYSTEM_WINDOWS_GUI",
|
||||||
|
"IMAGE_SUBSYSTEM_XBOX",
|
||||||
"ImportDirectory",
|
"ImportDirectory",
|
||||||
"NewFile",
|
"NewFile",
|
||||||
"Open",
|
"Open",
|
||||||
|
@ -4188,6 +4237,7 @@ var stdlib = map[string][]string{
|
||||||
"DevNull",
|
"DevNull",
|
||||||
"Environ",
|
"Environ",
|
||||||
"ErrClosed",
|
"ErrClosed",
|
||||||
|
"ErrDeadlineExceeded",
|
||||||
"ErrExist",
|
"ErrExist",
|
||||||
"ErrInvalid",
|
"ErrInvalid",
|
||||||
"ErrNoDeadline",
|
"ErrNoDeadline",
|
||||||
|
@ -4646,6 +4696,7 @@ var stdlib = map[string][]string{
|
||||||
"ErrRange",
|
"ErrRange",
|
||||||
"ErrSyntax",
|
"ErrSyntax",
|
||||||
"FormatBool",
|
"FormatBool",
|
||||||
|
"FormatComplex",
|
||||||
"FormatFloat",
|
"FormatFloat",
|
||||||
"FormatInt",
|
"FormatInt",
|
||||||
"FormatUint",
|
"FormatUint",
|
||||||
|
@ -4655,6 +4706,7 @@ var stdlib = map[string][]string{
|
||||||
"Itoa",
|
"Itoa",
|
||||||
"NumError",
|
"NumError",
|
||||||
"ParseBool",
|
"ParseBool",
|
||||||
|
"ParseComplex",
|
||||||
"ParseFloat",
|
"ParseFloat",
|
||||||
"ParseInt",
|
"ParseInt",
|
||||||
"ParseUint",
|
"ParseUint",
|
||||||
|
|
4
vendor/google.golang.org/api/internal/settings.go
generated
vendored
4
vendor/google.golang.org/api/internal/settings.go
generated
vendored
|
@ -38,6 +38,7 @@ type DialSettings struct {
|
||||||
TelemetryDisabled bool
|
TelemetryDisabled bool
|
||||||
ClientCertSource func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
|
ClientCertSource func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
|
||||||
CustomClaims map[string]interface{}
|
CustomClaims map[string]interface{}
|
||||||
|
SkipValidation bool
|
||||||
|
|
||||||
// Google API system parameters. For more information please read:
|
// Google API system parameters. For more information please read:
|
||||||
// https://cloud.google.com/apis/docs/system-parameters
|
// https://cloud.google.com/apis/docs/system-parameters
|
||||||
|
@ -47,6 +48,9 @@ type DialSettings struct {
|
||||||
|
|
||||||
// Validate reports an error if ds is invalid.
|
// Validate reports an error if ds is invalid.
|
||||||
func (ds *DialSettings) Validate() error {
|
func (ds *DialSettings) Validate() error {
|
||||||
|
if ds.SkipValidation {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
hasCreds := ds.APIKey != "" || ds.TokenSource != nil || ds.CredentialsFile != "" || ds.Credentials != nil
|
hasCreds := ds.APIKey != "" || ds.TokenSource != nil || ds.CredentialsFile != "" || ds.Credentials != nil
|
||||||
if ds.NoAuth && hasCreds {
|
if ds.NoAuth && hasCreds {
|
||||||
return errors.New("options.WithoutAuthentication is incompatible with any option that provides credentials")
|
return errors.New("options.WithoutAuthentication is incompatible with any option that provides credentials")
|
||||||
|
|
14
vendor/google.golang.org/api/option/internaloption/internaloption.go
generated
vendored
14
vendor/google.golang.org/api/option/internaloption/internaloption.go
generated
vendored
|
@ -34,7 +34,19 @@ func (o defaultMTLSEndpointOption) Apply(settings *internal.DialSettings) {
|
||||||
// WithDefaultMTLSEndpoint is an option that indicates the default mTLS endpoint.
|
// WithDefaultMTLSEndpoint is an option that indicates the default mTLS endpoint.
|
||||||
//
|
//
|
||||||
// It should only be used internally by generated clients.
|
// It should only be used internally by generated clients.
|
||||||
//
|
|
||||||
func WithDefaultMTLSEndpoint(url string) option.ClientOption {
|
func WithDefaultMTLSEndpoint(url string) option.ClientOption {
|
||||||
return defaultMTLSEndpointOption(url)
|
return defaultMTLSEndpointOption(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SkipDialSettingsValidation bypasses validation on ClientOptions.
|
||||||
|
//
|
||||||
|
// It should only be used internally.
|
||||||
|
func SkipDialSettingsValidation() option.ClientOption {
|
||||||
|
return skipDialSettingsValidation{}
|
||||||
|
}
|
||||||
|
|
||||||
|
type skipDialSettingsValidation struct{}
|
||||||
|
|
||||||
|
func (s skipDialSettingsValidation) Apply(settings *internal.DialSettings) {
|
||||||
|
settings.SkipValidation = true
|
||||||
|
}
|
||||||
|
|
104
vendor/google.golang.org/api/storage/v1/storage-gen.go
generated
vendored
104
vendor/google.golang.org/api/storage/v1/storage-gen.go
generated
vendored
|
@ -2442,7 +2442,7 @@ func (c *BucketAccessControlsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -2590,7 +2590,7 @@ func (c *BucketAccessControlsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -2757,7 +2757,7 @@ func (c *BucketAccessControlsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -2930,7 +2930,7 @@ func (c *BucketAccessControlsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -3091,7 +3091,7 @@ func (c *BucketAccessControlsPatchCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -3265,7 +3265,7 @@ func (c *BucketAccessControlsUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -3451,7 +3451,7 @@ func (c *BucketsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -3630,7 +3630,7 @@ func (c *BucketsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -3836,7 +3836,7 @@ func (c *BucketsGetIamPolicyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -4053,7 +4053,7 @@ func (c *BucketsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -4310,7 +4310,7 @@ func (c *BucketsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -4520,7 +4520,7 @@ func (c *BucketsLockRetentionPolicyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsLockRetentionPolicyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsLockRetentionPolicyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -4755,7 +4755,7 @@ func (c *BucketsPatchCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsPatchCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsPatchCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -4984,7 +4984,7 @@ func (c *BucketsSetIamPolicyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -5159,7 +5159,7 @@ func (c *BucketsTestIamPermissionsCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -5399,7 +5399,7 @@ func (c *BucketsUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *BucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *BucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -5611,7 +5611,7 @@ func (c *ChannelsStopCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -5728,7 +5728,7 @@ func (c *DefaultObjectAccessControlsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -5876,7 +5876,7 @@ func (c *DefaultObjectAccessControlsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6044,7 +6044,7 @@ func (c *DefaultObjectAccessControlsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6234,7 +6234,7 @@ func (c *DefaultObjectAccessControlsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6407,7 +6407,7 @@ func (c *DefaultObjectAccessControlsPatchCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6581,7 +6581,7 @@ func (c *DefaultObjectAccessControlsUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *DefaultObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *DefaultObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6753,7 +6753,7 @@ func (c *NotificationsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -6901,7 +6901,7 @@ func (c *NotificationsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7071,7 +7071,7 @@ func (c *NotificationsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *NotificationsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *NotificationsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7246,7 +7246,7 @@ func (c *NotificationsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7419,7 +7419,7 @@ func (c *ObjectAccessControlsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7591,7 +7591,7 @@ func (c *ObjectAccessControlsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7782,7 +7782,7 @@ func (c *ObjectAccessControlsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -7979,7 +7979,7 @@ func (c *ObjectAccessControlsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -8164,7 +8164,7 @@ func (c *ObjectAccessControlsPatchCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -8362,7 +8362,7 @@ func (c *ObjectAccessControlsUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -8597,7 +8597,7 @@ func (c *ObjectsComposeCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsComposeCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsComposeCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -8940,7 +8940,7 @@ func (c *ObjectsCopyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsCopyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsCopyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -9268,7 +9268,7 @@ func (c *ObjectsDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -9501,7 +9501,7 @@ func (c *ObjectsGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -9751,7 +9751,7 @@ func (c *ObjectsGetIamPolicyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -10068,7 +10068,7 @@ func (c *ObjectsInsertCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -10441,7 +10441,7 @@ func (c *ObjectsListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -10758,7 +10758,7 @@ func (c *ObjectsPatchCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsPatchCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsPatchCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -11150,7 +11150,7 @@ func (c *ObjectsRewriteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsRewriteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsRewriteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -11453,7 +11453,7 @@ func (c *ObjectsSetIamPolicyCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -11653,7 +11653,7 @@ func (c *ObjectsTestIamPermissionsCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -11914,7 +11914,7 @@ func (c *ObjectsUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -12232,7 +12232,7 @@ func (c *ObjectsWatchAllCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ObjectsWatchAllCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ObjectsWatchAllCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -12448,7 +12448,7 @@ func (c *ProjectsHmacKeysCreateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsHmacKeysCreateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsHmacKeysCreateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -12598,7 +12598,7 @@ func (c *ProjectsHmacKeysDeleteCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsHmacKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsHmacKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -12733,7 +12733,7 @@ func (c *ProjectsHmacKeysGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsHmacKeysGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsHmacKeysGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -12933,7 +12933,7 @@ func (c *ProjectsHmacKeysListCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsHmacKeysListCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsHmacKeysListCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -13128,7 +13128,7 @@ func (c *ProjectsHmacKeysUpdateCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsHmacKeysUpdateCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsHmacKeysUpdateCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
@ -13305,7 +13305,7 @@ func (c *ProjectsServiceAccountGetCall) Header() http.Header {
|
||||||
|
|
||||||
func (c *ProjectsServiceAccountGetCall) doRequest(alt string) (*http.Response, error) {
|
func (c *ProjectsServiceAccountGetCall) doRequest(alt string) (*http.Response, error) {
|
||||||
reqHeaders := make(http.Header)
|
reqHeaders := make(http.Header)
|
||||||
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200707")
|
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200728")
|
||||||
for k, v := range c.header_ {
|
for k, v := range c.header_ {
|
||||||
reqHeaders[k] = v
|
reqHeaders[k] = v
|
||||||
}
|
}
|
||||||
|
|
129
vendor/google.golang.org/grpc/README.md
generated
vendored
129
vendor/google.golang.org/grpc/README.md
generated
vendored
|
@ -1,65 +1,53 @@
|
||||||
# gRPC-Go
|
# gRPC-Go
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/grpc/grpc-go.svg)](https://travis-ci.org/grpc/grpc-go)
|
[![Build Status](https://travis-ci.org/grpc/grpc-go.svg)](https://travis-ci.org/grpc/grpc-go)
|
||||||
[![GoDoc](https://godoc.org/google.golang.org/grpc?status.svg)](https://godoc.org/google.golang.org/grpc)
|
[![GoDoc](https://godoc.org/google.golang.org/grpc?status.svg)][API]
|
||||||
[![GoReportCard](https://goreportcard.com/badge/grpc/grpc-go)](https://goreportcard.com/report/github.com/grpc/grpc-go)
|
[![GoReportCard](https://goreportcard.com/badge/grpc/grpc-go)](https://goreportcard.com/report/github.com/grpc/grpc-go)
|
||||||
|
|
||||||
The Go implementation of [gRPC](https://grpc.io/): A high performance, open
|
The [Go][] implementation of [gRPC][]: A high performance, open source, general
|
||||||
source, general RPC framework that puts mobile and HTTP/2 first. For more
|
RPC framework that puts mobile and HTTP/2 first. For more information see the
|
||||||
information see the [gRPC Quick Start:
|
[Go gRPC docs][], or jump directly into the [quick start][].
|
||||||
Go](https://grpc.io/docs/languages/go/quickstart/) guide.
|
|
||||||
|
|
||||||
Installation
|
## Prerequisites
|
||||||
------------
|
|
||||||
|
|
||||||
To install this package, you need to install Go and setup your Go workspace on
|
- **[Go][]**: any one of the **three latest major** [releases][go-releases].
|
||||||
your computer. The simplest way to install the library is to run:
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
With [Go module][] support (Go 1.11+), simply add the following import
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "google.golang.org/grpc"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
to your code, and then `go [build|run|test]` will automatically fetch the
|
||||||
|
necessary dependencies.
|
||||||
|
|
||||||
|
Otherwise, to install the `grpc-go` package, run the following command:
|
||||||
|
|
||||||
|
```console
|
||||||
$ go get -u google.golang.org/grpc
|
$ go get -u google.golang.org/grpc
|
||||||
```
|
```
|
||||||
|
|
||||||
With Go module support (Go 1.11+), simply `import "google.golang.org/grpc"` in
|
> **Note:** If you are trying to access `grpc-go` from **China**, see the
|
||||||
your source code and `go [build|run|test]` will automatically download the
|
> [FAQ](#FAQ) below.
|
||||||
necessary dependencies ([Go modules
|
|
||||||
ref](https://github.com/golang/go/wiki/Modules)).
|
|
||||||
|
|
||||||
If you are trying to access grpc-go from within China, please see the
|
## Learn more
|
||||||
[FAQ](#FAQ) below.
|
|
||||||
|
|
||||||
Prerequisites
|
- [Go gRPC docs][], which include a [quick start][] and [API
|
||||||
-------------
|
reference][API] among other resources
|
||||||
gRPC-Go officially supports the
|
- [Low-level technical docs](Documentation) from this repository
|
||||||
[three latest major releases of Go](https://golang.org/doc/devel/release.html).
|
- [Performance benchmark][]
|
||||||
|
- [Examples](examples)
|
||||||
|
|
||||||
Documentation
|
## FAQ
|
||||||
-------------
|
|
||||||
- See [godoc](https://godoc.org/google.golang.org/grpc) for package and API
|
|
||||||
descriptions.
|
|
||||||
- Documentation on specific topics can be found in the [Documentation
|
|
||||||
directory](Documentation/).
|
|
||||||
- Examples can be found in the [examples directory](examples/).
|
|
||||||
|
|
||||||
Performance
|
### I/O Timeout Errors
|
||||||
-----------
|
|
||||||
Performance benchmark data for grpc-go and other languages is maintained in
|
|
||||||
[this
|
|
||||||
dashboard](https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696).
|
|
||||||
|
|
||||||
Status
|
The `golang.org` domain may be blocked from some countries. `go get` usually
|
||||||
------
|
|
||||||
General Availability [Google Cloud Platform Launch
|
|
||||||
Stages](https://cloud.google.com/terms/launch-stages).
|
|
||||||
|
|
||||||
FAQ
|
|
||||||
---
|
|
||||||
|
|
||||||
#### I/O Timeout Errors
|
|
||||||
|
|
||||||
The `golang.org` domain may be blocked from some countries. `go get` usually
|
|
||||||
produces an error like the following when this happens:
|
produces an error like the following when this happens:
|
||||||
|
|
||||||
```
|
```console
|
||||||
$ go get -u google.golang.org/grpc
|
$ go get -u google.golang.org/grpc
|
||||||
package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
|
package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
|
||||||
```
|
```
|
||||||
|
@ -70,7 +58,7 @@ To build Go code, there are several options:
|
||||||
|
|
||||||
- Without Go module support: `git clone` the repo manually:
|
- Without Go module support: `git clone` the repo manually:
|
||||||
|
|
||||||
```
|
```sh
|
||||||
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
|
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -80,7 +68,7 @@ To build Go code, there are several options:
|
||||||
- With Go module support: it is possible to use the `replace` feature of `go
|
- With Go module support: it is possible to use the `replace` feature of `go
|
||||||
mod` to create aliases for golang.org packages. In your project's directory:
|
mod` to create aliases for golang.org packages. In your project's directory:
|
||||||
|
|
||||||
```
|
```sh
|
||||||
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
|
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
|
||||||
go mod tidy
|
go mod tidy
|
||||||
go mod vendor
|
go mod vendor
|
||||||
|
@ -88,19 +76,17 @@ To build Go code, there are several options:
|
||||||
```
|
```
|
||||||
|
|
||||||
Again, this will need to be done for all transitive dependencies hosted on
|
Again, this will need to be done for all transitive dependencies hosted on
|
||||||
golang.org as well. Please refer to [this
|
golang.org as well. For details, refer to [golang/go issue #28652](https://github.com/golang/go/issues/28652).
|
||||||
issue](https://github.com/golang/go/issues/28652) in the golang repo regarding
|
|
||||||
this concern.
|
|
||||||
|
|
||||||
#### Compiling error, undefined: grpc.SupportPackageIsVersion
|
### Compiling error, undefined: grpc.SupportPackageIsVersion
|
||||||
|
|
||||||
##### If you are using Go modules:
|
#### If you are using Go modules:
|
||||||
|
|
||||||
Please ensure your gRPC-Go version is `require`d at the appropriate version in
|
Ensure your gRPC-Go version is `require`d at the appropriate version in
|
||||||
the same module containing the generated `.pb.go` files. For example,
|
the same module containing the generated `.pb.go` files. For example,
|
||||||
`SupportPackageIsVersion6` needs `v1.27.0`, so in your `go.mod` file:
|
`SupportPackageIsVersion6` needs `v1.27.0`, so in your `go.mod` file:
|
||||||
|
|
||||||
```
|
```go
|
||||||
module <your module name>
|
module <your module name>
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
@ -108,23 +94,27 @@ require (
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
##### If you are *not* using Go modules:
|
#### If you are *not* using Go modules:
|
||||||
|
|
||||||
Please update proto package, gRPC package and rebuild the proto files:
|
Update the `proto` package, gRPC package, and rebuild the `.proto` files:
|
||||||
- `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}`
|
|
||||||
- `go get -u google.golang.org/grpc`
|
|
||||||
- `protoc --go_out=plugins=grpc:. *.proto`
|
|
||||||
|
|
||||||
#### How to turn on logging
|
```sh
|
||||||
|
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
|
||||||
The default logger is controlled by the environment variables. Turn everything
|
go get -u google.golang.org/grpc
|
||||||
on by setting:
|
protoc --go_out=plugins=grpc:. *.proto
|
||||||
|
|
||||||
```
|
|
||||||
GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### The RPC failed with error `"code = Unavailable desc = transport is closing"`
|
### How to turn on logging
|
||||||
|
|
||||||
|
The default logger is controlled by environment variables. Turn everything on
|
||||||
|
like this:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
|
||||||
|
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info
|
||||||
|
```
|
||||||
|
|
||||||
|
### The RPC failed with error `"code = Unavailable desc = transport is closing"`
|
||||||
|
|
||||||
This error means the connection the RPC is using was closed, and there are many
|
This error means the connection the RPC is using was closed, and there are many
|
||||||
possible reasons, including:
|
possible reasons, including:
|
||||||
|
@ -140,3 +130,12 @@ It can be tricky to debug this because the error happens on the client side but
|
||||||
the root cause of the connection being closed is on the server side. Turn on
|
the root cause of the connection being closed is on the server side. Turn on
|
||||||
logging on __both client and server__, and see if there are any transport
|
logging on __both client and server__, and see if there are any transport
|
||||||
errors.
|
errors.
|
||||||
|
|
||||||
|
[API]: https://grpc.io/docs/languages/go/api
|
||||||
|
[Go]: https://golang.org
|
||||||
|
[Go module]: https://github.com/golang/go/wiki/Modules
|
||||||
|
[gRPC]: https://grpc.io
|
||||||
|
[Go gRPC docs]: https://grpc.io/docs/languages/go
|
||||||
|
[Performance benchmark]: https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696
|
||||||
|
[quick start]: https://grpc.io/docs/languages/go/quickstart
|
||||||
|
[go-releases]: https://golang.org/doc/devel/release.html
|
||||||
|
|
10
vendor/google.golang.org/grpc/balancer/balancer.go
generated
vendored
10
vendor/google.golang.org/grpc/balancer/balancer.go
generated
vendored
|
@ -312,16 +312,6 @@ type Balancer interface {
|
||||||
Close()
|
Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
// V2Balancer is temporarily defined for backward compatibility reasons.
|
|
||||||
//
|
|
||||||
// Deprecated: use Balancer directly instead.
|
|
||||||
type V2Balancer = Balancer
|
|
||||||
|
|
||||||
// V2Picker is temporarily defined for backward compatibility reasons.
|
|
||||||
//
|
|
||||||
// Deprecated: use Picker directly instead.
|
|
||||||
type V2Picker = Picker
|
|
||||||
|
|
||||||
// SubConnState describes the state of a SubConn.
|
// SubConnState describes the state of a SubConn.
|
||||||
type SubConnState struct {
|
type SubConnState struct {
|
||||||
// ConnectivityState is the connectivity state of the SubConn.
|
// ConnectivityState is the connectivity state of the SubConn.
|
||||||
|
|
16
vendor/google.golang.org/grpc/balancer/base/balancer.go
generated
vendored
16
vendor/google.golang.org/grpc/balancer/base/balancer.go
generated
vendored
|
@ -28,6 +28,8 @@ import (
|
||||||
"google.golang.org/grpc/resolver"
|
"google.golang.org/grpc/resolver"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var logger = grpclog.Component("balancer")
|
||||||
|
|
||||||
type baseBuilder struct {
|
type baseBuilder struct {
|
||||||
name string
|
name string
|
||||||
pickerBuilder PickerBuilder
|
pickerBuilder PickerBuilder
|
||||||
|
@ -91,8 +93,8 @@ func (b *baseBalancer) ResolverError(err error) {
|
||||||
|
|
||||||
func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
|
func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
|
||||||
// TODO: handle s.ResolverState.ServiceConfig?
|
// TODO: handle s.ResolverState.ServiceConfig?
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infoln("base.baseBalancer: got new ClientConn state: ", s)
|
logger.Info("base.baseBalancer: got new ClientConn state: ", s)
|
||||||
}
|
}
|
||||||
// Successful resolution; clear resolver error and ensure we return nil.
|
// Successful resolution; clear resolver error and ensure we return nil.
|
||||||
b.resolverErr = nil
|
b.resolverErr = nil
|
||||||
|
@ -104,7 +106,7 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
|
||||||
// a is a new address (not existing in b.subConns).
|
// a is a new address (not existing in b.subConns).
|
||||||
sc, err := b.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{HealthCheckEnabled: b.config.HealthCheck})
|
sc, err := b.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{HealthCheckEnabled: b.config.HealthCheck})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Warningf("base.baseBalancer: failed to create new SubConn: %v", err)
|
logger.Warningf("base.baseBalancer: failed to create new SubConn: %v", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
b.subConns[a] = sc
|
b.subConns[a] = sc
|
||||||
|
@ -168,13 +170,13 @@ func (b *baseBalancer) regeneratePicker() {
|
||||||
|
|
||||||
func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.SubConnState) {
|
func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.SubConnState) {
|
||||||
s := state.ConnectivityState
|
s := state.ConnectivityState
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infof("base.baseBalancer: handle SubConn state change: %p, %v", sc, s)
|
logger.Infof("base.baseBalancer: handle SubConn state change: %p, %v", sc, s)
|
||||||
}
|
}
|
||||||
oldS, ok := b.scStates[sc]
|
oldS, ok := b.scStates[sc]
|
||||||
if !ok {
|
if !ok {
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infof("base.baseBalancer: got state changes for an unknown SubConn: %p, %v", sc, s)
|
logger.Infof("base.baseBalancer: got state changes for an unknown SubConn: %p, %v", sc, s)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
11
vendor/google.golang.org/grpc/balancer/base/base.go
generated
vendored
11
vendor/google.golang.org/grpc/balancer/base/base.go
generated
vendored
|
@ -69,14 +69,3 @@ func NewBalancerBuilder(name string, pb PickerBuilder, config Config) balancer.B
|
||||||
config: config,
|
config: config,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewBalancerBuilderV2 is temporarily defined for backward compatibility
|
|
||||||
// reasons.
|
|
||||||
//
|
|
||||||
// Deprecated: use NewBalancerBuilder instead.
|
|
||||||
var NewBalancerBuilderV2 = NewBalancerBuilder
|
|
||||||
|
|
||||||
// V2PickerBuilder is temporarily defined for backward compatibility reasons.
|
|
||||||
//
|
|
||||||
// Deprecated: use PickerBuilder instead.
|
|
||||||
type V2PickerBuilder = PickerBuilder
|
|
||||||
|
|
4
vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
generated
vendored
4
vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
generated
vendored
|
@ -33,6 +33,8 @@ import (
|
||||||
// Name is the name of round_robin balancer.
|
// Name is the name of round_robin balancer.
|
||||||
const Name = "round_robin"
|
const Name = "round_robin"
|
||||||
|
|
||||||
|
var logger = grpclog.Component("roundrobin")
|
||||||
|
|
||||||
// newBuilder creates a new roundrobin balancer builder.
|
// newBuilder creates a new roundrobin balancer builder.
|
||||||
func newBuilder() balancer.Builder {
|
func newBuilder() balancer.Builder {
|
||||||
return base.NewBalancerBuilder(Name, &rrPickerBuilder{}, base.Config{HealthCheck: true})
|
return base.NewBalancerBuilder(Name, &rrPickerBuilder{}, base.Config{HealthCheck: true})
|
||||||
|
@ -45,7 +47,7 @@ func init() {
|
||||||
type rrPickerBuilder struct{}
|
type rrPickerBuilder struct{}
|
||||||
|
|
||||||
func (*rrPickerBuilder) Build(info base.PickerBuildInfo) balancer.Picker {
|
func (*rrPickerBuilder) Build(info base.PickerBuildInfo) balancer.Picker {
|
||||||
grpclog.Infof("roundrobinPicker: newPicker called with info: %v", info)
|
logger.Infof("roundrobinPicker: newPicker called with info: %v", info)
|
||||||
if len(info.ReadySCs) == 0 {
|
if len(info.ReadySCs) == 0 {
|
||||||
return base.NewErrPicker(balancer.ErrNoSubConnAvailable)
|
return base.NewErrPicker(balancer.ErrNoSubConnAvailable)
|
||||||
}
|
}
|
||||||
|
|
2
vendor/google.golang.org/grpc/balancer_conn_wrappers.go
generated
vendored
2
vendor/google.golang.org/grpc/balancer_conn_wrappers.go
generated
vendored
|
@ -220,7 +220,7 @@ func (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) {
|
||||||
|
|
||||||
ac, err := cc.newAddrConn(addrs, opts)
|
ac, err := cc.newAddrConn(addrs, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
channelz.Warningf(acbw.ac.channelzID, "acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v", err)
|
channelz.Warningf(logger, acbw.ac.channelzID, "acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
acbw.ac = ac
|
acbw.ac = ac
|
||||||
|
|
68
vendor/google.golang.org/grpc/clientconn.go
generated
vendored
68
vendor/google.golang.org/grpc/clientconn.go
generated
vendored
|
@ -149,7 +149,7 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
|
||||||
if channelz.IsOn() {
|
if channelz.IsOn() {
|
||||||
if cc.dopts.channelzParentID != 0 {
|
if cc.dopts.channelzParentID != 0 {
|
||||||
cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, cc.dopts.channelzParentID, target)
|
cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, cc.dopts.channelzParentID, target)
|
||||||
channelz.AddTraceEvent(cc.channelzID, 0, &channelz.TraceEventDesc{
|
channelz.AddTraceEvent(logger, cc.channelzID, 0, &channelz.TraceEventDesc{
|
||||||
Desc: "Channel Created",
|
Desc: "Channel Created",
|
||||||
Severity: channelz.CtINFO,
|
Severity: channelz.CtINFO,
|
||||||
Parent: &channelz.TraceEventDesc{
|
Parent: &channelz.TraceEventDesc{
|
||||||
|
@ -159,7 +159,7 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, 0, target)
|
cc.channelzID = channelz.RegisterChannel(&channelzChannel{cc}, 0, target)
|
||||||
channelz.Info(cc.channelzID, "Channel Created")
|
channelz.Info(logger, cc.channelzID, "Channel Created")
|
||||||
}
|
}
|
||||||
cc.csMgr.channelzID = cc.channelzID
|
cc.csMgr.channelzID = cc.channelzID
|
||||||
}
|
}
|
||||||
|
@ -245,13 +245,14 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
|
||||||
|
|
||||||
// Determine the resolver to use.
|
// Determine the resolver to use.
|
||||||
cc.parsedTarget = grpcutil.ParseTarget(cc.target)
|
cc.parsedTarget = grpcutil.ParseTarget(cc.target)
|
||||||
channelz.Infof(cc.channelzID, "parsed scheme: %q", cc.parsedTarget.Scheme)
|
unixScheme := strings.HasPrefix(cc.target, "unix:")
|
||||||
|
channelz.Infof(logger, cc.channelzID, "parsed scheme: %q", cc.parsedTarget.Scheme)
|
||||||
resolverBuilder := cc.getResolver(cc.parsedTarget.Scheme)
|
resolverBuilder := cc.getResolver(cc.parsedTarget.Scheme)
|
||||||
if resolverBuilder == nil {
|
if resolverBuilder == nil {
|
||||||
// If resolver builder is still nil, the parsed target's scheme is
|
// If resolver builder is still nil, the parsed target's scheme is
|
||||||
// not registered. Fallback to default resolver and set Endpoint to
|
// not registered. Fallback to default resolver and set Endpoint to
|
||||||
// the original target.
|
// the original target.
|
||||||
channelz.Infof(cc.channelzID, "scheme %q not registered, fallback to default scheme", cc.parsedTarget.Scheme)
|
channelz.Infof(logger, cc.channelzID, "scheme %q not registered, fallback to default scheme", cc.parsedTarget.Scheme)
|
||||||
cc.parsedTarget = resolver.Target{
|
cc.parsedTarget = resolver.Target{
|
||||||
Scheme: resolver.GetDefaultScheme(),
|
Scheme: resolver.GetDefaultScheme(),
|
||||||
Endpoint: target,
|
Endpoint: target,
|
||||||
|
@ -267,6 +268,8 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
|
||||||
cc.authority = creds.Info().ServerName
|
cc.authority = creds.Info().ServerName
|
||||||
} else if cc.dopts.insecure && cc.dopts.authority != "" {
|
} else if cc.dopts.insecure && cc.dopts.authority != "" {
|
||||||
cc.authority = cc.dopts.authority
|
cc.authority = cc.dopts.authority
|
||||||
|
} else if unixScheme {
|
||||||
|
cc.authority = "localhost"
|
||||||
} else {
|
} else {
|
||||||
// Use endpoint from "scheme://authority/endpoint" as the default
|
// Use endpoint from "scheme://authority/endpoint" as the default
|
||||||
// authority for ClientConn.
|
// authority for ClientConn.
|
||||||
|
@ -422,7 +425,7 @@ func (csm *connectivityStateManager) updateState(state connectivity.State) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
csm.state = state
|
csm.state = state
|
||||||
channelz.Infof(csm.channelzID, "Channel Connectivity change to %v", state)
|
channelz.Infof(logger, csm.channelzID, "Channel Connectivity change to %v", state)
|
||||||
if csm.notifyChan != nil {
|
if csm.notifyChan != nil {
|
||||||
// There are other goroutines waiting on this channel.
|
// There are other goroutines waiting on this channel.
|
||||||
close(csm.notifyChan)
|
close(csm.notifyChan)
|
||||||
|
@ -675,9 +678,9 @@ func (cc *ClientConn) switchBalancer(name string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
channelz.Infof(cc.channelzID, "ClientConn switching balancer to %q", name)
|
channelz.Infof(logger, cc.channelzID, "ClientConn switching balancer to %q", name)
|
||||||
if cc.dopts.balancerBuilder != nil {
|
if cc.dopts.balancerBuilder != nil {
|
||||||
channelz.Info(cc.channelzID, "ignoring balancer switching: Balancer DialOption used instead")
|
channelz.Info(logger, cc.channelzID, "ignoring balancer switching: Balancer DialOption used instead")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if cc.balancerWrapper != nil {
|
if cc.balancerWrapper != nil {
|
||||||
|
@ -686,11 +689,11 @@ func (cc *ClientConn) switchBalancer(name string) {
|
||||||
|
|
||||||
builder := balancer.Get(name)
|
builder := balancer.Get(name)
|
||||||
if builder == nil {
|
if builder == nil {
|
||||||
channelz.Warningf(cc.channelzID, "Channel switches to new LB policy %q due to fallback from invalid balancer name", PickFirstBalancerName)
|
channelz.Warningf(logger, cc.channelzID, "Channel switches to new LB policy %q due to fallback from invalid balancer name", PickFirstBalancerName)
|
||||||
channelz.Infof(cc.channelzID, "failed to get balancer builder for: %v, using pick_first instead", name)
|
channelz.Infof(logger, cc.channelzID, "failed to get balancer builder for: %v, using pick_first instead", name)
|
||||||
builder = newPickfirstBuilder()
|
builder = newPickfirstBuilder()
|
||||||
} else {
|
} else {
|
||||||
channelz.Infof(cc.channelzID, "Channel switches to new LB policy %q", name)
|
channelz.Infof(logger, cc.channelzID, "Channel switches to new LB policy %q", name)
|
||||||
}
|
}
|
||||||
|
|
||||||
cc.curBalancerName = builder.Name()
|
cc.curBalancerName = builder.Name()
|
||||||
|
@ -731,7 +734,7 @@ func (cc *ClientConn) newAddrConn(addrs []resolver.Address, opts balancer.NewSub
|
||||||
}
|
}
|
||||||
if channelz.IsOn() {
|
if channelz.IsOn() {
|
||||||
ac.channelzID = channelz.RegisterSubChannel(ac, cc.channelzID, "")
|
ac.channelzID = channelz.RegisterSubChannel(ac, cc.channelzID, "")
|
||||||
channelz.AddTraceEvent(ac.channelzID, 0, &channelz.TraceEventDesc{
|
channelz.AddTraceEvent(logger, ac.channelzID, 0, &channelz.TraceEventDesc{
|
||||||
Desc: "Subchannel Created",
|
Desc: "Subchannel Created",
|
||||||
Severity: channelz.CtINFO,
|
Severity: channelz.CtINFO,
|
||||||
Parent: &channelz.TraceEventDesc{
|
Parent: &channelz.TraceEventDesc{
|
||||||
|
@ -829,7 +832,7 @@ func (ac *addrConn) connect() error {
|
||||||
func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
|
func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
|
||||||
ac.mu.Lock()
|
ac.mu.Lock()
|
||||||
defer ac.mu.Unlock()
|
defer ac.mu.Unlock()
|
||||||
channelz.Infof(ac.channelzID, "addrConn: tryUpdateAddrs curAddr: %v, addrs: %v", ac.curAddr, addrs)
|
channelz.Infof(logger, ac.channelzID, "addrConn: tryUpdateAddrs curAddr: %v, addrs: %v", ac.curAddr, addrs)
|
||||||
if ac.state == connectivity.Shutdown ||
|
if ac.state == connectivity.Shutdown ||
|
||||||
ac.state == connectivity.TransientFailure ||
|
ac.state == connectivity.TransientFailure ||
|
||||||
ac.state == connectivity.Idle {
|
ac.state == connectivity.Idle {
|
||||||
|
@ -849,7 +852,7 @@ func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
channelz.Infof(ac.channelzID, "addrConn: tryUpdateAddrs curAddrFound: %v", curAddrFound)
|
channelz.Infof(logger, ac.channelzID, "addrConn: tryUpdateAddrs curAddrFound: %v", curAddrFound)
|
||||||
if curAddrFound {
|
if curAddrFound {
|
||||||
ac.addrs = addrs
|
ac.addrs = addrs
|
||||||
}
|
}
|
||||||
|
@ -860,9 +863,10 @@ func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
|
||||||
// GetMethodConfig gets the method config of the input method.
|
// GetMethodConfig gets the method config of the input method.
|
||||||
// If there's an exact match for input method (i.e. /service/method), we return
|
// If there's an exact match for input method (i.e. /service/method), we return
|
||||||
// the corresponding MethodConfig.
|
// the corresponding MethodConfig.
|
||||||
// If there isn't an exact match for the input method, we look for the default config
|
// If there isn't an exact match for the input method, we look for the service's default
|
||||||
// under the service (i.e /service/). If there is a default MethodConfig for
|
// config under the service (i.e /service/) and then for the default for all services (empty string).
|
||||||
// the service, we return it.
|
//
|
||||||
|
// If there is a default MethodConfig for the service, we return it.
|
||||||
// Otherwise, we return an empty MethodConfig.
|
// Otherwise, we return an empty MethodConfig.
|
||||||
func (cc *ClientConn) GetMethodConfig(method string) MethodConfig {
|
func (cc *ClientConn) GetMethodConfig(method string) MethodConfig {
|
||||||
// TODO: Avoid the locking here.
|
// TODO: Avoid the locking here.
|
||||||
|
@ -871,12 +875,14 @@ func (cc *ClientConn) GetMethodConfig(method string) MethodConfig {
|
||||||
if cc.sc == nil {
|
if cc.sc == nil {
|
||||||
return MethodConfig{}
|
return MethodConfig{}
|
||||||
}
|
}
|
||||||
m, ok := cc.sc.Methods[method]
|
if m, ok := cc.sc.Methods[method]; ok {
|
||||||
if !ok {
|
return m
|
||||||
i := strings.LastIndex(method, "/")
|
|
||||||
m = cc.sc.Methods[method[:i+1]]
|
|
||||||
}
|
}
|
||||||
return m
|
i := strings.LastIndex(method, "/")
|
||||||
|
if m, ok := cc.sc.Methods[method[:i+1]]; ok {
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
return cc.sc.Methods[""]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ClientConn) healthCheckConfig() *healthCheckConfig {
|
func (cc *ClientConn) healthCheckConfig() *healthCheckConfig {
|
||||||
|
@ -1020,7 +1026,7 @@ func (cc *ClientConn) Close() error {
|
||||||
Severity: channelz.CtINFO,
|
Severity: channelz.CtINFO,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
channelz.AddTraceEvent(cc.channelzID, 0, ted)
|
channelz.AddTraceEvent(logger, cc.channelzID, 0, ted)
|
||||||
// TraceEvent needs to be called before RemoveEntry, as TraceEvent may add trace reference to
|
// TraceEvent needs to be called before RemoveEntry, as TraceEvent may add trace reference to
|
||||||
// the entity being deleted, and thus prevent it from being deleted right away.
|
// the entity being deleted, and thus prevent it from being deleted right away.
|
||||||
channelz.RemoveEntry(cc.channelzID)
|
channelz.RemoveEntry(cc.channelzID)
|
||||||
|
@ -1064,7 +1070,7 @@ func (ac *addrConn) updateConnectivityState(s connectivity.State, lastErr error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ac.state = s
|
ac.state = s
|
||||||
channelz.Infof(ac.channelzID, "Subchannel Connectivity change to %v", s)
|
channelz.Infof(logger, ac.channelzID, "Subchannel Connectivity change to %v", s)
|
||||||
ac.cc.handleSubConnStateChange(ac.acbw, s, lastErr)
|
ac.cc.handleSubConnStateChange(ac.acbw, s, lastErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1201,7 +1207,7 @@ func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.T
|
||||||
}
|
}
|
||||||
ac.mu.Unlock()
|
ac.mu.Unlock()
|
||||||
|
|
||||||
channelz.Infof(ac.channelzID, "Subchannel picks a new address %q to connect", addr.Addr)
|
channelz.Infof(logger, ac.channelzID, "Subchannel picks a new address %q to connect", addr.Addr)
|
||||||
|
|
||||||
newTr, reconnect, err := ac.createTransport(addr, copts, connectDeadline)
|
newTr, reconnect, err := ac.createTransport(addr, copts, connectDeadline)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
@ -1276,7 +1282,7 @@ func (ac *addrConn) createTransport(addr resolver.Address, copts transport.Conne
|
||||||
newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, onPrefaceReceipt, onGoAway, onClose)
|
newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, onPrefaceReceipt, onGoAway, onClose)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// newTr is either nil, or closed.
|
// newTr is either nil, or closed.
|
||||||
channelz.Warningf(ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v. Err: %v. Reconnecting...", addr, err)
|
channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v. Err: %v. Reconnecting...", addr, err)
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1284,7 +1290,7 @@ func (ac *addrConn) createTransport(addr resolver.Address, copts transport.Conne
|
||||||
case <-time.After(time.Until(connectDeadline)):
|
case <-time.After(time.Until(connectDeadline)):
|
||||||
// We didn't get the preface in time.
|
// We didn't get the preface in time.
|
||||||
newTr.Close()
|
newTr.Close()
|
||||||
channelz.Warningf(ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v: didn't receive server preface in time. Reconnecting...", addr)
|
channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v: didn't receive server preface in time. Reconnecting...", addr)
|
||||||
return nil, nil, errors.New("timed out waiting for server handshake")
|
return nil, nil, errors.New("timed out waiting for server handshake")
|
||||||
case <-prefaceReceived:
|
case <-prefaceReceived:
|
||||||
// We got the preface - huzzah! things are good.
|
// We got the preface - huzzah! things are good.
|
||||||
|
@ -1301,7 +1307,7 @@ func (ac *addrConn) createTransport(addr resolver.Address, copts transport.Conne
|
||||||
//
|
//
|
||||||
// LB channel health checking is enabled when all requirements below are met:
|
// LB channel health checking is enabled when all requirements below are met:
|
||||||
// 1. it is not disabled by the user with the WithDisableHealthCheck DialOption
|
// 1. it is not disabled by the user with the WithDisableHealthCheck DialOption
|
||||||
// 2. internal.HealthCheckFunc is set by importing the grpc/healthcheck package
|
// 2. internal.HealthCheckFunc is set by importing the grpc/health package
|
||||||
// 3. a service config with non-empty healthCheckConfig field is provided
|
// 3. a service config with non-empty healthCheckConfig field is provided
|
||||||
// 4. the load balancer requests it
|
// 4. the load balancer requests it
|
||||||
//
|
//
|
||||||
|
@ -1331,7 +1337,7 @@ func (ac *addrConn) startHealthCheck(ctx context.Context) {
|
||||||
// The health package is not imported to set health check function.
|
// The health package is not imported to set health check function.
|
||||||
//
|
//
|
||||||
// TODO: add a link to the health check doc in the error message.
|
// TODO: add a link to the health check doc in the error message.
|
||||||
channelz.Error(ac.channelzID, "Health check is requested but health check function is not set.")
|
channelz.Error(logger, ac.channelzID, "Health check is requested but health check function is not set.")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1361,9 +1367,9 @@ func (ac *addrConn) startHealthCheck(ctx context.Context) {
|
||||||
err := ac.cc.dopts.healthCheckFunc(ctx, newStream, setConnectivityState, healthCheckConfig.ServiceName)
|
err := ac.cc.dopts.healthCheckFunc(ctx, newStream, setConnectivityState, healthCheckConfig.ServiceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if status.Code(err) == codes.Unimplemented {
|
if status.Code(err) == codes.Unimplemented {
|
||||||
channelz.Error(ac.channelzID, "Subchannel health check is unimplemented at server side, thus health check is disabled")
|
channelz.Error(logger, ac.channelzID, "Subchannel health check is unimplemented at server side, thus health check is disabled")
|
||||||
} else {
|
} else {
|
||||||
channelz.Errorf(ac.channelzID, "HealthCheckFunc exits with unexpected error %v", err)
|
channelz.Errorf(logger, ac.channelzID, "HealthCheckFunc exits with unexpected error %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -1428,7 +1434,7 @@ func (ac *addrConn) tearDown(err error) {
|
||||||
ac.mu.Lock()
|
ac.mu.Lock()
|
||||||
}
|
}
|
||||||
if channelz.IsOn() {
|
if channelz.IsOn() {
|
||||||
channelz.AddTraceEvent(ac.channelzID, 0, &channelz.TraceEventDesc{
|
channelz.AddTraceEvent(logger, ac.channelzID, 0, &channelz.TraceEventDesc{
|
||||||
Desc: "Subchannel Deleted",
|
Desc: "Subchannel Deleted",
|
||||||
Severity: channelz.CtINFO,
|
Severity: channelz.CtINFO,
|
||||||
Parent: &channelz.TraceEventDesc{
|
Parent: &channelz.TraceEventDesc{
|
||||||
|
|
46
vendor/google.golang.org/grpc/codes/codes.go
generated
vendored
46
vendor/google.golang.org/grpc/codes/codes.go
generated
vendored
|
@ -33,6 +33,9 @@ const (
|
||||||
OK Code = 0
|
OK Code = 0
|
||||||
|
|
||||||
// Canceled indicates the operation was canceled (typically by the caller).
|
// Canceled indicates the operation was canceled (typically by the caller).
|
||||||
|
//
|
||||||
|
// The gRPC framework will generate this error code when cancellation
|
||||||
|
// is requested.
|
||||||
Canceled Code = 1
|
Canceled Code = 1
|
||||||
|
|
||||||
// Unknown error. An example of where this error may be returned is
|
// Unknown error. An example of where this error may be returned is
|
||||||
|
@ -40,12 +43,17 @@ const (
|
||||||
// an error-space that is not known in this address space. Also
|
// an error-space that is not known in this address space. Also
|
||||||
// errors raised by APIs that do not return enough error information
|
// errors raised by APIs that do not return enough error information
|
||||||
// may be converted to this error.
|
// may be converted to this error.
|
||||||
|
//
|
||||||
|
// The gRPC framework will generate this error code in the above two
|
||||||
|
// mentioned cases.
|
||||||
Unknown Code = 2
|
Unknown Code = 2
|
||||||
|
|
||||||
// InvalidArgument indicates client specified an invalid argument.
|
// InvalidArgument indicates client specified an invalid argument.
|
||||||
// Note that this differs from FailedPrecondition. It indicates arguments
|
// Note that this differs from FailedPrecondition. It indicates arguments
|
||||||
// that are problematic regardless of the state of the system
|
// that are problematic regardless of the state of the system
|
||||||
// (e.g., a malformed file name).
|
// (e.g., a malformed file name).
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
InvalidArgument Code = 3
|
InvalidArgument Code = 3
|
||||||
|
|
||||||
// DeadlineExceeded means operation expired before completion.
|
// DeadlineExceeded means operation expired before completion.
|
||||||
|
@ -53,14 +61,21 @@ const (
|
||||||
// returned even if the operation has completed successfully. For
|
// returned even if the operation has completed successfully. For
|
||||||
// example, a successful response from a server could have been delayed
|
// example, a successful response from a server could have been delayed
|
||||||
// long enough for the deadline to expire.
|
// long enough for the deadline to expire.
|
||||||
|
//
|
||||||
|
// The gRPC framework will generate this error code when the deadline is
|
||||||
|
// exceeded.
|
||||||
DeadlineExceeded Code = 4
|
DeadlineExceeded Code = 4
|
||||||
|
|
||||||
// NotFound means some requested entity (e.g., file or directory) was
|
// NotFound means some requested entity (e.g., file or directory) was
|
||||||
// not found.
|
// not found.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
NotFound Code = 5
|
NotFound Code = 5
|
||||||
|
|
||||||
// AlreadyExists means an attempt to create an entity failed because one
|
// AlreadyExists means an attempt to create an entity failed because one
|
||||||
// already exists.
|
// already exists.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
AlreadyExists Code = 6
|
AlreadyExists Code = 6
|
||||||
|
|
||||||
// PermissionDenied indicates the caller does not have permission to
|
// PermissionDenied indicates the caller does not have permission to
|
||||||
|
@ -69,10 +84,17 @@ const (
|
||||||
// instead for those errors). It must not be
|
// instead for those errors). It must not be
|
||||||
// used if the caller cannot be identified (use Unauthenticated
|
// used if the caller cannot be identified (use Unauthenticated
|
||||||
// instead for those errors).
|
// instead for those errors).
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC core framework,
|
||||||
|
// but expect authentication middleware to use it.
|
||||||
PermissionDenied Code = 7
|
PermissionDenied Code = 7
|
||||||
|
|
||||||
// ResourceExhausted indicates some resource has been exhausted, perhaps
|
// ResourceExhausted indicates some resource has been exhausted, perhaps
|
||||||
// a per-user quota, or perhaps the entire file system is out of space.
|
// a per-user quota, or perhaps the entire file system is out of space.
|
||||||
|
//
|
||||||
|
// This error code will be generated by the gRPC framework in
|
||||||
|
// out-of-memory and server overload situations, or when a message is
|
||||||
|
// larger than the configured maximum size.
|
||||||
ResourceExhausted Code = 8
|
ResourceExhausted Code = 8
|
||||||
|
|
||||||
// FailedPrecondition indicates operation was rejected because the
|
// FailedPrecondition indicates operation was rejected because the
|
||||||
|
@ -94,6 +116,8 @@ const (
|
||||||
// REST Get/Update/Delete on a resource and the resource on the
|
// REST Get/Update/Delete on a resource and the resource on the
|
||||||
// server does not match the condition. E.g., conflicting
|
// server does not match the condition. E.g., conflicting
|
||||||
// read-modify-write on the same resource.
|
// read-modify-write on the same resource.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
FailedPrecondition Code = 9
|
FailedPrecondition Code = 9
|
||||||
|
|
||||||
// Aborted indicates the operation was aborted, typically due to a
|
// Aborted indicates the operation was aborted, typically due to a
|
||||||
|
@ -102,6 +126,8 @@ const (
|
||||||
//
|
//
|
||||||
// See litmus test above for deciding between FailedPrecondition,
|
// See litmus test above for deciding between FailedPrecondition,
|
||||||
// Aborted, and Unavailable.
|
// Aborted, and Unavailable.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
Aborted Code = 10
|
Aborted Code = 10
|
||||||
|
|
||||||
// OutOfRange means operation was attempted past the valid range.
|
// OutOfRange means operation was attempted past the valid range.
|
||||||
|
@ -119,15 +145,26 @@ const (
|
||||||
// error) when it applies so that callers who are iterating through
|
// error) when it applies so that callers who are iterating through
|
||||||
// a space can easily look for an OutOfRange error to detect when
|
// a space can easily look for an OutOfRange error to detect when
|
||||||
// they are done.
|
// they are done.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
OutOfRange Code = 11
|
OutOfRange Code = 11
|
||||||
|
|
||||||
// Unimplemented indicates operation is not implemented or not
|
// Unimplemented indicates operation is not implemented or not
|
||||||
// supported/enabled in this service.
|
// supported/enabled in this service.
|
||||||
|
//
|
||||||
|
// This error code will be generated by the gRPC framework. Most
|
||||||
|
// commonly, you will see this error code when a method implementation
|
||||||
|
// is missing on the server. It can also be generated for unknown
|
||||||
|
// compression algorithms or a disagreement as to whether an RPC should
|
||||||
|
// be streaming.
|
||||||
Unimplemented Code = 12
|
Unimplemented Code = 12
|
||||||
|
|
||||||
// Internal errors. Means some invariants expected by underlying
|
// Internal errors. Means some invariants expected by underlying
|
||||||
// system has been broken. If you see one of these errors,
|
// system has been broken. If you see one of these errors,
|
||||||
// something is very broken.
|
// something is very broken.
|
||||||
|
//
|
||||||
|
// This error code will be generated by the gRPC framework in several
|
||||||
|
// internal error conditions.
|
||||||
Internal Code = 13
|
Internal Code = 13
|
||||||
|
|
||||||
// Unavailable indicates the service is currently unavailable.
|
// Unavailable indicates the service is currently unavailable.
|
||||||
|
@ -137,13 +174,22 @@ const (
|
||||||
//
|
//
|
||||||
// See litmus test above for deciding between FailedPrecondition,
|
// See litmus test above for deciding between FailedPrecondition,
|
||||||
// Aborted, and Unavailable.
|
// Aborted, and Unavailable.
|
||||||
|
//
|
||||||
|
// This error code will be generated by the gRPC framework during
|
||||||
|
// abrupt shutdown of a server process or network connection.
|
||||||
Unavailable Code = 14
|
Unavailable Code = 14
|
||||||
|
|
||||||
// DataLoss indicates unrecoverable data loss or corruption.
|
// DataLoss indicates unrecoverable data loss or corruption.
|
||||||
|
//
|
||||||
|
// This error code will not be generated by the gRPC framework.
|
||||||
DataLoss Code = 15
|
DataLoss Code = 15
|
||||||
|
|
||||||
// Unauthenticated indicates the request does not have valid
|
// Unauthenticated indicates the request does not have valid
|
||||||
// authentication credentials for the operation.
|
// authentication credentials for the operation.
|
||||||
|
//
|
||||||
|
// The gRPC framework will generate this error code when the
|
||||||
|
// authentication metadata is invalid or a Credentials callback fails,
|
||||||
|
// but also expect authentication middleware to generate it.
|
||||||
Unauthenticated Code = 16
|
Unauthenticated Code = 16
|
||||||
|
|
||||||
_maxCode = 17
|
_maxCode = 17
|
||||||
|
|
28
vendor/google.golang.org/grpc/credentials/tls.go
generated
vendored
28
vendor/google.golang.org/grpc/credentials/tls.go
generated
vendored
|
@ -25,8 +25,10 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
|
"net/url"
|
||||||
|
|
||||||
"google.golang.org/grpc/credentials/internal"
|
"google.golang.org/grpc/credentials/internal"
|
||||||
|
credinternal "google.golang.org/grpc/internal/credentials"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TLSInfo contains the auth information for a TLS authenticated connection.
|
// TLSInfo contains the auth information for a TLS authenticated connection.
|
||||||
|
@ -34,6 +36,8 @@ import (
|
||||||
type TLSInfo struct {
|
type TLSInfo struct {
|
||||||
State tls.ConnectionState
|
State tls.ConnectionState
|
||||||
CommonAuthInfo
|
CommonAuthInfo
|
||||||
|
// This API is experimental.
|
||||||
|
SPIFFEID *url.URL
|
||||||
}
|
}
|
||||||
|
|
||||||
// AuthType returns the type of TLSInfo as a string.
|
// AuthType returns the type of TLSInfo as a string.
|
||||||
|
@ -94,7 +98,17 @@ func (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawCon
|
||||||
conn.Close()
|
conn.Close()
|
||||||
return nil, nil, ctx.Err()
|
return nil, nil, ctx.Err()
|
||||||
}
|
}
|
||||||
return internal.WrapSyscallConn(rawConn, conn), TLSInfo{conn.ConnectionState(), CommonAuthInfo{PrivacyAndIntegrity}}, nil
|
tlsInfo := TLSInfo{
|
||||||
|
State: conn.ConnectionState(),
|
||||||
|
CommonAuthInfo: CommonAuthInfo{
|
||||||
|
SecurityLevel: PrivacyAndIntegrity,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
id := credinternal.SPIFFEIDFromState(conn.ConnectionState())
|
||||||
|
if id != nil {
|
||||||
|
tlsInfo.SPIFFEID = id
|
||||||
|
}
|
||||||
|
return internal.WrapSyscallConn(rawConn, conn), tlsInfo, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error) {
|
func (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error) {
|
||||||
|
@ -103,7 +117,17 @@ func (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error)
|
||||||
conn.Close()
|
conn.Close()
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
return internal.WrapSyscallConn(rawConn, conn), TLSInfo{conn.ConnectionState(), CommonAuthInfo{PrivacyAndIntegrity}}, nil
|
tlsInfo := TLSInfo{
|
||||||
|
State: conn.ConnectionState(),
|
||||||
|
CommonAuthInfo: CommonAuthInfo{
|
||||||
|
SecurityLevel: PrivacyAndIntegrity,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
id := credinternal.SPIFFEIDFromState(conn.ConnectionState())
|
||||||
|
if id != nil {
|
||||||
|
tlsInfo.SPIFFEID = id
|
||||||
|
}
|
||||||
|
return internal.WrapSyscallConn(rawConn, conn), tlsInfo, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *tlsCreds) Clone() TransportCredentials {
|
func (c *tlsCreds) Clone() TransportCredentials {
|
||||||
|
|
3
vendor/google.golang.org/grpc/dialoptions.go
generated
vendored
3
vendor/google.golang.org/grpc/dialoptions.go
generated
vendored
|
@ -27,7 +27,6 @@ import (
|
||||||
"google.golang.org/grpc/backoff"
|
"google.golang.org/grpc/backoff"
|
||||||
"google.golang.org/grpc/balancer"
|
"google.golang.org/grpc/balancer"
|
||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
"google.golang.org/grpc/internal"
|
"google.golang.org/grpc/internal"
|
||||||
internalbackoff "google.golang.org/grpc/internal/backoff"
|
internalbackoff "google.golang.org/grpc/internal/backoff"
|
||||||
"google.golang.org/grpc/internal/envconfig"
|
"google.golang.org/grpc/internal/envconfig"
|
||||||
|
@ -423,7 +422,7 @@ func WithUserAgent(s string) DialOption {
|
||||||
// for the client transport.
|
// for the client transport.
|
||||||
func WithKeepaliveParams(kp keepalive.ClientParameters) DialOption {
|
func WithKeepaliveParams(kp keepalive.ClientParameters) DialOption {
|
||||||
if kp.Time < internal.KeepaliveMinPingTime {
|
if kp.Time < internal.KeepaliveMinPingTime {
|
||||||
grpclog.Warningf("Adjusting keepalive ping interval to minimum period of %v", internal.KeepaliveMinPingTime)
|
logger.Warningf("Adjusting keepalive ping interval to minimum period of %v", internal.KeepaliveMinPingTime)
|
||||||
kp.Time = internal.KeepaliveMinPingTime
|
kp.Time = internal.KeepaliveMinPingTime
|
||||||
}
|
}
|
||||||
return newFuncDialOption(func(o *dialOptions) {
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
|
|
117
vendor/google.golang.org/grpc/grpclog/component.go
generated
vendored
Normal file
117
vendor/google.golang.org/grpc/grpclog/component.go
generated
vendored
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Copyright 2020 gRPC authors.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package grpclog
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"google.golang.org/grpc/internal/grpclog"
|
||||||
|
)
|
||||||
|
|
||||||
|
// componentData records the settings for a component.
|
||||||
|
type componentData struct {
|
||||||
|
name string
|
||||||
|
}
|
||||||
|
|
||||||
|
var cache = map[string]*componentData{}
|
||||||
|
|
||||||
|
func (c *componentData) InfoDepth(depth int, args ...interface{}) {
|
||||||
|
args = append([]interface{}{"[" + string(c.name) + "]"}, args...)
|
||||||
|
grpclog.InfoDepth(depth+1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) WarningDepth(depth int, args ...interface{}) {
|
||||||
|
args = append([]interface{}{"[" + string(c.name) + "]"}, args...)
|
||||||
|
grpclog.WarningDepth(depth+1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) ErrorDepth(depth int, args ...interface{}) {
|
||||||
|
args = append([]interface{}{"[" + string(c.name) + "]"}, args...)
|
||||||
|
grpclog.ErrorDepth(depth+1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) FatalDepth(depth int, args ...interface{}) {
|
||||||
|
args = append([]interface{}{"[" + string(c.name) + "]"}, args...)
|
||||||
|
grpclog.FatalDepth(depth+1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Info(args ...interface{}) {
|
||||||
|
c.InfoDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Warning(args ...interface{}) {
|
||||||
|
c.WarningDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Error(args ...interface{}) {
|
||||||
|
c.ErrorDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Fatal(args ...interface{}) {
|
||||||
|
c.FatalDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Infof(format string, args ...interface{}) {
|
||||||
|
c.InfoDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Warningf(format string, args ...interface{}) {
|
||||||
|
c.WarningDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Errorf(format string, args ...interface{}) {
|
||||||
|
c.ErrorDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Fatalf(format string, args ...interface{}) {
|
||||||
|
c.FatalDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Infoln(args ...interface{}) {
|
||||||
|
c.InfoDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Warningln(args ...interface{}) {
|
||||||
|
c.WarningDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Errorln(args ...interface{}) {
|
||||||
|
c.ErrorDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) Fatalln(args ...interface{}) {
|
||||||
|
c.FatalDepth(1, args...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *componentData) V(l int) bool {
|
||||||
|
return grpclog.Logger.V(l)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Component creates a new component and returns it for logging. If a component
|
||||||
|
// with the name already exists, nothing will be created and it will be
|
||||||
|
// returned. SetLoggerV2 will panic if it is called with a logger created by
|
||||||
|
// Component.
|
||||||
|
func Component(componentName string) DepthLoggerV2 {
|
||||||
|
if cData, ok := cache[componentName]; ok {
|
||||||
|
return cData
|
||||||
|
}
|
||||||
|
c := &componentData{componentName}
|
||||||
|
cache[componentName] = c
|
||||||
|
return c
|
||||||
|
}
|
4
vendor/google.golang.org/grpc/grpclog/loggerv2.go
generated
vendored
4
vendor/google.golang.org/grpc/grpclog/loggerv2.go
generated
vendored
|
@ -67,6 +67,9 @@ type LoggerV2 interface {
|
||||||
// SetLoggerV2 sets logger that is used in grpc to a V2 logger.
|
// SetLoggerV2 sets logger that is used in grpc to a V2 logger.
|
||||||
// Not mutex-protected, should be called before any gRPC functions.
|
// Not mutex-protected, should be called before any gRPC functions.
|
||||||
func SetLoggerV2(l LoggerV2) {
|
func SetLoggerV2(l LoggerV2) {
|
||||||
|
if _, ok := l.(*componentData); ok {
|
||||||
|
panic("cannot use component logger as grpclog logger")
|
||||||
|
}
|
||||||
grpclog.Logger = l
|
grpclog.Logger = l
|
||||||
grpclog.DepthLogger, _ = l.(grpclog.DepthLoggerV2)
|
grpclog.DepthLogger, _ = l.(grpclog.DepthLoggerV2)
|
||||||
}
|
}
|
||||||
|
@ -203,6 +206,7 @@ func (g *loggerT) V(l int) bool {
|
||||||
//
|
//
|
||||||
// This API is EXPERIMENTAL.
|
// This API is EXPERIMENTAL.
|
||||||
type DepthLoggerV2 interface {
|
type DepthLoggerV2 interface {
|
||||||
|
LoggerV2
|
||||||
// InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Print.
|
// InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Print.
|
||||||
InfoDepth(depth int, args ...interface{})
|
InfoDepth(depth int, args ...interface{})
|
||||||
// WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Print.
|
// WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Print.
|
||||||
|
|
4
vendor/google.golang.org/grpc/internal/binarylog/binarylog.go
generated
vendored
4
vendor/google.golang.org/grpc/internal/binarylog/binarylog.go
generated
vendored
|
@ -40,6 +40,8 @@ type Logger interface {
|
||||||
// It is used to get a methodLogger for each individual method.
|
// It is used to get a methodLogger for each individual method.
|
||||||
var binLogger Logger
|
var binLogger Logger
|
||||||
|
|
||||||
|
var grpclogLogger = grpclog.Component("binarylog")
|
||||||
|
|
||||||
// SetLogger sets the binarg logger.
|
// SetLogger sets the binarg logger.
|
||||||
//
|
//
|
||||||
// Only call this at init time.
|
// Only call this at init time.
|
||||||
|
@ -149,7 +151,7 @@ func (l *logger) setBlacklist(method string) error {
|
||||||
func (l *logger) getMethodLogger(methodName string) *MethodLogger {
|
func (l *logger) getMethodLogger(methodName string) *MethodLogger {
|
||||||
s, m, err := grpcutil.ParseMethod(methodName)
|
s, m, err := grpcutil.ParseMethod(methodName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Infof("binarylogging: failed to parse %q: %v", methodName, err)
|
grpclogLogger.Infof("binarylogging: failed to parse %q: %v", methodName, err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if ml, ok := l.methods[s+"/"+m]; ok {
|
if ml, ok := l.methods[s+"/"+m]; ok {
|
||||||
|
|
4
vendor/google.golang.org/grpc/internal/binarylog/env_config.go
generated
vendored
4
vendor/google.golang.org/grpc/internal/binarylog/env_config.go
generated
vendored
|
@ -24,8 +24,6 @@ import (
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewLoggerFromConfigString reads the string and build a logger. It can be used
|
// NewLoggerFromConfigString reads the string and build a logger. It can be used
|
||||||
|
@ -52,7 +50,7 @@ func NewLoggerFromConfigString(s string) Logger {
|
||||||
methods := strings.Split(s, ",")
|
methods := strings.Split(s, ",")
|
||||||
for _, method := range methods {
|
for _, method := range methods {
|
||||||
if err := l.fillMethodLoggerWithConfigString(method); err != nil {
|
if err := l.fillMethodLoggerWithConfigString(method); err != nil {
|
||||||
grpclog.Warningf("failed to parse binary log config: %v", err)
|
grpclogLogger.Warningf("failed to parse binary log config: %v", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
13
vendor/google.golang.org/grpc/internal/binarylog/method_logger.go
generated
vendored
13
vendor/google.golang.org/grpc/internal/binarylog/method_logger.go
generated
vendored
|
@ -27,7 +27,6 @@ import (
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/golang/protobuf/ptypes"
|
"github.com/golang/protobuf/ptypes"
|
||||||
pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1"
|
pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
)
|
)
|
||||||
|
@ -219,12 +218,12 @@ func (c *ClientMessage) toProto() *pb.GrpcLogEntry {
|
||||||
if m, ok := c.Message.(proto.Message); ok {
|
if m, ok := c.Message.(proto.Message); ok {
|
||||||
data, err = proto.Marshal(m)
|
data, err = proto.Marshal(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Infof("binarylogging: failed to marshal proto message: %v", err)
|
grpclogLogger.Infof("binarylogging: failed to marshal proto message: %v", err)
|
||||||
}
|
}
|
||||||
} else if b, ok := c.Message.([]byte); ok {
|
} else if b, ok := c.Message.([]byte); ok {
|
||||||
data = b
|
data = b
|
||||||
} else {
|
} else {
|
||||||
grpclog.Infof("binarylogging: message to log is neither proto.message nor []byte")
|
grpclogLogger.Infof("binarylogging: message to log is neither proto.message nor []byte")
|
||||||
}
|
}
|
||||||
ret := &pb.GrpcLogEntry{
|
ret := &pb.GrpcLogEntry{
|
||||||
Type: pb.GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE,
|
Type: pb.GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE,
|
||||||
|
@ -259,12 +258,12 @@ func (c *ServerMessage) toProto() *pb.GrpcLogEntry {
|
||||||
if m, ok := c.Message.(proto.Message); ok {
|
if m, ok := c.Message.(proto.Message); ok {
|
||||||
data, err = proto.Marshal(m)
|
data, err = proto.Marshal(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Infof("binarylogging: failed to marshal proto message: %v", err)
|
grpclogLogger.Infof("binarylogging: failed to marshal proto message: %v", err)
|
||||||
}
|
}
|
||||||
} else if b, ok := c.Message.([]byte); ok {
|
} else if b, ok := c.Message.([]byte); ok {
|
||||||
data = b
|
data = b
|
||||||
} else {
|
} else {
|
||||||
grpclog.Infof("binarylogging: message to log is neither proto.message nor []byte")
|
grpclogLogger.Infof("binarylogging: message to log is neither proto.message nor []byte")
|
||||||
}
|
}
|
||||||
ret := &pb.GrpcLogEntry{
|
ret := &pb.GrpcLogEntry{
|
||||||
Type: pb.GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE,
|
Type: pb.GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE,
|
||||||
|
@ -315,7 +314,7 @@ type ServerTrailer struct {
|
||||||
func (c *ServerTrailer) toProto() *pb.GrpcLogEntry {
|
func (c *ServerTrailer) toProto() *pb.GrpcLogEntry {
|
||||||
st, ok := status.FromError(c.Err)
|
st, ok := status.FromError(c.Err)
|
||||||
if !ok {
|
if !ok {
|
||||||
grpclog.Info("binarylogging: error in trailer is not a status error")
|
grpclogLogger.Info("binarylogging: error in trailer is not a status error")
|
||||||
}
|
}
|
||||||
var (
|
var (
|
||||||
detailsBytes []byte
|
detailsBytes []byte
|
||||||
|
@ -325,7 +324,7 @@ func (c *ServerTrailer) toProto() *pb.GrpcLogEntry {
|
||||||
if stProto != nil && len(stProto.Details) != 0 {
|
if stProto != nil && len(stProto.Details) != 0 {
|
||||||
detailsBytes, err = proto.Marshal(stProto)
|
detailsBytes, err = proto.Marshal(stProto)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Infof("binarylogging: failed to marshal status proto: %v", err)
|
grpclogLogger.Infof("binarylogging: failed to marshal status proto: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ret := &pb.GrpcLogEntry{
|
ret := &pb.GrpcLogEntry{
|
||||||
|
|
3
vendor/google.golang.org/grpc/internal/binarylog/sink.go
generated
vendored
3
vendor/google.golang.org/grpc/internal/binarylog/sink.go
generated
vendored
|
@ -29,7 +29,6 @@ import (
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1"
|
pb "google.golang.org/grpc/binarylog/grpc_binarylog_v1"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -78,7 +77,7 @@ type writerSink struct {
|
||||||
func (ws *writerSink) Write(e *pb.GrpcLogEntry) error {
|
func (ws *writerSink) Write(e *pb.GrpcLogEntry) error {
|
||||||
b, err := proto.Marshal(e)
|
b, err := proto.Marshal(e)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Infof("binary logging: failed to marshal proto message: %v", err)
|
grpclogLogger.Infof("binary logging: failed to marshal proto message: %v", err)
|
||||||
}
|
}
|
||||||
hdr := make([]byte, 4)
|
hdr := make([]byte, 4)
|
||||||
binary.BigEndian.PutUint32(hdr, uint32(len(b)))
|
binary.BigEndian.PutUint32(hdr, uint32(len(b)))
|
||||||
|
|
18
vendor/google.golang.org/grpc/internal/channelz/funcs.go
generated
vendored
18
vendor/google.golang.org/grpc/internal/channelz/funcs.go
generated
vendored
|
@ -30,7 +30,7 @@ import (
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"google.golang.org/grpc/internal/grpclog"
|
"google.golang.org/grpc/grpclog"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -216,7 +216,7 @@ func RegisterChannel(c Channel, pid int64, ref string) int64 {
|
||||||
// by pid). It returns the unique channelz tracking id assigned to this subchannel.
|
// by pid). It returns the unique channelz tracking id assigned to this subchannel.
|
||||||
func RegisterSubChannel(c Channel, pid int64, ref string) int64 {
|
func RegisterSubChannel(c Channel, pid int64, ref string) int64 {
|
||||||
if pid == 0 {
|
if pid == 0 {
|
||||||
grpclog.ErrorDepth(0, "a SubChannel's parent id cannot be 0")
|
logger.Error("a SubChannel's parent id cannot be 0")
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
id := idGen.genID()
|
id := idGen.genID()
|
||||||
|
@ -253,7 +253,7 @@ func RegisterServer(s Server, ref string) int64 {
|
||||||
// this listen socket.
|
// this listen socket.
|
||||||
func RegisterListenSocket(s Socket, pid int64, ref string) int64 {
|
func RegisterListenSocket(s Socket, pid int64, ref string) int64 {
|
||||||
if pid == 0 {
|
if pid == 0 {
|
||||||
grpclog.ErrorDepth(0, "a ListenSocket's parent id cannot be 0")
|
logger.Error("a ListenSocket's parent id cannot be 0")
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
id := idGen.genID()
|
id := idGen.genID()
|
||||||
|
@ -268,7 +268,7 @@ func RegisterListenSocket(s Socket, pid int64, ref string) int64 {
|
||||||
// this normal socket.
|
// this normal socket.
|
||||||
func RegisterNormalSocket(s Socket, pid int64, ref string) int64 {
|
func RegisterNormalSocket(s Socket, pid int64, ref string) int64 {
|
||||||
if pid == 0 {
|
if pid == 0 {
|
||||||
grpclog.ErrorDepth(0, "a NormalSocket's parent id cannot be 0")
|
logger.Error("a NormalSocket's parent id cannot be 0")
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
id := idGen.genID()
|
id := idGen.genID()
|
||||||
|
@ -294,17 +294,17 @@ type TraceEventDesc struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddTraceEvent adds trace related to the entity with specified id, using the provided TraceEventDesc.
|
// AddTraceEvent adds trace related to the entity with specified id, using the provided TraceEventDesc.
|
||||||
func AddTraceEvent(id int64, depth int, desc *TraceEventDesc) {
|
func AddTraceEvent(l grpclog.DepthLoggerV2, id int64, depth int, desc *TraceEventDesc) {
|
||||||
for d := desc; d != nil; d = d.Parent {
|
for d := desc; d != nil; d = d.Parent {
|
||||||
switch d.Severity {
|
switch d.Severity {
|
||||||
case CtUNKNOWN:
|
case CtUNKNOWN:
|
||||||
grpclog.InfoDepth(depth+1, d.Desc)
|
l.InfoDepth(depth+1, d.Desc)
|
||||||
case CtINFO:
|
case CtINFO:
|
||||||
grpclog.InfoDepth(depth+1, d.Desc)
|
l.InfoDepth(depth+1, d.Desc)
|
||||||
case CtWarning:
|
case CtWarning:
|
||||||
grpclog.WarningDepth(depth+1, d.Desc)
|
l.WarningDepth(depth+1, d.Desc)
|
||||||
case CtError:
|
case CtError:
|
||||||
grpclog.ErrorDepth(depth+1, d.Desc)
|
l.ErrorDepth(depth+1, d.Desc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if getMaxTraceEntry() == 0 {
|
if getMaxTraceEntry() == 0 {
|
||||||
|
|
52
vendor/google.golang.org/grpc/internal/channelz/logging.go
generated
vendored
52
vendor/google.golang.org/grpc/internal/channelz/logging.go
generated
vendored
|
@ -21,80 +21,82 @@ package channelz
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"google.golang.org/grpc/internal/grpclog"
|
"google.golang.org/grpc/grpclog"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Info logs through grpclog.Info and adds a trace event if channelz is on.
|
var logger = grpclog.Component("channelz")
|
||||||
func Info(id int64, args ...interface{}) {
|
|
||||||
|
// Info logs and adds a trace event if channelz is on.
|
||||||
|
func Info(l grpclog.DepthLoggerV2, id int64, args ...interface{}) {
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: fmt.Sprint(args...),
|
Desc: fmt.Sprint(args...),
|
||||||
Severity: CtINFO,
|
Severity: CtINFO,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.InfoDepth(1, args...)
|
l.InfoDepth(1, args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Infof logs through grpclog.Infof and adds a trace event if channelz is on.
|
// Infof logs and adds a trace event if channelz is on.
|
||||||
func Infof(id int64, format string, args ...interface{}) {
|
func Infof(l grpclog.DepthLoggerV2, id int64, format string, args ...interface{}) {
|
||||||
msg := fmt.Sprintf(format, args...)
|
msg := fmt.Sprintf(format, args...)
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: msg,
|
Desc: msg,
|
||||||
Severity: CtINFO,
|
Severity: CtINFO,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.InfoDepth(1, msg)
|
l.InfoDepth(1, msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warning logs through grpclog.Warning and adds a trace event if channelz is on.
|
// Warning logs and adds a trace event if channelz is on.
|
||||||
func Warning(id int64, args ...interface{}) {
|
func Warning(l grpclog.DepthLoggerV2, id int64, args ...interface{}) {
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: fmt.Sprint(args...),
|
Desc: fmt.Sprint(args...),
|
||||||
Severity: CtWarning,
|
Severity: CtWarning,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.WarningDepth(1, args...)
|
l.WarningDepth(1, args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warningf logs through grpclog.Warningf and adds a trace event if channelz is on.
|
// Warningf logs and adds a trace event if channelz is on.
|
||||||
func Warningf(id int64, format string, args ...interface{}) {
|
func Warningf(l grpclog.DepthLoggerV2, id int64, format string, args ...interface{}) {
|
||||||
msg := fmt.Sprintf(format, args...)
|
msg := fmt.Sprintf(format, args...)
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: msg,
|
Desc: msg,
|
||||||
Severity: CtWarning,
|
Severity: CtWarning,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.WarningDepth(1, msg)
|
l.WarningDepth(1, msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error logs through grpclog.Error and adds a trace event if channelz is on.
|
// Error logs and adds a trace event if channelz is on.
|
||||||
func Error(id int64, args ...interface{}) {
|
func Error(l grpclog.DepthLoggerV2, id int64, args ...interface{}) {
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: fmt.Sprint(args...),
|
Desc: fmt.Sprint(args...),
|
||||||
Severity: CtError,
|
Severity: CtError,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.ErrorDepth(1, args...)
|
l.ErrorDepth(1, args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Errorf logs through grpclog.Errorf and adds a trace event if channelz is on.
|
// Errorf logs and adds a trace event if channelz is on.
|
||||||
func Errorf(id int64, format string, args ...interface{}) {
|
func Errorf(l grpclog.DepthLoggerV2, id int64, format string, args ...interface{}) {
|
||||||
msg := fmt.Sprintf(format, args...)
|
msg := fmt.Sprintf(format, args...)
|
||||||
if IsOn() {
|
if IsOn() {
|
||||||
AddTraceEvent(id, 1, &TraceEventDesc{
|
AddTraceEvent(l, id, 1, &TraceEventDesc{
|
||||||
Desc: msg,
|
Desc: msg,
|
||||||
Severity: CtError,
|
Severity: CtError,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
grpclog.ErrorDepth(1, msg)
|
l.ErrorDepth(1, msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
25
vendor/google.golang.org/grpc/internal/channelz/types.go
generated
vendored
25
vendor/google.golang.org/grpc/internal/channelz/types.go
generated
vendored
|
@ -26,7 +26,6 @@ import (
|
||||||
|
|
||||||
"google.golang.org/grpc/connectivity"
|
"google.golang.org/grpc/connectivity"
|
||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// entry represents a node in the channelz database.
|
// entry represents a node in the channelz database.
|
||||||
|
@ -60,17 +59,17 @@ func (d *dummyEntry) addChild(id int64, e entry) {
|
||||||
// the addrConn will create a new transport. And when registering the new transport in
|
// the addrConn will create a new transport. And when registering the new transport in
|
||||||
// channelz, its parent addrConn could have already been torn down and deleted
|
// channelz, its parent addrConn could have already been torn down and deleted
|
||||||
// from channelz tracking, and thus reach the code here.
|
// from channelz tracking, and thus reach the code here.
|
||||||
grpclog.Infof("attempt to add child of type %T with id %d to a parent (id=%d) that doesn't currently exist", e, id, d.idNotFound)
|
logger.Infof("attempt to add child of type %T with id %d to a parent (id=%d) that doesn't currently exist", e, id, d.idNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *dummyEntry) deleteChild(id int64) {
|
func (d *dummyEntry) deleteChild(id int64) {
|
||||||
// It is possible for a normal program to reach here under race condition.
|
// It is possible for a normal program to reach here under race condition.
|
||||||
// Refer to the example described in addChild().
|
// Refer to the example described in addChild().
|
||||||
grpclog.Infof("attempt to delete child with id %d from a parent (id=%d) that doesn't currently exist", id, d.idNotFound)
|
logger.Infof("attempt to delete child with id %d from a parent (id=%d) that doesn't currently exist", id, d.idNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *dummyEntry) triggerDelete() {
|
func (d *dummyEntry) triggerDelete() {
|
||||||
grpclog.Warningf("attempt to delete an entry (id=%d) that doesn't currently exist", d.idNotFound)
|
logger.Warningf("attempt to delete an entry (id=%d) that doesn't currently exist", d.idNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*dummyEntry) deleteSelfIfReady() {
|
func (*dummyEntry) deleteSelfIfReady() {
|
||||||
|
@ -215,7 +214,7 @@ func (c *channel) addChild(id int64, e entry) {
|
||||||
case *channel:
|
case *channel:
|
||||||
c.nestedChans[id] = v.refName
|
c.nestedChans[id] = v.refName
|
||||||
default:
|
default:
|
||||||
grpclog.Errorf("cannot add a child (id = %d) of type %T to a channel", id, e)
|
logger.Errorf("cannot add a child (id = %d) of type %T to a channel", id, e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,7 +325,7 @@ func (sc *subChannel) addChild(id int64, e entry) {
|
||||||
if v, ok := e.(*normalSocket); ok {
|
if v, ok := e.(*normalSocket); ok {
|
||||||
sc.sockets[id] = v.refName
|
sc.sockets[id] = v.refName
|
||||||
} else {
|
} else {
|
||||||
grpclog.Errorf("cannot add a child (id = %d) of type %T to a subChannel", id, e)
|
logger.Errorf("cannot add a child (id = %d) of type %T to a subChannel", id, e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -493,11 +492,11 @@ type listenSocket struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *listenSocket) addChild(id int64, e entry) {
|
func (ls *listenSocket) addChild(id int64, e entry) {
|
||||||
grpclog.Errorf("cannot add a child (id = %d) of type %T to a listen socket", id, e)
|
logger.Errorf("cannot add a child (id = %d) of type %T to a listen socket", id, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *listenSocket) deleteChild(id int64) {
|
func (ls *listenSocket) deleteChild(id int64) {
|
||||||
grpclog.Errorf("cannot delete a child (id = %d) from a listen socket", id)
|
logger.Errorf("cannot delete a child (id = %d) from a listen socket", id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *listenSocket) triggerDelete() {
|
func (ls *listenSocket) triggerDelete() {
|
||||||
|
@ -506,7 +505,7 @@ func (ls *listenSocket) triggerDelete() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *listenSocket) deleteSelfIfReady() {
|
func (ls *listenSocket) deleteSelfIfReady() {
|
||||||
grpclog.Errorf("cannot call deleteSelfIfReady on a listen socket")
|
logger.Errorf("cannot call deleteSelfIfReady on a listen socket")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *listenSocket) getParentID() int64 {
|
func (ls *listenSocket) getParentID() int64 {
|
||||||
|
@ -522,11 +521,11 @@ type normalSocket struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns *normalSocket) addChild(id int64, e entry) {
|
func (ns *normalSocket) addChild(id int64, e entry) {
|
||||||
grpclog.Errorf("cannot add a child (id = %d) of type %T to a normal socket", id, e)
|
logger.Errorf("cannot add a child (id = %d) of type %T to a normal socket", id, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns *normalSocket) deleteChild(id int64) {
|
func (ns *normalSocket) deleteChild(id int64) {
|
||||||
grpclog.Errorf("cannot delete a child (id = %d) from a normal socket", id)
|
logger.Errorf("cannot delete a child (id = %d) from a normal socket", id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns *normalSocket) triggerDelete() {
|
func (ns *normalSocket) triggerDelete() {
|
||||||
|
@ -535,7 +534,7 @@ func (ns *normalSocket) triggerDelete() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns *normalSocket) deleteSelfIfReady() {
|
func (ns *normalSocket) deleteSelfIfReady() {
|
||||||
grpclog.Errorf("cannot call deleteSelfIfReady on a normal socket")
|
logger.Errorf("cannot call deleteSelfIfReady on a normal socket")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ns *normalSocket) getParentID() int64 {
|
func (ns *normalSocket) getParentID() int64 {
|
||||||
|
@ -594,7 +593,7 @@ func (s *server) addChild(id int64, e entry) {
|
||||||
case *listenSocket:
|
case *listenSocket:
|
||||||
s.listenSockets[id] = v.refName
|
s.listenSockets[id] = v.refName
|
||||||
default:
|
default:
|
||||||
grpclog.Errorf("cannot add a child (id = %d) of type %T to a server", id, e)
|
logger.Errorf("cannot add a child (id = %d) of type %T to a server", id, e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go
generated
vendored
4
vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go
generated
vendored
|
@ -22,8 +22,6 @@ package channelz
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var once sync.Once
|
var once sync.Once
|
||||||
|
@ -39,6 +37,6 @@ type SocketOptionData struct {
|
||||||
// Windows OS doesn't support Socket Option
|
// Windows OS doesn't support Socket Option
|
||||||
func (s *SocketOptionData) Getsockopt(fd uintptr) {
|
func (s *SocketOptionData) Getsockopt(fd uintptr) {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
grpclog.Warningln("Channelz: socket options are not supported on non-linux os and appengine.")
|
logger.Warning("Channelz: socket options are not supported on non-linux os and appengine.")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
65
vendor/google.golang.org/grpc/internal/credentials/go110.go
generated
vendored
Normal file
65
vendor/google.golang.org/grpc/internal/credentials/go110.go
generated
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
// +build go1.10
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Copyright 2020 gRPC authors.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package credentials defines APIs for parsing SPIFFE ID.
|
||||||
|
//
|
||||||
|
// All APIs in this package are experimental.
|
||||||
|
package credentials
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/tls"
|
||||||
|
"net/url"
|
||||||
|
|
||||||
|
"google.golang.org/grpc/grpclog"
|
||||||
|
)
|
||||||
|
|
||||||
|
// SPIFFEIDFromState parses the SPIFFE ID from State. If the SPIFFE ID format
|
||||||
|
// is invalid, return nil with warning.
|
||||||
|
func SPIFFEIDFromState(state tls.ConnectionState) *url.URL {
|
||||||
|
if len(state.PeerCertificates) == 0 || len(state.PeerCertificates[0].URIs) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
var spiffeID *url.URL
|
||||||
|
for _, uri := range state.PeerCertificates[0].URIs {
|
||||||
|
if uri == nil || uri.Scheme != "spiffe" || uri.Opaque != "" || (uri.User != nil && uri.User.Username() != "") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// From this point, we assume the uri is intended for a SPIFFE ID.
|
||||||
|
if len(uri.String()) > 2048 {
|
||||||
|
grpclog.Warning("invalid SPIFFE ID: total ID length larger than 2048 bytes")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if len(uri.Host) == 0 || len(uri.RawPath) == 0 || len(uri.Path) == 0 {
|
||||||
|
grpclog.Warning("invalid SPIFFE ID: domain or workload ID is empty")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if len(uri.Host) > 255 {
|
||||||
|
grpclog.Warning("invalid SPIFFE ID: domain length larger than 255 characters")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// A valid SPIFFE certificate can only have exactly one URI SAN field.
|
||||||
|
if len(state.PeerCertificates[0].URIs) > 1 {
|
||||||
|
grpclog.Warning("invalid SPIFFE ID: multiple URI SANs")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
spiffeID = uri
|
||||||
|
}
|
||||||
|
return spiffeID
|
||||||
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
|
// +build !go1.10
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Copyright 2017 gRPC authors.
|
* Copyright 2020 gRPC authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -16,29 +18,14 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// This file contains wrappers for grpclog functions.
|
package credentials
|
||||||
// The transport package only logs to verbose level 2 by default.
|
|
||||||
|
|
||||||
package transport
|
import (
|
||||||
|
"crypto/tls"
|
||||||
|
"net/url"
|
||||||
|
)
|
||||||
|
|
||||||
import "google.golang.org/grpc/grpclog"
|
//TODO(ZhenLian): delete this file when we remove Go 1.9 tests.
|
||||||
|
func SPIFFEIDFromState(state tls.ConnectionState) *url.URL {
|
||||||
const logLevel = 2
|
return nil
|
||||||
|
|
||||||
func infof(format string, args ...interface{}) {
|
|
||||||
if grpclog.V(logLevel) {
|
|
||||||
grpclog.Infof(format, args...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func warningf(format string, args ...interface{}) {
|
|
||||||
if grpclog.V(logLevel) {
|
|
||||||
grpclog.Warningf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func errorf(format string, args ...interface{}) {
|
|
||||||
if grpclog.V(logLevel) {
|
|
||||||
grpclog.Errorf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
13
vendor/google.golang.org/grpc/internal/grpclog/grpclog.go
generated
vendored
13
vendor/google.golang.org/grpc/internal/grpclog/grpclog.go
generated
vendored
|
@ -19,6 +19,10 @@
|
||||||
// Package grpclog (internal) defines depth logging for grpc.
|
// Package grpclog (internal) defines depth logging for grpc.
|
||||||
package grpclog
|
package grpclog
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
// Logger is the logger used for the non-depth log functions.
|
// Logger is the logger used for the non-depth log functions.
|
||||||
var Logger LoggerV2
|
var Logger LoggerV2
|
||||||
|
|
||||||
|
@ -30,7 +34,7 @@ func InfoDepth(depth int, args ...interface{}) {
|
||||||
if DepthLogger != nil {
|
if DepthLogger != nil {
|
||||||
DepthLogger.InfoDepth(depth, args...)
|
DepthLogger.InfoDepth(depth, args...)
|
||||||
} else {
|
} else {
|
||||||
Logger.Info(args...)
|
Logger.Infoln(args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +43,7 @@ func WarningDepth(depth int, args ...interface{}) {
|
||||||
if DepthLogger != nil {
|
if DepthLogger != nil {
|
||||||
DepthLogger.WarningDepth(depth, args...)
|
DepthLogger.WarningDepth(depth, args...)
|
||||||
} else {
|
} else {
|
||||||
Logger.Warning(args...)
|
Logger.Warningln(args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +52,7 @@ func ErrorDepth(depth int, args ...interface{}) {
|
||||||
if DepthLogger != nil {
|
if DepthLogger != nil {
|
||||||
DepthLogger.ErrorDepth(depth, args...)
|
DepthLogger.ErrorDepth(depth, args...)
|
||||||
} else {
|
} else {
|
||||||
Logger.Error(args...)
|
Logger.Errorln(args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,8 +61,9 @@ func FatalDepth(depth int, args ...interface{}) {
|
||||||
if DepthLogger != nil {
|
if DepthLogger != nil {
|
||||||
DepthLogger.FatalDepth(depth, args...)
|
DepthLogger.FatalDepth(depth, args...)
|
||||||
} else {
|
} else {
|
||||||
Logger.Fatal(args...)
|
Logger.Fatalln(args...)
|
||||||
}
|
}
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoggerV2 does underlying logging work for grpclog.
|
// LoggerV2 does underlying logging work for grpclog.
|
||||||
|
|
32
vendor/google.golang.org/grpc/internal/grpclog/prefixLogger.go
generated
vendored
32
vendor/google.golang.org/grpc/internal/grpclog/prefixLogger.go
generated
vendored
|
@ -18,10 +18,15 @@
|
||||||
|
|
||||||
package grpclog
|
package grpclog
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
// PrefixLogger does logging with a prefix.
|
// PrefixLogger does logging with a prefix.
|
||||||
//
|
//
|
||||||
// Logging method on a nil logs without any prefix.
|
// Logging method on a nil logs without any prefix.
|
||||||
type PrefixLogger struct {
|
type PrefixLogger struct {
|
||||||
|
logger DepthLoggerV2
|
||||||
prefix string
|
prefix string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,34 +35,47 @@ func (pl *PrefixLogger) Infof(format string, args ...interface{}) {
|
||||||
if pl != nil {
|
if pl != nil {
|
||||||
// Handle nil, so the tests can pass in a nil logger.
|
// Handle nil, so the tests can pass in a nil logger.
|
||||||
format = pl.prefix + format
|
format = pl.prefix + format
|
||||||
|
pl.logger.InfoDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
Logger.Infof(format, args...)
|
InfoDepth(1, fmt.Sprintf(format, args...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warningf does warning logging.
|
// Warningf does warning logging.
|
||||||
func (pl *PrefixLogger) Warningf(format string, args ...interface{}) {
|
func (pl *PrefixLogger) Warningf(format string, args ...interface{}) {
|
||||||
if pl != nil {
|
if pl != nil {
|
||||||
format = pl.prefix + format
|
format = pl.prefix + format
|
||||||
|
pl.logger.WarningDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
Logger.Warningf(format, args...)
|
WarningDepth(1, fmt.Sprintf(format, args...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Errorf does error logging.
|
// Errorf does error logging.
|
||||||
func (pl *PrefixLogger) Errorf(format string, args ...interface{}) {
|
func (pl *PrefixLogger) Errorf(format string, args ...interface{}) {
|
||||||
if pl != nil {
|
if pl != nil {
|
||||||
format = pl.prefix + format
|
format = pl.prefix + format
|
||||||
|
pl.logger.ErrorDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
Logger.Errorf(format, args...)
|
ErrorDepth(1, fmt.Sprintf(format, args...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debugf does info logging at verbose level 2.
|
// Debugf does info logging at verbose level 2.
|
||||||
func (pl *PrefixLogger) Debugf(format string, args ...interface{}) {
|
func (pl *PrefixLogger) Debugf(format string, args ...interface{}) {
|
||||||
if Logger.V(2) {
|
if !Logger.V(2) {
|
||||||
pl.Infof(format, args...)
|
return
|
||||||
}
|
}
|
||||||
|
if pl != nil {
|
||||||
|
// Handle nil, so the tests can pass in a nil logger.
|
||||||
|
format = pl.prefix + format
|
||||||
|
pl.logger.InfoDepth(1, fmt.Sprintf(format, args...))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
InfoDepth(1, fmt.Sprintf(format, args...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewPrefixLogger creates a prefix logger with the given prefix.
|
// NewPrefixLogger creates a prefix logger with the given prefix.
|
||||||
func NewPrefixLogger(prefix string) *PrefixLogger {
|
func NewPrefixLogger(logger DepthLoggerV2, prefix string) *PrefixLogger {
|
||||||
return &PrefixLogger{prefix: prefix}
|
return &PrefixLogger{logger: logger, prefix: prefix}
|
||||||
}
|
}
|
||||||
|
|
63
vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go
generated
vendored
Normal file
63
vendor/google.golang.org/grpc/internal/grpcutil/encode_duration.go
generated
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Copyright 2020 gRPC authors.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package grpcutil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
const maxTimeoutValue int64 = 100000000 - 1
|
||||||
|
|
||||||
|
// div does integer division and round-up the result. Note that this is
|
||||||
|
// equivalent to (d+r-1)/r but has less chance to overflow.
|
||||||
|
func div(d, r time.Duration) int64 {
|
||||||
|
if d%r > 0 {
|
||||||
|
return int64(d/r + 1)
|
||||||
|
}
|
||||||
|
return int64(d / r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// EncodeDuration encodes the duration to the format grpc-timeout header
|
||||||
|
// accepts.
|
||||||
|
//
|
||||||
|
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
|
||||||
|
func EncodeDuration(t time.Duration) string {
|
||||||
|
// TODO: This is simplistic and not bandwidth efficient. Improve it.
|
||||||
|
if t <= 0 {
|
||||||
|
return "0n"
|
||||||
|
}
|
||||||
|
if d := div(t, time.Nanosecond); d <= maxTimeoutValue {
|
||||||
|
return strconv.FormatInt(d, 10) + "n"
|
||||||
|
}
|
||||||
|
if d := div(t, time.Microsecond); d <= maxTimeoutValue {
|
||||||
|
return strconv.FormatInt(d, 10) + "u"
|
||||||
|
}
|
||||||
|
if d := div(t, time.Millisecond); d <= maxTimeoutValue {
|
||||||
|
return strconv.FormatInt(d, 10) + "m"
|
||||||
|
}
|
||||||
|
if d := div(t, time.Second); d <= maxTimeoutValue {
|
||||||
|
return strconv.FormatInt(d, 10) + "S"
|
||||||
|
}
|
||||||
|
if d := div(t, time.Minute); d <= maxTimeoutValue {
|
||||||
|
return strconv.FormatInt(d, 10) + "M"
|
||||||
|
}
|
||||||
|
// Note that maxTimeoutValue * time.Hour > MaxInt64.
|
||||||
|
return strconv.FormatInt(div(t, time.Hour), 10) + "H"
|
||||||
|
}
|
40
vendor/google.golang.org/grpc/internal/grpcutil/metadata.go
generated
vendored
Normal file
40
vendor/google.golang.org/grpc/internal/grpcutil/metadata.go
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Copyright 2020 gRPC authors.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package grpcutil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"google.golang.org/grpc/metadata"
|
||||||
|
)
|
||||||
|
|
||||||
|
type mdExtraKey struct{}
|
||||||
|
|
||||||
|
// WithExtraMetadata creates a new context with incoming md attached.
|
||||||
|
func WithExtraMetadata(ctx context.Context, md metadata.MD) context.Context {
|
||||||
|
return context.WithValue(ctx, mdExtraKey{}, md)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExtraMetadata returns the incoming metadata in ctx if it exists. The
|
||||||
|
// returned MD should not be modified. Writing to it may cause races.
|
||||||
|
// Modification should be made to copies of the returned MD.
|
||||||
|
func ExtraMetadata(ctx context.Context) (md metadata.MD, ok bool) {
|
||||||
|
md, ok = ctx.Value(mdExtraKey{}).(metadata.MD)
|
||||||
|
return
|
||||||
|
}
|
44
vendor/google.golang.org/grpc/internal/grpcutil/method.go
generated
vendored
44
vendor/google.golang.org/grpc/internal/grpcutil/method.go
generated
vendored
|
@ -38,3 +38,47 @@ func ParseMethod(methodName string) (service, method string, _ error) {
|
||||||
}
|
}
|
||||||
return methodName[:pos], methodName[pos+1:], nil
|
return methodName[:pos], methodName[pos+1:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const baseContentType = "application/grpc"
|
||||||
|
|
||||||
|
// ContentSubtype returns the content-subtype for the given content-type. The
|
||||||
|
// given content-type must be a valid content-type that starts with
|
||||||
|
// "application/grpc". A content-subtype will follow "application/grpc" after a
|
||||||
|
// "+" or ";". See
|
||||||
|
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for
|
||||||
|
// more details.
|
||||||
|
//
|
||||||
|
// If contentType is not a valid content-type for gRPC, the boolean
|
||||||
|
// will be false, otherwise true. If content-type == "application/grpc",
|
||||||
|
// "application/grpc+", or "application/grpc;", the boolean will be true,
|
||||||
|
// but no content-subtype will be returned.
|
||||||
|
//
|
||||||
|
// contentType is assumed to be lowercase already.
|
||||||
|
func ContentSubtype(contentType string) (string, bool) {
|
||||||
|
if contentType == baseContentType {
|
||||||
|
return "", true
|
||||||
|
}
|
||||||
|
if !strings.HasPrefix(contentType, baseContentType) {
|
||||||
|
return "", false
|
||||||
|
}
|
||||||
|
// guaranteed since != baseContentType and has baseContentType prefix
|
||||||
|
switch contentType[len(baseContentType)] {
|
||||||
|
case '+', ';':
|
||||||
|
// this will return true for "application/grpc+" or "application/grpc;"
|
||||||
|
// which the previous validContentType function tested to be valid, so we
|
||||||
|
// just say that no content-subtype is specified in this case
|
||||||
|
return contentType[len(baseContentType)+1:], true
|
||||||
|
default:
|
||||||
|
return "", false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ContentType builds full content type with the given sub-type.
|
||||||
|
//
|
||||||
|
// contentSubtype is assumed to be lowercase
|
||||||
|
func ContentType(contentSubtype string) string {
|
||||||
|
if contentSubtype == "" {
|
||||||
|
return baseContentType
|
||||||
|
}
|
||||||
|
return baseContentType + "+" + contentSubtype
|
||||||
|
}
|
||||||
|
|
10
vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
generated
vendored
10
vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
generated
vendored
|
@ -44,6 +44,8 @@ import (
|
||||||
// addresses from SRV records. Must not be changed after init time.
|
// addresses from SRV records. Must not be changed after init time.
|
||||||
var EnableSRVLookups = false
|
var EnableSRVLookups = false
|
||||||
|
|
||||||
|
var logger = grpclog.Component("dns")
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
resolver.Register(NewBuilder())
|
resolver.Register(NewBuilder())
|
||||||
}
|
}
|
||||||
|
@ -272,7 +274,7 @@ func handleDNSError(err error, lookupType string) error {
|
||||||
err = filterError(err)
|
err = filterError(err)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("dns: %v record lookup error: %v", lookupType, err)
|
err = fmt.Errorf("dns: %v record lookup error: %v", lookupType, err)
|
||||||
grpclog.Infoln(err)
|
logger.Info(err)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -295,7 +297,7 @@ func (d *dnsResolver) lookupTXT() *serviceconfig.ParseResult {
|
||||||
|
|
||||||
// TXT record must have "grpc_config=" attribute in order to be used as service config.
|
// TXT record must have "grpc_config=" attribute in order to be used as service config.
|
||||||
if !strings.HasPrefix(res, txtAttribute) {
|
if !strings.HasPrefix(res, txtAttribute) {
|
||||||
grpclog.Warningf("dns: TXT record %v missing %v attribute", res, txtAttribute)
|
logger.Warningf("dns: TXT record %v missing %v attribute", res, txtAttribute)
|
||||||
// This is not an error; it is the equivalent of not having a service config.
|
// This is not an error; it is the equivalent of not having a service config.
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -421,12 +423,12 @@ func canaryingSC(js string) string {
|
||||||
var rcs []rawChoice
|
var rcs []rawChoice
|
||||||
err := json.Unmarshal([]byte(js), &rcs)
|
err := json.Unmarshal([]byte(js), &rcs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Warningf("dns: error parsing service config json: %v", err)
|
logger.Warningf("dns: error parsing service config json: %v", err)
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
cliHostname, err := os.Hostname()
|
cliHostname, err := os.Hostname()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Warningf("dns: error getting client hostname: %v", err)
|
logger.Warningf("dns: error getting client hostname: %v", err)
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
var sc string
|
var sc string
|
||||||
|
|
4
vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go
generated
vendored
4
vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go
generated
vendored
|
@ -32,11 +32,13 @@ import (
|
||||||
"google.golang.org/grpc/grpclog"
|
"google.golang.org/grpc/grpclog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var logger = grpclog.Component("core")
|
||||||
|
|
||||||
// GetCPUTime returns the how much CPU time has passed since the start of this process.
|
// GetCPUTime returns the how much CPU time has passed since the start of this process.
|
||||||
func GetCPUTime() int64 {
|
func GetCPUTime() int64 {
|
||||||
var ts unix.Timespec
|
var ts unix.Timespec
|
||||||
if err := unix.ClockGettime(unix.CLOCK_PROCESS_CPUTIME_ID, &ts); err != nil {
|
if err := unix.ClockGettime(unix.CLOCK_PROCESS_CPUTIME_ID, &ts); err != nil {
|
||||||
grpclog.Fatal(err)
|
logger.Fatal(err)
|
||||||
}
|
}
|
||||||
return ts.Nano()
|
return ts.Nano()
|
||||||
}
|
}
|
||||||
|
|
3
vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go
generated
vendored
3
vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go
generated
vendored
|
@ -31,10 +31,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var once sync.Once
|
var once sync.Once
|
||||||
|
var logger = grpclog.Component("core")
|
||||||
|
|
||||||
func log() {
|
func log() {
|
||||||
once.Do(func() {
|
once.Do(func() {
|
||||||
grpclog.Info("CPU time info is unavailable on non-linux or appengine environment.")
|
logger.Info("CPU time info is unavailable on non-linux or appengine environment.")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
12
vendor/google.golang.org/grpc/internal/transport/controlbuf.go
generated
vendored
12
vendor/google.golang.org/grpc/internal/transport/controlbuf.go
generated
vendored
|
@ -505,7 +505,9 @@ func (l *loopyWriter) run() (err error) {
|
||||||
// 1. When the connection is closed by some other known issue.
|
// 1. When the connection is closed by some other known issue.
|
||||||
// 2. User closed the connection.
|
// 2. User closed the connection.
|
||||||
// 3. A graceful close of connection.
|
// 3. A graceful close of connection.
|
||||||
infof("transport: loopyWriter.run returning. %v", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: loopyWriter.run returning. %v", err)
|
||||||
|
}
|
||||||
err = nil
|
err = nil
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -605,7 +607,9 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
|
||||||
if l.side == serverSide {
|
if l.side == serverSide {
|
||||||
str, ok := l.estdStreams[h.streamID]
|
str, ok := l.estdStreams[h.streamID]
|
||||||
if !ok {
|
if !ok {
|
||||||
warningf("transport: loopy doesn't recognize the stream: %d", h.streamID)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: loopy doesn't recognize the stream: %d", h.streamID)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
// Case 1.A: Server is responding back with headers.
|
// Case 1.A: Server is responding back with headers.
|
||||||
|
@ -658,7 +662,9 @@ func (l *loopyWriter) writeHeader(streamID uint32, endStream bool, hf []hpack.He
|
||||||
l.hBuf.Reset()
|
l.hBuf.Reset()
|
||||||
for _, f := range hf {
|
for _, f := range hf {
|
||||||
if err := l.hEnc.WriteField(f); err != nil {
|
if err := l.hEnc.WriteField(f); err != nil {
|
||||||
warningf("transport: loopyWriter.writeHeader encountered error while encoding headers:", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: loopyWriter.writeHeader encountered error while encoding headers: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var (
|
var (
|
||||||
|
|
3
vendor/google.golang.org/grpc/internal/transport/handler_server.go
generated
vendored
3
vendor/google.golang.org/grpc/internal/transport/handler_server.go
generated
vendored
|
@ -39,6 +39,7 @@ import (
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
|
"google.golang.org/grpc/internal/grpcutil"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
"google.golang.org/grpc/peer"
|
"google.golang.org/grpc/peer"
|
||||||
"google.golang.org/grpc/stats"
|
"google.golang.org/grpc/stats"
|
||||||
|
@ -57,7 +58,7 @@ func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats sta
|
||||||
}
|
}
|
||||||
contentType := r.Header.Get("Content-Type")
|
contentType := r.Header.Get("Content-Type")
|
||||||
// TODO: do we assume contentType is lowercase? we did before
|
// TODO: do we assume contentType is lowercase? we did before
|
||||||
contentSubtype, validContentType := contentSubtype(contentType)
|
contentSubtype, validContentType := grpcutil.ContentSubtype(contentType)
|
||||||
if !validContentType {
|
if !validContentType {
|
||||||
return nil, errors.New("invalid gRPC request content-type")
|
return nil, errors.New("invalid gRPC request content-type")
|
||||||
}
|
}
|
||||||
|
|
21
vendor/google.golang.org/grpc/internal/transport/http2_client.go
generated
vendored
21
vendor/google.golang.org/grpc/internal/transport/http2_client.go
generated
vendored
|
@ -32,6 +32,7 @@ import (
|
||||||
|
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"golang.org/x/net/http2/hpack"
|
"golang.org/x/net/http2/hpack"
|
||||||
|
"google.golang.org/grpc/internal/grpcutil"
|
||||||
|
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
|
@ -354,7 +355,9 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
||||||
t.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst)
|
t.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst)
|
||||||
err := t.loopy.run()
|
err := t.loopy.run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errorf("transport: loopyWriter.run returning. Err: %v", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: loopyWriter.run returning. Err: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// If it's a connection error, let reader goroutine handle it
|
// If it's a connection error, let reader goroutine handle it
|
||||||
// since there might be data in the buffers.
|
// since there might be data in the buffers.
|
||||||
|
@ -434,7 +437,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: ":scheme", Value: t.scheme})
|
headerFields = append(headerFields, hpack.HeaderField{Name: ":scheme", Value: t.scheme})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: ":path", Value: callHdr.Method})
|
headerFields = append(headerFields, hpack.HeaderField{Name: ":path", Value: callHdr.Method})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: ":authority", Value: callHdr.Host})
|
headerFields = append(headerFields, hpack.HeaderField{Name: ":authority", Value: callHdr.Host})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(callHdr.ContentSubtype)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: grpcutil.ContentType(callHdr.ContentSubtype)})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "user-agent", Value: t.userAgent})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "user-agent", Value: t.userAgent})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "te", Value: "trailers"})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "te", Value: "trailers"})
|
||||||
if callHdr.PreviousAttempts > 0 {
|
if callHdr.PreviousAttempts > 0 {
|
||||||
|
@ -449,7 +452,7 @@ func (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr)
|
||||||
// Send out timeout regardless its value. The server can detect timeout context by itself.
|
// Send out timeout regardless its value. The server can detect timeout context by itself.
|
||||||
// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.
|
// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.
|
||||||
timeout := time.Until(dl)
|
timeout := time.Until(dl)
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: encodeTimeout(timeout)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-timeout", Value: grpcutil.EncodeDuration(timeout)})
|
||||||
}
|
}
|
||||||
for k, v := range authData {
|
for k, v := range authData {
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
|
||||||
|
@ -1013,7 +1016,9 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
|
||||||
}
|
}
|
||||||
statusCode, ok := http2ErrConvTab[f.ErrCode]
|
statusCode, ok := http2ErrConvTab[f.ErrCode]
|
||||||
if !ok {
|
if !ok {
|
||||||
warningf("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v", f.ErrCode)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v", f.ErrCode)
|
||||||
|
}
|
||||||
statusCode = codes.Unknown
|
statusCode = codes.Unknown
|
||||||
}
|
}
|
||||||
if statusCode == codes.Canceled {
|
if statusCode == codes.Canceled {
|
||||||
|
@ -1095,7 +1100,9 @@ func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if f.ErrCode == http2.ErrCodeEnhanceYourCalm {
|
if f.ErrCode == http2.ErrCodeEnhanceYourCalm {
|
||||||
infof("Client received GoAway with http2.ErrCodeEnhanceYourCalm.")
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("Client received GoAway with http2.ErrCodeEnhanceYourCalm.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
id := f.LastStreamID
|
id := f.LastStreamID
|
||||||
if id > 0 && id%2 != 1 {
|
if id > 0 && id%2 != 1 {
|
||||||
|
@ -1325,7 +1332,9 @@ func (t *http2Client) reader() {
|
||||||
case *http2.WindowUpdateFrame:
|
case *http2.WindowUpdateFrame:
|
||||||
t.handleWindowUpdate(frame)
|
t.handleWindowUpdate(frame)
|
||||||
default:
|
default:
|
||||||
errorf("transport: http2Client.reader got unhandled frame type %v.", frame)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: http2Client.reader got unhandled frame type %v.", frame)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
48
vendor/google.golang.org/grpc/internal/transport/http2_server.go
generated
vendored
48
vendor/google.golang.org/grpc/internal/transport/http2_server.go
generated
vendored
|
@ -34,10 +34,10 @@ import (
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
"golang.org/x/net/http2/hpack"
|
"golang.org/x/net/http2/hpack"
|
||||||
|
"google.golang.org/grpc/internal/grpcutil"
|
||||||
|
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/credentials"
|
"google.golang.org/grpc/credentials"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
"google.golang.org/grpc/internal/channelz"
|
"google.golang.org/grpc/internal/channelz"
|
||||||
"google.golang.org/grpc/internal/grpcrand"
|
"google.golang.org/grpc/internal/grpcrand"
|
||||||
"google.golang.org/grpc/keepalive"
|
"google.golang.org/grpc/keepalive"
|
||||||
|
@ -289,7 +289,9 @@ func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err
|
||||||
t.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst)
|
t.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst)
|
||||||
t.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler
|
t.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler
|
||||||
if err := t.loopy.run(); err != nil {
|
if err := t.loopy.run(); err != nil {
|
||||||
errorf("transport: loopyWriter.run returning. Err: %v", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: loopyWriter.run returning. Err: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
t.conn.Close()
|
t.conn.Close()
|
||||||
close(t.writerDone)
|
close(t.writerDone)
|
||||||
|
@ -360,7 +362,9 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
||||||
}
|
}
|
||||||
s.ctx, err = t.inTapHandle(s.ctx, info)
|
s.ctx, err = t.inTapHandle(s.ctx, info)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warningf("transport: http2Server.operateHeaders got an error from InTapHandle: %v", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: http2Server.operateHeaders got an error from InTapHandle: %v", err)
|
||||||
|
}
|
||||||
t.controlBuf.put(&cleanupStream{
|
t.controlBuf.put(&cleanupStream{
|
||||||
streamID: s.id,
|
streamID: s.id,
|
||||||
rst: true,
|
rst: true,
|
||||||
|
@ -391,7 +395,9 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
||||||
if streamID%2 != 1 || streamID <= t.maxStreamID {
|
if streamID%2 != 1 || streamID <= t.maxStreamID {
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
// illegal gRPC stream id.
|
// illegal gRPC stream id.
|
||||||
errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
|
||||||
|
}
|
||||||
s.cancel()
|
s.cancel()
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -454,7 +460,9 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
|
||||||
atomic.StoreInt64(&t.lastRead, time.Now().UnixNano())
|
atomic.StoreInt64(&t.lastRead, time.Now().UnixNano())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if se, ok := err.(http2.StreamError); ok {
|
if se, ok := err.(http2.StreamError); ok {
|
||||||
warningf("transport: http2Server.HandleStreams encountered http2.StreamError: %v", se)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: http2Server.HandleStreams encountered http2.StreamError: %v", se)
|
||||||
|
}
|
||||||
t.mu.Lock()
|
t.mu.Lock()
|
||||||
s := t.activeStreams[se.StreamID]
|
s := t.activeStreams[se.StreamID]
|
||||||
t.mu.Unlock()
|
t.mu.Unlock()
|
||||||
|
@ -474,7 +482,9 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
|
||||||
t.Close()
|
t.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
warningf("transport: http2Server.HandleStreams failed to read frame: %v", err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Warningf("transport: http2Server.HandleStreams failed to read frame: %v", err)
|
||||||
|
}
|
||||||
t.Close()
|
t.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -497,7 +507,9 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
|
||||||
case *http2.GoAwayFrame:
|
case *http2.GoAwayFrame:
|
||||||
// TODO: Handle GoAway from the client appropriately.
|
// TODO: Handle GoAway from the client appropriately.
|
||||||
default:
|
default:
|
||||||
errorf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -719,7 +731,9 @@ func (t *http2Server) handlePing(f *http2.PingFrame) {
|
||||||
|
|
||||||
if t.pingStrikes > maxPingStrikes {
|
if t.pingStrikes > maxPingStrikes {
|
||||||
// Send goaway and close the connection.
|
// Send goaway and close the connection.
|
||||||
errorf("transport: Got too many pings from the client, closing the connection.")
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("transport: Got too many pings from the client, closing the connection.")
|
||||||
|
}
|
||||||
t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: true})
|
t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: true})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -752,7 +766,9 @@ func (t *http2Server) checkForHeaderListSize(it interface{}) bool {
|
||||||
var sz int64
|
var sz int64
|
||||||
for _, f := range hdrFrame.hf {
|
for _, f := range hdrFrame.hf {
|
||||||
if sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) {
|
if sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) {
|
||||||
errorf("header list size to send violates the maximum size (%d bytes) set by client", *t.maxSendHeaderListSize)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("header list size to send violates the maximum size (%d bytes) set by client", *t.maxSendHeaderListSize)
|
||||||
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -789,7 +805,7 @@ func (t *http2Server) writeHeaderLocked(s *Stream) error {
|
||||||
// first and create a slice of that exact size.
|
// first and create a slice of that exact size.
|
||||||
headerFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else.
|
headerFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else.
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
|
headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(s.contentSubtype)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: grpcutil.ContentType(s.contentSubtype)})
|
||||||
if s.sendCompress != "" {
|
if s.sendCompress != "" {
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress})
|
||||||
}
|
}
|
||||||
|
@ -839,7 +855,7 @@ func (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {
|
||||||
}
|
}
|
||||||
} else { // Send a trailer only response.
|
} else { // Send a trailer only response.
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
|
headerFields = append(headerFields, hpack.HeaderField{Name: ":status", Value: "200"})
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: contentType(s.contentSubtype)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "content-type", Value: grpcutil.ContentType(s.contentSubtype)})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status", Value: strconv.Itoa(int(st.Code()))})
|
||||||
|
@ -849,7 +865,7 @@ func (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {
|
||||||
stBytes, err := proto.Marshal(p)
|
stBytes, err := proto.Marshal(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO: return error instead, when callers are able to handle it.
|
// TODO: return error instead, when callers are able to handle it.
|
||||||
grpclog.Errorf("transport: failed to marshal rpc status: %v, error: %v", p, err)
|
logger.Errorf("transport: failed to marshal rpc status: %v, error: %v", p, err)
|
||||||
} else {
|
} else {
|
||||||
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status-details-bin", Value: encodeBinHeader(stBytes)})
|
headerFields = append(headerFields, hpack.HeaderField{Name: "grpc-status-details-bin", Value: encodeBinHeader(stBytes)})
|
||||||
}
|
}
|
||||||
|
@ -980,7 +996,9 @@ func (t *http2Server) keepalive() {
|
||||||
select {
|
select {
|
||||||
case <-ageTimer.C:
|
case <-ageTimer.C:
|
||||||
// Close the connection after grace period.
|
// Close the connection after grace period.
|
||||||
infof("transport: closing server transport due to maximum connection age.")
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: closing server transport due to maximum connection age.")
|
||||||
|
}
|
||||||
t.Close()
|
t.Close()
|
||||||
case <-t.done:
|
case <-t.done:
|
||||||
}
|
}
|
||||||
|
@ -997,7 +1015,9 @@ func (t *http2Server) keepalive() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if outstandingPing && kpTimeoutLeft <= 0 {
|
if outstandingPing && kpTimeoutLeft <= 0 {
|
||||||
infof("transport: closing server transport due to idleness.")
|
if logger.V(logLevel) {
|
||||||
|
logger.Infof("transport: closing server transport due to idleness.")
|
||||||
|
}
|
||||||
t.Close()
|
t.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
86
vendor/google.golang.org/grpc/internal/transport/http_util.go
generated
vendored
86
vendor/google.golang.org/grpc/internal/transport/http_util.go
generated
vendored
|
@ -37,6 +37,8 @@ import (
|
||||||
"golang.org/x/net/http2/hpack"
|
"golang.org/x/net/http2/hpack"
|
||||||
spb "google.golang.org/genproto/googleapis/rpc/status"
|
spb "google.golang.org/genproto/googleapis/rpc/status"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
|
"google.golang.org/grpc/grpclog"
|
||||||
|
"google.golang.org/grpc/internal/grpcutil"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -50,7 +52,7 @@ const (
|
||||||
// "proto" as a suffix after "+" or ";". See
|
// "proto" as a suffix after "+" or ";". See
|
||||||
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
|
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
|
||||||
// for more details.
|
// for more details.
|
||||||
baseContentType = "application/grpc"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -97,6 +99,7 @@ var (
|
||||||
// 504 Gateway timeout - UNAVAILABLE.
|
// 504 Gateway timeout - UNAVAILABLE.
|
||||||
http.StatusGatewayTimeout: codes.Unavailable,
|
http.StatusGatewayTimeout: codes.Unavailable,
|
||||||
}
|
}
|
||||||
|
logger = grpclog.Component("transport")
|
||||||
)
|
)
|
||||||
|
|
||||||
type parsedHeaderData struct {
|
type parsedHeaderData struct {
|
||||||
|
@ -182,46 +185,6 @@ func isWhitelistedHeader(hdr string) bool {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// contentSubtype returns the content-subtype for the given content-type. The
|
|
||||||
// given content-type must be a valid content-type that starts with
|
|
||||||
// "application/grpc". A content-subtype will follow "application/grpc" after a
|
|
||||||
// "+" or ";". See
|
|
||||||
// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for
|
|
||||||
// more details.
|
|
||||||
//
|
|
||||||
// If contentType is not a valid content-type for gRPC, the boolean
|
|
||||||
// will be false, otherwise true. If content-type == "application/grpc",
|
|
||||||
// "application/grpc+", or "application/grpc;", the boolean will be true,
|
|
||||||
// but no content-subtype will be returned.
|
|
||||||
//
|
|
||||||
// contentType is assumed to be lowercase already.
|
|
||||||
func contentSubtype(contentType string) (string, bool) {
|
|
||||||
if contentType == baseContentType {
|
|
||||||
return "", true
|
|
||||||
}
|
|
||||||
if !strings.HasPrefix(contentType, baseContentType) {
|
|
||||||
return "", false
|
|
||||||
}
|
|
||||||
// guaranteed since != baseContentType and has baseContentType prefix
|
|
||||||
switch contentType[len(baseContentType)] {
|
|
||||||
case '+', ';':
|
|
||||||
// this will return true for "application/grpc+" or "application/grpc;"
|
|
||||||
// which the previous validContentType function tested to be valid, so we
|
|
||||||
// just say that no content-subtype is specified in this case
|
|
||||||
return contentType[len(baseContentType)+1:], true
|
|
||||||
default:
|
|
||||||
return "", false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// contentSubtype is assumed to be lowercase
|
|
||||||
func contentType(contentSubtype string) string {
|
|
||||||
if contentSubtype == "" {
|
|
||||||
return baseContentType
|
|
||||||
}
|
|
||||||
return baseContentType + "+" + contentSubtype
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *decodeState) status() *status.Status {
|
func (d *decodeState) status() *status.Status {
|
||||||
if d.data.statusGen == nil {
|
if d.data.statusGen == nil {
|
||||||
// No status-details were provided; generate status using code/msg.
|
// No status-details were provided; generate status using code/msg.
|
||||||
|
@ -340,7 +303,7 @@ func (d *decodeState) addMetadata(k, v string) {
|
||||||
func (d *decodeState) processHeaderField(f hpack.HeaderField) {
|
func (d *decodeState) processHeaderField(f hpack.HeaderField) {
|
||||||
switch f.Name {
|
switch f.Name {
|
||||||
case "content-type":
|
case "content-type":
|
||||||
contentSubtype, validContentType := contentSubtype(f.Value)
|
contentSubtype, validContentType := grpcutil.ContentSubtype(f.Value)
|
||||||
if !validContentType {
|
if !validContentType {
|
||||||
d.data.contentTypeErr = fmt.Sprintf("transport: received the unexpected content-type %q", f.Value)
|
d.data.contentTypeErr = fmt.Sprintf("transport: received the unexpected content-type %q", f.Value)
|
||||||
return
|
return
|
||||||
|
@ -412,7 +375,9 @@ func (d *decodeState) processHeaderField(f hpack.HeaderField) {
|
||||||
}
|
}
|
||||||
v, err := decodeMetadataHeader(f.Name, f.Value)
|
v, err := decodeMetadataHeader(f.Name, f.Value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errorf("Failed to decode metadata header (%q, %q): %v", f.Name, f.Value, err)
|
if logger.V(logLevel) {
|
||||||
|
logger.Errorf("Failed to decode metadata header (%q, %q): %v", f.Name, f.Value, err)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
d.addMetadata(f.Name, v)
|
d.addMetadata(f.Name, v)
|
||||||
|
@ -449,41 +414,6 @@ func timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const maxTimeoutValue int64 = 100000000 - 1
|
|
||||||
|
|
||||||
// div does integer division and round-up the result. Note that this is
|
|
||||||
// equivalent to (d+r-1)/r but has less chance to overflow.
|
|
||||||
func div(d, r time.Duration) int64 {
|
|
||||||
if m := d % r; m > 0 {
|
|
||||||
return int64(d/r + 1)
|
|
||||||
}
|
|
||||||
return int64(d / r)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(zhaoq): It is the simplistic and not bandwidth efficient. Improve it.
|
|
||||||
func encodeTimeout(t time.Duration) string {
|
|
||||||
if t <= 0 {
|
|
||||||
return "0n"
|
|
||||||
}
|
|
||||||
if d := div(t, time.Nanosecond); d <= maxTimeoutValue {
|
|
||||||
return strconv.FormatInt(d, 10) + "n"
|
|
||||||
}
|
|
||||||
if d := div(t, time.Microsecond); d <= maxTimeoutValue {
|
|
||||||
return strconv.FormatInt(d, 10) + "u"
|
|
||||||
}
|
|
||||||
if d := div(t, time.Millisecond); d <= maxTimeoutValue {
|
|
||||||
return strconv.FormatInt(d, 10) + "m"
|
|
||||||
}
|
|
||||||
if d := div(t, time.Second); d <= maxTimeoutValue {
|
|
||||||
return strconv.FormatInt(d, 10) + "S"
|
|
||||||
}
|
|
||||||
if d := div(t, time.Minute); d <= maxTimeoutValue {
|
|
||||||
return strconv.FormatInt(d, 10) + "M"
|
|
||||||
}
|
|
||||||
// Note that maxTimeoutValue * time.Hour > MaxInt64.
|
|
||||||
return strconv.FormatInt(div(t, time.Hour), 10) + "H"
|
|
||||||
}
|
|
||||||
|
|
||||||
func decodeTimeout(s string) (time.Duration, error) {
|
func decodeTimeout(s string) (time.Duration, error) {
|
||||||
size := len(s)
|
size := len(s)
|
||||||
if size < 2 {
|
if size < 2 {
|
||||||
|
|
2
vendor/google.golang.org/grpc/internal/transport/transport.go
generated
vendored
2
vendor/google.golang.org/grpc/internal/transport/transport.go
generated
vendored
|
@ -41,6 +41,8 @@ import (
|
||||||
"google.golang.org/grpc/tap"
|
"google.golang.org/grpc/tap"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const logLevel = 2
|
||||||
|
|
||||||
type bufferPool struct {
|
type bufferPool struct {
|
||||||
pool sync.Pool
|
pool sync.Pool
|
||||||
}
|
}
|
||||||
|
|
5
vendor/google.golang.org/grpc/picker_wrapper.go
generated
vendored
5
vendor/google.golang.org/grpc/picker_wrapper.go
generated
vendored
|
@ -25,7 +25,6 @@ import (
|
||||||
|
|
||||||
"google.golang.org/grpc/balancer"
|
"google.golang.org/grpc/balancer"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
"google.golang.org/grpc/internal/channelz"
|
"google.golang.org/grpc/internal/channelz"
|
||||||
"google.golang.org/grpc/internal/transport"
|
"google.golang.org/grpc/internal/transport"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
|
@ -145,7 +144,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
|
||||||
|
|
||||||
acw, ok := pickResult.SubConn.(*acBalancerWrapper)
|
acw, ok := pickResult.SubConn.(*acBalancerWrapper)
|
||||||
if !ok {
|
if !ok {
|
||||||
grpclog.Error("subconn returned from pick is not *acBalancerWrapper")
|
logger.Error("subconn returned from pick is not *acBalancerWrapper")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if t, ok := acw.getAddrConn().getReadyTransport(); ok {
|
if t, ok := acw.getAddrConn().getReadyTransport(); ok {
|
||||||
|
@ -159,7 +158,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
|
||||||
// DoneInfo with default value works.
|
// DoneInfo with default value works.
|
||||||
pickResult.Done(balancer.DoneInfo{})
|
pickResult.Done(balancer.DoneInfo{})
|
||||||
}
|
}
|
||||||
grpclog.Infof("blockingPicker: the picked transport is not ready, loop back to repick")
|
logger.Infof("blockingPicker: the picked transport is not ready, loop back to repick")
|
||||||
// If ok == false, ac.state is not READY.
|
// If ok == false, ac.state is not READY.
|
||||||
// A valid picker always returns READY subConn. This means the state of ac
|
// A valid picker always returns READY subConn. This means the state of ac
|
||||||
// just changed, and picker will be updated shortly.
|
// just changed, and picker will be updated shortly.
|
||||||
|
|
17
vendor/google.golang.org/grpc/pickfirst.go
generated
vendored
17
vendor/google.golang.org/grpc/pickfirst.go
generated
vendored
|
@ -24,7 +24,6 @@ import (
|
||||||
|
|
||||||
"google.golang.org/grpc/balancer"
|
"google.golang.org/grpc/balancer"
|
||||||
"google.golang.org/grpc/connectivity"
|
"google.golang.org/grpc/connectivity"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// PickFirstBalancerName is the name of the pick_first balancer.
|
// PickFirstBalancerName is the name of the pick_first balancer.
|
||||||
|
@ -58,8 +57,8 @@ func (b *pickfirstBalancer) ResolverError(err error) {
|
||||||
Picker: &picker{err: fmt.Errorf("name resolver error: %v", err)},
|
Picker: &picker{err: fmt.Errorf("name resolver error: %v", err)},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infof("pickfirstBalancer: ResolverError called with error %v", err)
|
logger.Infof("pickfirstBalancer: ResolverError called with error %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,8 +71,8 @@ func (b *pickfirstBalancer) UpdateClientConnState(cs balancer.ClientConnState) e
|
||||||
var err error
|
var err error
|
||||||
b.sc, err = b.cc.NewSubConn(cs.ResolverState.Addresses, balancer.NewSubConnOptions{})
|
b.sc, err = b.cc.NewSubConn(cs.ResolverState.Addresses, balancer.NewSubConnOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Errorf("pickfirstBalancer: failed to NewSubConn: %v", err)
|
logger.Errorf("pickfirstBalancer: failed to NewSubConn: %v", err)
|
||||||
}
|
}
|
||||||
b.state = connectivity.TransientFailure
|
b.state = connectivity.TransientFailure
|
||||||
b.cc.UpdateState(balancer.State{ConnectivityState: connectivity.TransientFailure,
|
b.cc.UpdateState(balancer.State{ConnectivityState: connectivity.TransientFailure,
|
||||||
|
@ -92,12 +91,12 @@ func (b *pickfirstBalancer) UpdateClientConnState(cs balancer.ClientConnState) e
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *pickfirstBalancer) UpdateSubConnState(sc balancer.SubConn, s balancer.SubConnState) {
|
func (b *pickfirstBalancer) UpdateSubConnState(sc balancer.SubConn, s balancer.SubConnState) {
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infof("pickfirstBalancer: UpdateSubConnState: %p, %v", sc, s)
|
logger.Infof("pickfirstBalancer: UpdateSubConnState: %p, %v", sc, s)
|
||||||
}
|
}
|
||||||
if b.sc != sc {
|
if b.sc != sc {
|
||||||
if grpclog.V(2) {
|
if logger.V(2) {
|
||||||
grpclog.Infof("pickfirstBalancer: ignored state change because sc is not recognized")
|
logger.Infof("pickfirstBalancer: ignored state change because sc is not recognized")
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
14
vendor/google.golang.org/grpc/resolver_conn_wrapper.go
generated
vendored
14
vendor/google.golang.org/grpc/resolver_conn_wrapper.go
generated
vendored
|
@ -140,7 +140,7 @@ func (ccr *ccResolverWrapper) UpdateState(s resolver.State) {
|
||||||
if ccr.done.HasFired() {
|
if ccr.done.HasFired() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
channelz.Infof(ccr.cc.channelzID, "ccResolverWrapper: sending update to cc: %v", s)
|
channelz.Infof(logger, ccr.cc.channelzID, "ccResolverWrapper: sending update to cc: %v", s)
|
||||||
if channelz.IsOn() {
|
if channelz.IsOn() {
|
||||||
ccr.addChannelzTraceEvent(s)
|
ccr.addChannelzTraceEvent(s)
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ func (ccr *ccResolverWrapper) ReportError(err error) {
|
||||||
if ccr.done.HasFired() {
|
if ccr.done.HasFired() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
channelz.Warningf(ccr.cc.channelzID, "ccResolverWrapper: reporting error to cc: %v", err)
|
channelz.Warningf(logger, ccr.cc.channelzID, "ccResolverWrapper: reporting error to cc: %v", err)
|
||||||
ccr.poll(ccr.cc.updateResolverState(resolver.State{}, err))
|
ccr.poll(ccr.cc.updateResolverState(resolver.State{}, err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ func (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {
|
||||||
if ccr.done.HasFired() {
|
if ccr.done.HasFired() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
channelz.Infof(ccr.cc.channelzID, "ccResolverWrapper: sending new addresses to cc: %v", addrs)
|
channelz.Infof(logger, ccr.cc.channelzID, "ccResolverWrapper: sending new addresses to cc: %v", addrs)
|
||||||
if channelz.IsOn() {
|
if channelz.IsOn() {
|
||||||
ccr.addChannelzTraceEvent(resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig})
|
ccr.addChannelzTraceEvent(resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig})
|
||||||
}
|
}
|
||||||
|
@ -175,14 +175,14 @@ func (ccr *ccResolverWrapper) NewServiceConfig(sc string) {
|
||||||
if ccr.done.HasFired() {
|
if ccr.done.HasFired() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
channelz.Infof(ccr.cc.channelzID, "ccResolverWrapper: got new service config: %v", sc)
|
channelz.Infof(logger, ccr.cc.channelzID, "ccResolverWrapper: got new service config: %v", sc)
|
||||||
if ccr.cc.dopts.disableServiceConfig {
|
if ccr.cc.dopts.disableServiceConfig {
|
||||||
channelz.Info(ccr.cc.channelzID, "Service config lookups disabled; ignoring config")
|
channelz.Info(logger, ccr.cc.channelzID, "Service config lookups disabled; ignoring config")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
scpr := parseServiceConfig(sc)
|
scpr := parseServiceConfig(sc)
|
||||||
if scpr.Err != nil {
|
if scpr.Err != nil {
|
||||||
channelz.Warningf(ccr.cc.channelzID, "ccResolverWrapper: error parsing service config: %v", scpr.Err)
|
channelz.Warningf(logger, ccr.cc.channelzID, "ccResolverWrapper: error parsing service config: %v", scpr.Err)
|
||||||
ccr.poll(balancer.ErrBadResolverState)
|
ccr.poll(balancer.ErrBadResolverState)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -215,7 +215,7 @@ func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) {
|
||||||
} else if len(ccr.curState.Addresses) == 0 && len(s.Addresses) > 0 {
|
} else if len(ccr.curState.Addresses) == 0 && len(s.Addresses) > 0 {
|
||||||
updates = append(updates, "resolver returned new addresses")
|
updates = append(updates, "resolver returned new addresses")
|
||||||
}
|
}
|
||||||
channelz.AddTraceEvent(ccr.cc.channelzID, 0, &channelz.TraceEventDesc{
|
channelz.AddTraceEvent(logger, ccr.cc.channelzID, 0, &channelz.TraceEventDesc{
|
||||||
Desc: fmt.Sprintf("Resolver state updated: %+v (%v)", s, strings.Join(updates, "; ")),
|
Desc: fmt.Sprintf("Resolver state updated: %+v (%v)", s, strings.Join(updates, "; ")),
|
||||||
Severity: channelz.CtINFO,
|
Severity: channelz.CtINFO,
|
||||||
})
|
})
|
||||||
|
|
41
vendor/google.golang.org/grpc/server.go
generated
vendored
41
vendor/google.golang.org/grpc/server.go
generated
vendored
|
@ -59,6 +59,7 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
var statusOK = status.New(codes.OK, "")
|
var statusOK = status.New(codes.OK, "")
|
||||||
|
var logger = grpclog.Component("core")
|
||||||
|
|
||||||
type methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error)
|
type methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error)
|
||||||
|
|
||||||
|
@ -223,7 +224,7 @@ func InitialConnWindowSize(s int32) ServerOption {
|
||||||
// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server.
|
// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server.
|
||||||
func KeepaliveParams(kp keepalive.ServerParameters) ServerOption {
|
func KeepaliveParams(kp keepalive.ServerParameters) ServerOption {
|
||||||
if kp.Time > 0 && kp.Time < time.Second {
|
if kp.Time > 0 && kp.Time < time.Second {
|
||||||
grpclog.Warning("Adjusting keepalive ping interval to minimum period of 1s")
|
logger.Warning("Adjusting keepalive ping interval to minimum period of 1s")
|
||||||
kp.Time = time.Second
|
kp.Time = time.Second
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,6 +243,12 @@ func KeepaliveEnforcementPolicy(kep keepalive.EnforcementPolicy) ServerOption {
|
||||||
// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling.
|
// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling.
|
||||||
//
|
//
|
||||||
// This will override any lookups by content-subtype for Codecs registered with RegisterCodec.
|
// This will override any lookups by content-subtype for Codecs registered with RegisterCodec.
|
||||||
|
//
|
||||||
|
// Deprecated: register codecs using encoding.RegisterCodec. The server will
|
||||||
|
// automatically use registered codecs based on the incoming requests' headers.
|
||||||
|
// See also
|
||||||
|
// https://github.com/grpc/grpc-go/blob/master/Documentation/encoding.md#using-a-codec.
|
||||||
|
// Will be supported throughout 1.x.
|
||||||
func CustomCodec(codec Codec) ServerOption {
|
func CustomCodec(codec Codec) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.codec = codec
|
o.codec = codec
|
||||||
|
@ -254,7 +261,8 @@ func CustomCodec(codec Codec) ServerOption {
|
||||||
// default, server messages will be sent using the same compressor with which
|
// default, server messages will be sent using the same compressor with which
|
||||||
// request messages were sent.
|
// request messages were sent.
|
||||||
//
|
//
|
||||||
// Deprecated: use encoding.RegisterCompressor instead.
|
// Deprecated: use encoding.RegisterCompressor instead. Will be supported
|
||||||
|
// throughout 1.x.
|
||||||
func RPCCompressor(cp Compressor) ServerOption {
|
func RPCCompressor(cp Compressor) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.cp = cp
|
o.cp = cp
|
||||||
|
@ -265,7 +273,8 @@ func RPCCompressor(cp Compressor) ServerOption {
|
||||||
// messages. It has higher priority than decompressors registered via
|
// messages. It has higher priority than decompressors registered via
|
||||||
// encoding.RegisterCompressor.
|
// encoding.RegisterCompressor.
|
||||||
//
|
//
|
||||||
// Deprecated: use encoding.RegisterCompressor instead.
|
// Deprecated: use encoding.RegisterCompressor instead. Will be supported
|
||||||
|
// throughout 1.x.
|
||||||
func RPCDecompressor(dc Decompressor) ServerOption {
|
func RPCDecompressor(dc Decompressor) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.dc = dc
|
o.dc = dc
|
||||||
|
@ -275,7 +284,7 @@ func RPCDecompressor(dc Decompressor) ServerOption {
|
||||||
// MaxMsgSize returns a ServerOption to set the max message size in bytes the server can receive.
|
// MaxMsgSize returns a ServerOption to set the max message size in bytes the server can receive.
|
||||||
// If this is not set, gRPC uses the default limit.
|
// If this is not set, gRPC uses the default limit.
|
||||||
//
|
//
|
||||||
// Deprecated: use MaxRecvMsgSize instead.
|
// Deprecated: use MaxRecvMsgSize instead. Will be supported throughout 1.x.
|
||||||
func MaxMsgSize(m int) ServerOption {
|
func MaxMsgSize(m int) ServerOption {
|
||||||
return MaxRecvMsgSize(m)
|
return MaxRecvMsgSize(m)
|
||||||
}
|
}
|
||||||
|
@ -537,7 +546,7 @@ func (s *Server) RegisterService(sd *ServiceDesc, ss interface{}) {
|
||||||
ht := reflect.TypeOf(sd.HandlerType).Elem()
|
ht := reflect.TypeOf(sd.HandlerType).Elem()
|
||||||
st := reflect.TypeOf(ss)
|
st := reflect.TypeOf(ss)
|
||||||
if !st.Implements(ht) {
|
if !st.Implements(ht) {
|
||||||
grpclog.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht)
|
logger.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht)
|
||||||
}
|
}
|
||||||
s.register(sd, ss)
|
s.register(sd, ss)
|
||||||
}
|
}
|
||||||
|
@ -547,10 +556,10 @@ func (s *Server) register(sd *ServiceDesc, ss interface{}) {
|
||||||
defer s.mu.Unlock()
|
defer s.mu.Unlock()
|
||||||
s.printf("RegisterService(%q)", sd.ServiceName)
|
s.printf("RegisterService(%q)", sd.ServiceName)
|
||||||
if s.serve {
|
if s.serve {
|
||||||
grpclog.Fatalf("grpc: Server.RegisterService after Server.Serve for %q", sd.ServiceName)
|
logger.Fatalf("grpc: Server.RegisterService after Server.Serve for %q", sd.ServiceName)
|
||||||
}
|
}
|
||||||
if _, ok := s.m[sd.ServiceName]; ok {
|
if _, ok := s.m[sd.ServiceName]; ok {
|
||||||
grpclog.Fatalf("grpc: Server.RegisterService found duplicate service registration for %q", sd.ServiceName)
|
logger.Fatalf("grpc: Server.RegisterService found duplicate service registration for %q", sd.ServiceName)
|
||||||
}
|
}
|
||||||
srv := &service{
|
srv := &service{
|
||||||
server: ss,
|
server: ss,
|
||||||
|
@ -756,7 +765,7 @@ func (s *Server) handleRawConn(rawConn net.Conn) {
|
||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
s.errorf("ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err)
|
s.errorf("ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err)
|
||||||
s.mu.Unlock()
|
s.mu.Unlock()
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err)
|
||||||
rawConn.Close()
|
rawConn.Close()
|
||||||
}
|
}
|
||||||
rawConn.SetDeadline(time.Time{})
|
rawConn.SetDeadline(time.Time{})
|
||||||
|
@ -803,7 +812,7 @@ func (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) tr
|
||||||
s.errorf("NewServerTransport(%q) failed: %v", c.RemoteAddr(), err)
|
s.errorf("NewServerTransport(%q) failed: %v", c.RemoteAddr(), err)
|
||||||
s.mu.Unlock()
|
s.mu.Unlock()
|
||||||
c.Close()
|
c.Close()
|
||||||
channelz.Warning(s.channelzID, "grpc: Server.Serve failed to create ServerTransport: ", err)
|
channelz.Warning(logger, s.channelzID, "grpc: Server.Serve failed to create ServerTransport: ", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -957,12 +966,12 @@ func (s *Server) incrCallsFailed() {
|
||||||
func (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Stream, msg interface{}, cp Compressor, opts *transport.Options, comp encoding.Compressor) error {
|
func (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Stream, msg interface{}, cp Compressor, opts *transport.Options, comp encoding.Compressor) error {
|
||||||
data, err := encode(s.getCodec(stream.ContentSubtype()), msg)
|
data, err := encode(s.getCodec(stream.ContentSubtype()), msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
channelz.Error(s.channelzID, "grpc: server failed to encode response: ", err)
|
channelz.Error(logger, s.channelzID, "grpc: server failed to encode response: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
compData, err := compress(data, cp, comp)
|
compData, err := compress(data, cp, comp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
channelz.Error(s.channelzID, "grpc: server failed to compress response: ", err)
|
channelz.Error(logger, s.channelzID, "grpc: server failed to compress response: ", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
hdr, payload := msgHeader(data, compData)
|
hdr, payload := msgHeader(data, compData)
|
||||||
|
@ -1136,7 +1145,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if st, ok := status.FromError(err); ok {
|
if st, ok := status.FromError(err); ok {
|
||||||
if e := t.WriteStatus(stream, st); e != nil {
|
if e := t.WriteStatus(stream, st); e != nil {
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.processUnaryRPC failed to write status %v", e)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.processUnaryRPC failed to write status %v", e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
@ -1181,7 +1190,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
||||||
trInfo.tr.SetError()
|
trInfo.tr.SetError()
|
||||||
}
|
}
|
||||||
if e := t.WriteStatus(stream, appStatus); e != nil {
|
if e := t.WriteStatus(stream, appStatus); e != nil {
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.processUnaryRPC failed to write status: %v", e)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.processUnaryRPC failed to write status: %v", e)
|
||||||
}
|
}
|
||||||
if binlog != nil {
|
if binlog != nil {
|
||||||
if h, _ := stream.Header(); h.Len() > 0 {
|
if h, _ := stream.Header(); h.Len() > 0 {
|
||||||
|
@ -1210,7 +1219,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
||||||
}
|
}
|
||||||
if sts, ok := status.FromError(err); ok {
|
if sts, ok := status.FromError(err); ok {
|
||||||
if e := t.WriteStatus(stream, sts); e != nil {
|
if e := t.WriteStatus(stream, sts); e != nil {
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.processUnaryRPC failed to write status: %v", e)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.processUnaryRPC failed to write status: %v", e)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
switch st := err.(type) {
|
switch st := err.(type) {
|
||||||
|
@ -1478,7 +1487,7 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str
|
||||||
trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true)
|
trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true)
|
||||||
trInfo.tr.SetError()
|
trInfo.tr.SetError()
|
||||||
}
|
}
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.handleStream failed to write status: %v", err)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.handleStream failed to write status: %v", err)
|
||||||
}
|
}
|
||||||
if trInfo != nil {
|
if trInfo != nil {
|
||||||
trInfo.tr.Finish()
|
trInfo.tr.Finish()
|
||||||
|
@ -1519,7 +1528,7 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str
|
||||||
trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true)
|
trInfo.tr.LazyLog(&fmtStringer{"%v", []interface{}{err}}, true)
|
||||||
trInfo.tr.SetError()
|
trInfo.tr.SetError()
|
||||||
}
|
}
|
||||||
channelz.Warningf(s.channelzID, "grpc: Server.handleStream failed to write status: %v", err)
|
channelz.Warningf(logger, s.channelzID, "grpc: Server.handleStream failed to write status: %v", err)
|
||||||
}
|
}
|
||||||
if trInfo != nil {
|
if trInfo != nil {
|
||||||
trInfo.tr.Finish()
|
trInfo.tr.Finish()
|
||||||
|
|
54
vendor/google.golang.org/grpc/service_config.go
generated
vendored
54
vendor/google.golang.org/grpc/service_config.go
generated
vendored
|
@ -20,6 +20,7 @@ package grpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
@ -27,7 +28,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/grpclog"
|
|
||||||
"google.golang.org/grpc/internal"
|
"google.golang.org/grpc/internal"
|
||||||
internalserviceconfig "google.golang.org/grpc/internal/serviceconfig"
|
internalserviceconfig "google.golang.org/grpc/internal/serviceconfig"
|
||||||
"google.golang.org/grpc/serviceconfig"
|
"google.golang.org/grpc/serviceconfig"
|
||||||
|
@ -225,19 +225,27 @@ func parseDuration(s *string) (*time.Duration, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type jsonName struct {
|
type jsonName struct {
|
||||||
Service *string
|
Service string
|
||||||
Method *string
|
Method string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j jsonName) generatePath() (string, bool) {
|
var (
|
||||||
if j.Service == nil {
|
errDuplicatedName = errors.New("duplicated name")
|
||||||
return "", false
|
errEmptyServiceNonEmptyMethod = errors.New("cannot combine empty 'service' and non-empty 'method'")
|
||||||
|
)
|
||||||
|
|
||||||
|
func (j jsonName) generatePath() (string, error) {
|
||||||
|
if j.Service == "" {
|
||||||
|
if j.Method != "" {
|
||||||
|
return "", errEmptyServiceNonEmptyMethod
|
||||||
|
}
|
||||||
|
return "", nil
|
||||||
}
|
}
|
||||||
res := "/" + *j.Service + "/"
|
res := "/" + j.Service + "/"
|
||||||
if j.Method != nil {
|
if j.Method != "" {
|
||||||
res += *j.Method
|
res += j.Method
|
||||||
}
|
}
|
||||||
return res, true
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(lyuxuan): delete this struct after cleaning up old service config implementation.
|
// TODO(lyuxuan): delete this struct after cleaning up old service config implementation.
|
||||||
|
@ -269,7 +277,7 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
|
||||||
var rsc jsonSC
|
var rsc jsonSC
|
||||||
err := json.Unmarshal([]byte(js), &rsc)
|
err := json.Unmarshal([]byte(js), &rsc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
logger.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
||||||
return &serviceconfig.ParseResult{Err: err}
|
return &serviceconfig.ParseResult{Err: err}
|
||||||
}
|
}
|
||||||
sc := ServiceConfig{
|
sc := ServiceConfig{
|
||||||
|
@ -289,13 +297,15 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
|
||||||
if rsc.MethodConfig == nil {
|
if rsc.MethodConfig == nil {
|
||||||
return &serviceconfig.ParseResult{Config: &sc}
|
return &serviceconfig.ParseResult{Config: &sc}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
paths := map[string]struct{}{}
|
||||||
for _, m := range *rsc.MethodConfig {
|
for _, m := range *rsc.MethodConfig {
|
||||||
if m.Name == nil {
|
if m.Name == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
d, err := parseDuration(m.Timeout)
|
d, err := parseDuration(m.Timeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
logger.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
||||||
return &serviceconfig.ParseResult{Err: err}
|
return &serviceconfig.ParseResult{Err: err}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -304,7 +314,7 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
|
||||||
Timeout: d,
|
Timeout: d,
|
||||||
}
|
}
|
||||||
if mc.retryPolicy, err = convertRetryPolicy(m.RetryPolicy); err != nil {
|
if mc.retryPolicy, err = convertRetryPolicy(m.RetryPolicy); err != nil {
|
||||||
grpclog.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
logger.Warningf("grpc: parseServiceConfig error unmarshaling %s due to %v", js, err)
|
||||||
return &serviceconfig.ParseResult{Err: err}
|
return &serviceconfig.ParseResult{Err: err}
|
||||||
}
|
}
|
||||||
if m.MaxRequestMessageBytes != nil {
|
if m.MaxRequestMessageBytes != nil {
|
||||||
|
@ -321,10 +331,20 @@ func parseServiceConfig(js string) *serviceconfig.ParseResult {
|
||||||
mc.MaxRespSize = newInt(int(*m.MaxResponseMessageBytes))
|
mc.MaxRespSize = newInt(int(*m.MaxResponseMessageBytes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, n := range *m.Name {
|
for i, n := range *m.Name {
|
||||||
if path, valid := n.generatePath(); valid {
|
path, err := n.generatePath()
|
||||||
sc.Methods[path] = mc
|
if err != nil {
|
||||||
|
logger.Warningf("grpc: parseServiceConfig error unmarshaling %s due to methodConfig[%d]: %v", js, i, err)
|
||||||
|
return &serviceconfig.ParseResult{Err: err}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _, ok := paths[path]; ok {
|
||||||
|
err = errDuplicatedName
|
||||||
|
logger.Warningf("grpc: parseServiceConfig error unmarshaling %s due to methodConfig[%d]: %v", js, i, err)
|
||||||
|
return &serviceconfig.ParseResult{Err: err}
|
||||||
|
}
|
||||||
|
paths[path] = struct{}{}
|
||||||
|
sc.Methods[path] = mc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -357,7 +377,7 @@ func convertRetryPolicy(jrp *jsonRetryPolicy) (p *retryPolicy, err error) {
|
||||||
*mb <= 0 ||
|
*mb <= 0 ||
|
||||||
jrp.BackoffMultiplier <= 0 ||
|
jrp.BackoffMultiplier <= 0 ||
|
||||||
len(jrp.RetryableStatusCodes) == 0 {
|
len(jrp.RetryableStatusCodes) == 0 {
|
||||||
grpclog.Warningf("grpc: ignoring retry policy %v due to illegal configuration", jrp)
|
logger.Warningf("grpc: ignoring retry policy %v due to illegal configuration", jrp)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
16
vendor/google.golang.org/grpc/stream.go
generated
vendored
16
vendor/google.golang.org/grpc/stream.go
generated
vendored
|
@ -35,6 +35,7 @@ import (
|
||||||
"google.golang.org/grpc/internal/binarylog"
|
"google.golang.org/grpc/internal/binarylog"
|
||||||
"google.golang.org/grpc/internal/channelz"
|
"google.golang.org/grpc/internal/channelz"
|
||||||
"google.golang.org/grpc/internal/grpcrand"
|
"google.golang.org/grpc/internal/grpcrand"
|
||||||
|
"google.golang.org/grpc/internal/grpcutil"
|
||||||
"google.golang.org/grpc/internal/transport"
|
"google.golang.org/grpc/internal/transport"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
"google.golang.org/grpc/peer"
|
"google.golang.org/grpc/peer"
|
||||||
|
@ -346,7 +347,16 @@ func (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo *traceInfo) (r
|
||||||
if err := cs.ctx.Err(); err != nil {
|
if err := cs.ctx.Err(); err != nil {
|
||||||
return toRPCErr(err)
|
return toRPCErr(err)
|
||||||
}
|
}
|
||||||
t, done, err := cs.cc.getTransport(cs.ctx, cs.callInfo.failFast, cs.callHdr.Method)
|
|
||||||
|
ctx := cs.ctx
|
||||||
|
if cs.cc.parsedTarget.Scheme == "xds" {
|
||||||
|
// Add extra metadata (metadata that will be added by transport) to context
|
||||||
|
// so the balancer can see them.
|
||||||
|
ctx = grpcutil.WithExtraMetadata(cs.ctx, metadata.Pairs(
|
||||||
|
"content-type", grpcutil.ContentType(cs.callHdr.ContentSubtype),
|
||||||
|
))
|
||||||
|
}
|
||||||
|
t, done, err := cs.cc.getTransport(ctx, cs.callInfo.failFast, cs.callHdr.Method)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -510,13 +520,13 @@ func (cs *clientStream) shouldRetry(err error) error {
|
||||||
if len(sps) == 1 {
|
if len(sps) == 1 {
|
||||||
var e error
|
var e error
|
||||||
if pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 {
|
if pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 {
|
||||||
channelz.Infof(cs.cc.channelzID, "Server retry pushback specified to abort (%q).", sps[0])
|
channelz.Infof(logger, cs.cc.channelzID, "Server retry pushback specified to abort (%q).", sps[0])
|
||||||
cs.retryThrottler.throttle() // This counts as a failure for throttling.
|
cs.retryThrottler.throttle() // This counts as a failure for throttling.
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
hasPushback = true
|
hasPushback = true
|
||||||
} else if len(sps) > 1 {
|
} else if len(sps) > 1 {
|
||||||
channelz.Warningf(cs.cc.channelzID, "Server retry pushback specified multiple values (%q); not retrying.", sps)
|
channelz.Warningf(logger, cs.cc.channelzID, "Server retry pushback specified multiple values (%q); not retrying.", sps)
|
||||||
cs.retryThrottler.throttle() // This counts as a failure for throttling.
|
cs.retryThrottler.throttle() // This counts as a failure for throttling.
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
2
vendor/google.golang.org/grpc/version.go
generated
vendored
2
vendor/google.golang.org/grpc/version.go
generated
vendored
|
@ -19,4 +19,4 @@
|
||||||
package grpc
|
package grpc
|
||||||
|
|
||||||
// Version is the current grpc version.
|
// Version is the current grpc version.
|
||||||
const Version = "1.30.0"
|
const Version = "1.31.0"
|
||||||
|
|
7
vendor/google.golang.org/grpc/vet.sh
generated
vendored
7
vendor/google.golang.org/grpc/vet.sh
generated
vendored
|
@ -108,10 +108,10 @@ if [[ -z "${VET_SKIP_PROTO}" ]]; then
|
||||||
(git status; git --no-pager diff; exit 1)
|
(git status; git --no-pager diff; exit 1)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# - Check that our module is tidy.
|
# - Check that our modules are tidy.
|
||||||
if go help mod >& /dev/null; then
|
if go help mod >& /dev/null; then
|
||||||
go mod tidy && \
|
find . -name 'go.mod' | xargs -IXXX bash -c 'cd $(dirname XXX); go mod tidy'
|
||||||
git status --porcelain 2>&1 | fail_on_output || \
|
git status --porcelain 2>&1 | fail_on_output || \
|
||||||
(git status; git --no-pager diff; exit 1)
|
(git status; git --no-pager diff; exit 1)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -135,6 +135,7 @@ balancer.Picker
|
||||||
grpc.CallCustomCodec
|
grpc.CallCustomCodec
|
||||||
grpc.Code
|
grpc.Code
|
||||||
grpc.Compressor
|
grpc.Compressor
|
||||||
|
grpc.CustomCodec
|
||||||
grpc.Decompressor
|
grpc.Decompressor
|
||||||
grpc.MaxMsgSize
|
grpc.MaxMsgSize
|
||||||
grpc.MethodConfig
|
grpc.MethodConfig
|
||||||
|
|
17
vendor/modules.txt
vendored
17
vendor/modules.txt
vendored
|
@ -1,4 +1,4 @@
|
||||||
# cloud.google.com/go v0.61.0
|
# cloud.google.com/go v0.62.0
|
||||||
cloud.google.com/go
|
cloud.google.com/go
|
||||||
cloud.google.com/go/compute/metadata
|
cloud.google.com/go/compute/metadata
|
||||||
cloud.google.com/go/iam
|
cloud.google.com/go/iam
|
||||||
|
@ -19,7 +19,7 @@ github.com/VictoriaMetrics/metrics
|
||||||
# github.com/VictoriaMetrics/metricsql v0.2.10
|
# github.com/VictoriaMetrics/metricsql v0.2.10
|
||||||
github.com/VictoriaMetrics/metricsql
|
github.com/VictoriaMetrics/metricsql
|
||||||
github.com/VictoriaMetrics/metricsql/binaryop
|
github.com/VictoriaMetrics/metricsql/binaryop
|
||||||
# github.com/aws/aws-sdk-go v1.33.14
|
# github.com/aws/aws-sdk-go v1.33.19
|
||||||
github.com/aws/aws-sdk-go/aws
|
github.com/aws/aws-sdk-go/aws
|
||||||
github.com/aws/aws-sdk-go/aws/arn
|
github.com/aws/aws-sdk-go/aws/arn
|
||||||
github.com/aws/aws-sdk-go/aws/awserr
|
github.com/aws/aws-sdk-go/aws/awserr
|
||||||
|
@ -148,7 +148,7 @@ golang.org/x/oauth2/google
|
||||||
golang.org/x/oauth2/internal
|
golang.org/x/oauth2/internal
|
||||||
golang.org/x/oauth2/jws
|
golang.org/x/oauth2/jws
|
||||||
golang.org/x/oauth2/jwt
|
golang.org/x/oauth2/jwt
|
||||||
# golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1
|
# golang.org/x/sys v0.0.0-20200805065543-0cf7623e9dbd
|
||||||
golang.org/x/sys/internal/unsafeheader
|
golang.org/x/sys/internal/unsafeheader
|
||||||
golang.org/x/sys/unix
|
golang.org/x/sys/unix
|
||||||
# golang.org/x/text v0.3.3
|
# golang.org/x/text v0.3.3
|
||||||
|
@ -156,7 +156,7 @@ golang.org/x/text/secure/bidirule
|
||||||
golang.org/x/text/transform
|
golang.org/x/text/transform
|
||||||
golang.org/x/text/unicode/bidi
|
golang.org/x/text/unicode/bidi
|
||||||
golang.org/x/text/unicode/norm
|
golang.org/x/text/unicode/norm
|
||||||
# golang.org/x/tools v0.0.0-20200729041821-df70183b1872
|
# golang.org/x/tools v0.0.0-20200804234916-fec4f28ebb08
|
||||||
golang.org/x/tools/cmd/goimports
|
golang.org/x/tools/cmd/goimports
|
||||||
golang.org/x/tools/go/ast/astutil
|
golang.org/x/tools/go/ast/astutil
|
||||||
golang.org/x/tools/go/gcexportdata
|
golang.org/x/tools/go/gcexportdata
|
||||||
|
@ -169,10 +169,10 @@ golang.org/x/tools/internal/fastwalk
|
||||||
golang.org/x/tools/internal/gocommand
|
golang.org/x/tools/internal/gocommand
|
||||||
golang.org/x/tools/internal/gopathwalk
|
golang.org/x/tools/internal/gopathwalk
|
||||||
golang.org/x/tools/internal/imports
|
golang.org/x/tools/internal/imports
|
||||||
# golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
|
# golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
|
||||||
golang.org/x/xerrors
|
golang.org/x/xerrors
|
||||||
golang.org/x/xerrors/internal
|
golang.org/x/xerrors/internal
|
||||||
# google.golang.org/api v0.29.0
|
# google.golang.org/api v0.30.0
|
||||||
google.golang.org/api/googleapi
|
google.golang.org/api/googleapi
|
||||||
google.golang.org/api/googleapi/transport
|
google.golang.org/api/googleapi/transport
|
||||||
google.golang.org/api/internal
|
google.golang.org/api/internal
|
||||||
|
@ -196,13 +196,13 @@ google.golang.org/appengine/internal/modules
|
||||||
google.golang.org/appengine/internal/remote_api
|
google.golang.org/appengine/internal/remote_api
|
||||||
google.golang.org/appengine/internal/urlfetch
|
google.golang.org/appengine/internal/urlfetch
|
||||||
google.golang.org/appengine/urlfetch
|
google.golang.org/appengine/urlfetch
|
||||||
# google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f
|
# google.golang.org/genproto v0.0.0-20200804151602-45615f50871c
|
||||||
google.golang.org/genproto/googleapis/api/annotations
|
google.golang.org/genproto/googleapis/api/annotations
|
||||||
google.golang.org/genproto/googleapis/iam/v1
|
google.golang.org/genproto/googleapis/iam/v1
|
||||||
google.golang.org/genproto/googleapis/rpc/code
|
google.golang.org/genproto/googleapis/rpc/code
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
google.golang.org/genproto/googleapis/type/expr
|
google.golang.org/genproto/googleapis/type/expr
|
||||||
# google.golang.org/grpc v1.30.0
|
# google.golang.org/grpc v1.31.0
|
||||||
google.golang.org/grpc
|
google.golang.org/grpc
|
||||||
google.golang.org/grpc/attributes
|
google.golang.org/grpc/attributes
|
||||||
google.golang.org/grpc/backoff
|
google.golang.org/grpc/backoff
|
||||||
|
@ -224,6 +224,7 @@ google.golang.org/grpc/internal/balancerload
|
||||||
google.golang.org/grpc/internal/binarylog
|
google.golang.org/grpc/internal/binarylog
|
||||||
google.golang.org/grpc/internal/buffer
|
google.golang.org/grpc/internal/buffer
|
||||||
google.golang.org/grpc/internal/channelz
|
google.golang.org/grpc/internal/channelz
|
||||||
|
google.golang.org/grpc/internal/credentials
|
||||||
google.golang.org/grpc/internal/envconfig
|
google.golang.org/grpc/internal/envconfig
|
||||||
google.golang.org/grpc/internal/grpclog
|
google.golang.org/grpc/internal/grpclog
|
||||||
google.golang.org/grpc/internal/grpcrand
|
google.golang.org/grpc/internal/grpcrand
|
||||||
|
|
Loading…
Reference in a new issue