planetscale 0.3.1 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -1
  3. data/.github/workflows/gem-push.yml +9 -2
  4. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  5. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +1 -1
  6. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +1 -1
  7. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  8. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  13. data/README.md +2 -0
  14. data/controller.go +21 -36
  15. data/go.mod +4 -3
  16. data/go.sum +32 -18
  17. data/lib/planetscale/version.rb +1 -1
  18. data/lib/planetscale.rb +2 -3
  19. data/planetscale.gemspec +1 -1
  20. data/proxy/planetscale-darwin.h +1 -1
  21. data/proxy/planetscale-darwin.so +0 -0
  22. data/proxy/planetscale-linux.h +1 -1
  23. data/proxy/planetscale-linux.so +0 -0
  24. data/proxy.go +1 -5
  25. metadata +3 -345
  26. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  27. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  28. data/vendor/github.com/armon/circbuf/README.md +0 -28
  29. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  30. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  31. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  32. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  33. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  34. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  35. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  36. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  37. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  38. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  39. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  40. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  41. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  42. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  43. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  44. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  45. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  46. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  47. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  48. data/vendor/github.com/gorilla/mux/README.md +0 -805
  49. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  50. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  51. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  52. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  53. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  54. data/vendor/github.com/gorilla/mux/route.go +0 -736
  55. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  56. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  57. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  58. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  59. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  60. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  61. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  62. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  63. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  64. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  65. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  66. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  67. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  68. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  69. data/vendor/github.com/pkg/errors/Makefile +0 -44
  70. data/vendor/github.com/pkg/errors/README.md +0 -59
  71. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  72. data/vendor/github.com/pkg/errors/errors.go +0 -288
  73. data/vendor/github.com/pkg/errors/go113.go +0 -38
  74. data/vendor/github.com/pkg/errors/stack.go +0 -177
  75. data/vendor/github.com/planetscale/planetscale-go/LICENSE +0 -202
  76. data/vendor/github.com/planetscale/planetscale-go/planetscale/audit_logs.go +0 -136
  77. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
  78. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -252
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -166
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -312
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -133
  82. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
  83. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -103
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/regions.go +0 -52
  85. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  86. data/vendor/github.com/planetscale/sql-proxy/LICENSE +0 -202
  87. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -476
  88. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  89. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  90. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  91. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  92. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  93. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  94. data/vendor/go.uber.org/atomic/Makefile +0 -78
  95. data/vendor/go.uber.org/atomic/README.md +0 -63
  96. data/vendor/go.uber.org/atomic/bool.go +0 -81
  97. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  98. data/vendor/go.uber.org/atomic/doc.go +0 -23
  99. data/vendor/go.uber.org/atomic/duration.go +0 -82
  100. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  101. data/vendor/go.uber.org/atomic/error.go +0 -51
  102. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  103. data/vendor/go.uber.org/atomic/float64.go +0 -76
  104. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  105. data/vendor/go.uber.org/atomic/gen.go +0 -26
  106. data/vendor/go.uber.org/atomic/go.mod +0 -8
  107. data/vendor/go.uber.org/atomic/go.sum +0 -9
  108. data/vendor/go.uber.org/atomic/int32.go +0 -102
  109. data/vendor/go.uber.org/atomic/int64.go +0 -102
  110. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  111. data/vendor/go.uber.org/atomic/string.go +0 -54
  112. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  113. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  114. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  115. data/vendor/go.uber.org/atomic/value.go +0 -31
  116. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  117. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  118. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  119. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  120. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  121. data/vendor/go.uber.org/multierr/Makefile +0 -42
  122. data/vendor/go.uber.org/multierr/README.md +0 -23
  123. data/vendor/go.uber.org/multierr/error.go +0 -449
  124. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  125. data/vendor/go.uber.org/multierr/go.mod +0 -8
  126. data/vendor/go.uber.org/multierr/go.sum +0 -11
  127. data/vendor/go.uber.org/multierr/go113.go +0 -52
  128. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  129. data/vendor/go.uber.org/zap/.gitignore +0 -32
  130. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  131. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -492
  132. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  133. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -75
  134. data/vendor/go.uber.org/zap/FAQ.md +0 -164
  135. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  136. data/vendor/go.uber.org/zap/Makefile +0 -73
  137. data/vendor/go.uber.org/zap/README.md +0 -134
  138. data/vendor/go.uber.org/zap/array.go +0 -320
  139. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -141
  140. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  141. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  142. data/vendor/go.uber.org/zap/config.go +0 -264
  143. data/vendor/go.uber.org/zap/doc.go +0 -113
  144. data/vendor/go.uber.org/zap/encoder.go +0 -79
  145. data/vendor/go.uber.org/zap/error.go +0 -80
  146. data/vendor/go.uber.org/zap/field.go +0 -549
  147. data/vendor/go.uber.org/zap/flag.go +0 -39
  148. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  149. data/vendor/go.uber.org/zap/global.go +0 -168
  150. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  151. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  152. data/vendor/go.uber.org/zap/go.mod +0 -14
  153. data/vendor/go.uber.org/zap/go.sum +0 -54
  154. data/vendor/go.uber.org/zap/http_handler.go +0 -132
  155. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  156. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  157. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  158. data/vendor/go.uber.org/zap/level.go +0 -132
  159. data/vendor/go.uber.org/zap/logger.go +0 -348
  160. data/vendor/go.uber.org/zap/options.go +0 -148
  161. data/vendor/go.uber.org/zap/sink.go +0 -161
  162. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  163. data/vendor/go.uber.org/zap/sugar.go +0 -315
  164. data/vendor/go.uber.org/zap/time.go +0 -27
  165. data/vendor/go.uber.org/zap/writer.go +0 -99
  166. data/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +0 -188
  167. data/vendor/go.uber.org/zap/zapcore/clock.go +0 -50
  168. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  169. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  170. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  171. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  172. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  173. data/vendor/go.uber.org/zap/zapcore/error.go +0 -132
  174. data/vendor/go.uber.org/zap/zapcore/field.go +0 -233
  175. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  176. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  177. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  178. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  179. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  180. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  181. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  182. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  183. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  184. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -122
  185. data/vendor/golang.org/x/net/AUTHORS +0 -3
  186. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  187. data/vendor/golang.org/x/net/LICENSE +0 -27
  188. data/vendor/golang.org/x/net/PATENTS +0 -22
  189. data/vendor/golang.org/x/net/context/context.go +0 -56
  190. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  191. data/vendor/golang.org/x/net/context/go17.go +0 -73
  192. data/vendor/golang.org/x/net/context/go19.go +0 -21
  193. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  194. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  195. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  196. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  197. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  198. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  199. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  200. data/vendor/golang.org/x/oauth2/README.md +0 -36
  201. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  202. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  203. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  204. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  205. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  206. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  207. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  208. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  209. data/vendor/golang.org/x/oauth2/token.go +0 -178
  210. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  211. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  212. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  213. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  214. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  215. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  216. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  217. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  218. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  219. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  220. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  221. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  222. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  223. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  224. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  225. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  226. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  227. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  228. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  229. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  230. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  231. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  232. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  233. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  234. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  235. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  236. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  237. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  238. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  239. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  240. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  241. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  242. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  243. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  244. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  245. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  246. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  247. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  248. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  249. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  250. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  251. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  252. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  256. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  257. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  258. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  259. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  260. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  261. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  266. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  267. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  268. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  269. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  270. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  271. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  272. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  273. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  274. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  275. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  276. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  277. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  278. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  279. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  281. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  282. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  283. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  284. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  285. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  286. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  287. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  288. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  289. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  298. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  299. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  300. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  301. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  302. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  303. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  304. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  305. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  306. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  307. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  310. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  312. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  313. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  314. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  315. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  316. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  317. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  318. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  319. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  320. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  321. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  322. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  323. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  324. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  325. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  326. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  327. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  328. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  329. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  330. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  331. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  332. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  333. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  334. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  335. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  336. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  337. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  338. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  339. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  340. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  341. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  343. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  344. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  345. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  346. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  347. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  350. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  351. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  352. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  359. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  360. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  361. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  362. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  363. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  364. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  365. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  366. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  367. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  368. data/vendor/modules.txt +0 -79
@@ -1,156 +0,0 @@
1
- // Copyright 2019 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- package impl
6
-
7
- import (
8
- "reflect"
9
- "sync"
10
- "sync/atomic"
11
-
12
- pref "google.golang.org/protobuf/reflect/protoreflect"
13
- piface "google.golang.org/protobuf/runtime/protoiface"
14
- )
15
-
16
- // ExtensionInfo implements ExtensionType.
17
- //
18
- // This type contains a number of exported fields for legacy compatibility.
19
- // The only non-deprecated use of this type is through the methods of the
20
- // ExtensionType interface.
21
- type ExtensionInfo struct {
22
- // An ExtensionInfo may exist in several stages of initialization.
23
- //
24
- // extensionInfoUninitialized: Some or all of the legacy exported
25
- // fields may be set, but none of the unexported fields have been
26
- // initialized. This is the starting state for an ExtensionInfo
27
- // in legacy generated code.
28
- //
29
- // extensionInfoDescInit: The desc field is set, but other unexported fields
30
- // may not be initialized. Legacy exported fields may or may not be set.
31
- // This is the starting state for an ExtensionInfo in newly generated code.
32
- //
33
- // extensionInfoFullInit: The ExtensionInfo is fully initialized.
34
- // This state is only entered after lazy initialization is complete.
35
- init uint32
36
- mu sync.Mutex
37
-
38
- goType reflect.Type
39
- desc extensionTypeDescriptor
40
- conv Converter
41
- info *extensionFieldInfo // for fast-path method implementations
42
-
43
- // ExtendedType is a typed nil-pointer to the parent message type that
44
- // is being extended. It is possible for this to be unpopulated in v2
45
- // since the message may no longer implement the MessageV1 interface.
46
- //
47
- // Deprecated: Use the ExtendedType method instead.
48
- ExtendedType piface.MessageV1
49
-
50
- // ExtensionType is the zero value of the extension type.
51
- //
52
- // For historical reasons, reflect.TypeOf(ExtensionType) and the
53
- // type returned by InterfaceOf may not be identical.
54
- //
55
- // Deprecated: Use InterfaceOf(xt.Zero()) instead.
56
- ExtensionType interface{}
57
-
58
- // Field is the field number of the extension.
59
- //
60
- // Deprecated: Use the Descriptor().Number method instead.
61
- Field int32
62
-
63
- // Name is the fully qualified name of extension.
64
- //
65
- // Deprecated: Use the Descriptor().FullName method instead.
66
- Name string
67
-
68
- // Tag is the protobuf struct tag used in the v1 API.
69
- //
70
- // Deprecated: Do not use.
71
- Tag string
72
-
73
- // Filename is the proto filename in which the extension is defined.
74
- //
75
- // Deprecated: Use Descriptor().ParentFile().Path() instead.
76
- Filename string
77
- }
78
-
79
- // Stages of initialization: See the ExtensionInfo.init field.
80
- const (
81
- extensionInfoUninitialized = 0
82
- extensionInfoDescInit = 1
83
- extensionInfoFullInit = 2
84
- )
85
-
86
- func InitExtensionInfo(xi *ExtensionInfo, xd pref.ExtensionDescriptor, goType reflect.Type) {
87
- xi.goType = goType
88
- xi.desc = extensionTypeDescriptor{xd, xi}
89
- xi.init = extensionInfoDescInit
90
- }
91
-
92
- func (xi *ExtensionInfo) New() pref.Value {
93
- return xi.lazyInit().New()
94
- }
95
- func (xi *ExtensionInfo) Zero() pref.Value {
96
- return xi.lazyInit().Zero()
97
- }
98
- func (xi *ExtensionInfo) ValueOf(v interface{}) pref.Value {
99
- return xi.lazyInit().PBValueOf(reflect.ValueOf(v))
100
- }
101
- func (xi *ExtensionInfo) InterfaceOf(v pref.Value) interface{} {
102
- return xi.lazyInit().GoValueOf(v).Interface()
103
- }
104
- func (xi *ExtensionInfo) IsValidValue(v pref.Value) bool {
105
- return xi.lazyInit().IsValidPB(v)
106
- }
107
- func (xi *ExtensionInfo) IsValidInterface(v interface{}) bool {
108
- return xi.lazyInit().IsValidGo(reflect.ValueOf(v))
109
- }
110
- func (xi *ExtensionInfo) TypeDescriptor() pref.ExtensionTypeDescriptor {
111
- if atomic.LoadUint32(&xi.init) < extensionInfoDescInit {
112
- xi.lazyInitSlow()
113
- }
114
- return &xi.desc
115
- }
116
-
117
- func (xi *ExtensionInfo) lazyInit() Converter {
118
- if atomic.LoadUint32(&xi.init) < extensionInfoFullInit {
119
- xi.lazyInitSlow()
120
- }
121
- return xi.conv
122
- }
123
-
124
- func (xi *ExtensionInfo) lazyInitSlow() {
125
- xi.mu.Lock()
126
- defer xi.mu.Unlock()
127
-
128
- if xi.init == extensionInfoFullInit {
129
- return
130
- }
131
- defer atomic.StoreUint32(&xi.init, extensionInfoFullInit)
132
-
133
- if xi.desc.ExtensionDescriptor == nil {
134
- xi.initFromLegacy()
135
- }
136
- if !xi.desc.ExtensionDescriptor.IsPlaceholder() {
137
- if xi.ExtensionType == nil {
138
- xi.initToLegacy()
139
- }
140
- xi.conv = NewConverter(xi.goType, xi.desc.ExtensionDescriptor)
141
- xi.info = makeExtensionFieldInfo(xi.desc.ExtensionDescriptor)
142
- xi.info.validation = newValidationInfo(xi.desc.ExtensionDescriptor, xi.goType)
143
- }
144
- }
145
-
146
- type extensionTypeDescriptor struct {
147
- pref.ExtensionDescriptor
148
- xi *ExtensionInfo
149
- }
150
-
151
- func (xtd *extensionTypeDescriptor) Type() pref.ExtensionType {
152
- return xtd.xi
153
- }
154
- func (xtd *extensionTypeDescriptor) Descriptor() pref.ExtensionDescriptor {
155
- return xtd.ExtensionDescriptor
156
- }
@@ -1,219 +0,0 @@
1
- // Copyright 2018 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- package impl
6
-
7
- import (
8
- "fmt"
9
- "reflect"
10
- "strings"
11
- "sync"
12
-
13
- "google.golang.org/protobuf/internal/filedesc"
14
- "google.golang.org/protobuf/internal/strs"
15
- "google.golang.org/protobuf/reflect/protoreflect"
16
- pref "google.golang.org/protobuf/reflect/protoreflect"
17
- )
18
-
19
- // legacyEnumName returns the name of enums used in legacy code.
20
- // It is neither the protobuf full name nor the qualified Go name,
21
- // but rather an odd hybrid of both.
22
- func legacyEnumName(ed pref.EnumDescriptor) string {
23
- var protoPkg string
24
- enumName := string(ed.FullName())
25
- if fd := ed.ParentFile(); fd != nil {
26
- protoPkg = string(fd.Package())
27
- enumName = strings.TrimPrefix(enumName, protoPkg+".")
28
- }
29
- if protoPkg == "" {
30
- return strs.GoCamelCase(enumName)
31
- }
32
- return protoPkg + "." + strs.GoCamelCase(enumName)
33
- }
34
-
35
- // legacyWrapEnum wraps v as a protoreflect.Enum,
36
- // where v must be a int32 kind and not implement the v2 API already.
37
- func legacyWrapEnum(v reflect.Value) pref.Enum {
38
- et := legacyLoadEnumType(v.Type())
39
- return et.New(pref.EnumNumber(v.Int()))
40
- }
41
-
42
- var legacyEnumTypeCache sync.Map // map[reflect.Type]protoreflect.EnumType
43
-
44
- // legacyLoadEnumType dynamically loads a protoreflect.EnumType for t,
45
- // where t must be an int32 kind and not implement the v2 API already.
46
- func legacyLoadEnumType(t reflect.Type) pref.EnumType {
47
- // Fast-path: check if a EnumType is cached for this concrete type.
48
- if et, ok := legacyEnumTypeCache.Load(t); ok {
49
- return et.(pref.EnumType)
50
- }
51
-
52
- // Slow-path: derive enum descriptor and initialize EnumType.
53
- var et pref.EnumType
54
- ed := LegacyLoadEnumDesc(t)
55
- et = &legacyEnumType{
56
- desc: ed,
57
- goType: t,
58
- }
59
- if et, ok := legacyEnumTypeCache.LoadOrStore(t, et); ok {
60
- return et.(pref.EnumType)
61
- }
62
- return et
63
- }
64
-
65
- type legacyEnumType struct {
66
- desc pref.EnumDescriptor
67
- goType reflect.Type
68
- m sync.Map // map[protoreflect.EnumNumber]proto.Enum
69
- }
70
-
71
- func (t *legacyEnumType) New(n pref.EnumNumber) pref.Enum {
72
- if e, ok := t.m.Load(n); ok {
73
- return e.(pref.Enum)
74
- }
75
- e := &legacyEnumWrapper{num: n, pbTyp: t, goTyp: t.goType}
76
- t.m.Store(n, e)
77
- return e
78
- }
79
- func (t *legacyEnumType) Descriptor() pref.EnumDescriptor {
80
- return t.desc
81
- }
82
-
83
- type legacyEnumWrapper struct {
84
- num pref.EnumNumber
85
- pbTyp pref.EnumType
86
- goTyp reflect.Type
87
- }
88
-
89
- func (e *legacyEnumWrapper) Descriptor() pref.EnumDescriptor {
90
- return e.pbTyp.Descriptor()
91
- }
92
- func (e *legacyEnumWrapper) Type() pref.EnumType {
93
- return e.pbTyp
94
- }
95
- func (e *legacyEnumWrapper) Number() pref.EnumNumber {
96
- return e.num
97
- }
98
- func (e *legacyEnumWrapper) ProtoReflect() pref.Enum {
99
- return e
100
- }
101
- func (e *legacyEnumWrapper) protoUnwrap() interface{} {
102
- v := reflect.New(e.goTyp).Elem()
103
- v.SetInt(int64(e.num))
104
- return v.Interface()
105
- }
106
-
107
- var (
108
- _ pref.Enum = (*legacyEnumWrapper)(nil)
109
- _ unwrapper = (*legacyEnumWrapper)(nil)
110
- )
111
-
112
- var legacyEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor
113
-
114
- // LegacyLoadEnumDesc returns an EnumDescriptor derived from the Go type,
115
- // which must be an int32 kind and not implement the v2 API already.
116
- //
117
- // This is exported for testing purposes.
118
- func LegacyLoadEnumDesc(t reflect.Type) pref.EnumDescriptor {
119
- // Fast-path: check if an EnumDescriptor is cached for this concrete type.
120
- if ed, ok := legacyEnumDescCache.Load(t); ok {
121
- return ed.(pref.EnumDescriptor)
122
- }
123
-
124
- // Slow-path: initialize EnumDescriptor from the raw descriptor.
125
- ev := reflect.Zero(t).Interface()
126
- if _, ok := ev.(pref.Enum); ok {
127
- panic(fmt.Sprintf("%v already implements proto.Enum", t))
128
- }
129
- edV1, ok := ev.(enumV1)
130
- if !ok {
131
- return aberrantLoadEnumDesc(t)
132
- }
133
- b, idxs := edV1.EnumDescriptor()
134
-
135
- var ed pref.EnumDescriptor
136
- if len(idxs) == 1 {
137
- ed = legacyLoadFileDesc(b).Enums().Get(idxs[0])
138
- } else {
139
- md := legacyLoadFileDesc(b).Messages().Get(idxs[0])
140
- for _, i := range idxs[1 : len(idxs)-1] {
141
- md = md.Messages().Get(i)
142
- }
143
- ed = md.Enums().Get(idxs[len(idxs)-1])
144
- }
145
- if ed, ok := legacyEnumDescCache.LoadOrStore(t, ed); ok {
146
- return ed.(protoreflect.EnumDescriptor)
147
- }
148
- return ed
149
- }
150
-
151
- var aberrantEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor
152
-
153
- // aberrantLoadEnumDesc returns an EnumDescriptor derived from the Go type,
154
- // which must not implement protoreflect.Enum or enumV1.
155
- //
156
- // If the type does not implement enumV1, then there is no reliable
157
- // way to derive the original protobuf type information.
158
- // We are unable to use the global enum registry since it is
159
- // unfortunately keyed by the protobuf full name, which we also do not know.
160
- // Thus, this produces some bogus enum descriptor based on the Go type name.
161
- func aberrantLoadEnumDesc(t reflect.Type) pref.EnumDescriptor {
162
- // Fast-path: check if an EnumDescriptor is cached for this concrete type.
163
- if ed, ok := aberrantEnumDescCache.Load(t); ok {
164
- return ed.(pref.EnumDescriptor)
165
- }
166
-
167
- // Slow-path: construct a bogus, but unique EnumDescriptor.
168
- ed := &filedesc.Enum{L2: new(filedesc.EnumL2)}
169
- ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum
170
- ed.L0.ParentFile = filedesc.SurrogateProto3
171
- ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{})
172
-
173
- // TODO: Use the presence of a UnmarshalJSON method to determine proto2?
174
-
175
- vd := &ed.L2.Values.List[0]
176
- vd.L0.FullName = ed.L0.FullName + "_UNKNOWN" // e.g., github_com.user.repo.MyEnum_UNKNOWN
177
- vd.L0.ParentFile = ed.L0.ParentFile
178
- vd.L0.Parent = ed
179
-
180
- // TODO: We could use the String method to obtain some enum value names by
181
- // starting at 0 and print the enum until it produces invalid identifiers.
182
- // An exhaustive query is clearly impractical, but can be best-effort.
183
-
184
- if ed, ok := aberrantEnumDescCache.LoadOrStore(t, ed); ok {
185
- return ed.(pref.EnumDescriptor)
186
- }
187
- return ed
188
- }
189
-
190
- // AberrantDeriveFullName derives a fully qualified protobuf name for the given Go type
191
- // The provided name is not guaranteed to be stable nor universally unique.
192
- // It should be sufficiently unique within a program.
193
- //
194
- // This is exported for testing purposes.
195
- func AberrantDeriveFullName(t reflect.Type) pref.FullName {
196
- sanitize := func(r rune) rune {
197
- switch {
198
- case r == '/':
199
- return '.'
200
- case 'a' <= r && r <= 'z', 'A' <= r && r <= 'Z', '0' <= r && r <= '9':
201
- return r
202
- default:
203
- return '_'
204
- }
205
- }
206
- prefix := strings.Map(sanitize, t.PkgPath())
207
- suffix := strings.Map(sanitize, t.Name())
208
- if suffix == "" {
209
- suffix = fmt.Sprintf("UnknownX%X", reflect.ValueOf(t).Pointer())
210
- }
211
-
212
- ss := append(strings.Split(prefix, "."), suffix)
213
- for i, s := range ss {
214
- if s == "" || ('0' <= s[0] && s[0] <= '9') {
215
- ss[i] = "x" + s
216
- }
217
- }
218
- return pref.FullName(strings.Join(ss, "."))
219
- }
@@ -1,92 +0,0 @@
1
- // Copyright 2019 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- package impl
6
-
7
- import (
8
- "encoding/binary"
9
- "encoding/json"
10
- "hash/crc32"
11
- "math"
12
- "reflect"
13
-
14
- "google.golang.org/protobuf/internal/errors"
15
- pref "google.golang.org/protobuf/reflect/protoreflect"
16
- piface "google.golang.org/protobuf/runtime/protoiface"
17
- )
18
-
19
- // These functions exist to support exported APIs in generated protobufs.
20
- // While these are deprecated, they cannot be removed for compatibility reasons.
21
-
22
- // LegacyEnumName returns the name of enums used in legacy code.
23
- func (Export) LegacyEnumName(ed pref.EnumDescriptor) string {
24
- return legacyEnumName(ed)
25
- }
26
-
27
- // LegacyMessageTypeOf returns the protoreflect.MessageType for m,
28
- // with name used as the message name if necessary.
29
- func (Export) LegacyMessageTypeOf(m piface.MessageV1, name pref.FullName) pref.MessageType {
30
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
31
- return mv.ProtoReflect().Type()
32
- }
33
- return legacyLoadMessageType(reflect.TypeOf(m), name)
34
- }
35
-
36
- // UnmarshalJSONEnum unmarshals an enum from a JSON-encoded input.
37
- // The input can either be a string representing the enum value by name,
38
- // or a number representing the enum number itself.
39
- func (Export) UnmarshalJSONEnum(ed pref.EnumDescriptor, b []byte) (pref.EnumNumber, error) {
40
- if b[0] == '"' {
41
- var name pref.Name
42
- if err := json.Unmarshal(b, &name); err != nil {
43
- return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b)
44
- }
45
- ev := ed.Values().ByName(name)
46
- if ev == nil {
47
- return 0, errors.New("invalid value for enum %v: %s", ed.FullName(), name)
48
- }
49
- return ev.Number(), nil
50
- } else {
51
- var num pref.EnumNumber
52
- if err := json.Unmarshal(b, &num); err != nil {
53
- return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b)
54
- }
55
- return num, nil
56
- }
57
- }
58
-
59
- // CompressGZIP compresses the input as a GZIP-encoded file.
60
- // The current implementation does no compression.
61
- func (Export) CompressGZIP(in []byte) (out []byte) {
62
- // RFC 1952, section 2.3.1.
63
- var gzipHeader = [10]byte{0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff}
64
-
65
- // RFC 1951, section 3.2.4.
66
- var blockHeader [5]byte
67
- const maxBlockSize = math.MaxUint16
68
- numBlocks := 1 + len(in)/maxBlockSize
69
-
70
- // RFC 1952, section 2.3.1.
71
- var gzipFooter [8]byte
72
- binary.LittleEndian.PutUint32(gzipFooter[0:4], crc32.ChecksumIEEE(in))
73
- binary.LittleEndian.PutUint32(gzipFooter[4:8], uint32(len(in)))
74
-
75
- // Encode the input without compression using raw DEFLATE blocks.
76
- out = make([]byte, 0, len(gzipHeader)+len(blockHeader)*numBlocks+len(in)+len(gzipFooter))
77
- out = append(out, gzipHeader[:]...)
78
- for blockHeader[0] == 0 {
79
- blockSize := maxBlockSize
80
- if blockSize > len(in) {
81
- blockHeader[0] = 0x01 // final bit per RFC 1951, section 3.2.3.
82
- blockSize = len(in)
83
- }
84
- binary.LittleEndian.PutUint16(blockHeader[1:3], uint16(blockSize)^0x0000)
85
- binary.LittleEndian.PutUint16(blockHeader[3:5], uint16(blockSize)^0xffff)
86
- out = append(out, blockHeader[:]...)
87
- out = append(out, in[:blockSize]...)
88
- in = in[blockSize:]
89
- }
90
- out = append(out, gzipFooter[:]...)
91
- return out
92
- }
@@ -1,176 +0,0 @@
1
- // Copyright 2018 The Go Authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- package impl
6
-
7
- import (
8
- "reflect"
9
-
10
- "google.golang.org/protobuf/internal/descopts"
11
- "google.golang.org/protobuf/internal/encoding/messageset"
12
- ptag "google.golang.org/protobuf/internal/encoding/tag"
13
- "google.golang.org/protobuf/internal/filedesc"
14
- "google.golang.org/protobuf/internal/pragma"
15
- pref "google.golang.org/protobuf/reflect/protoreflect"
16
- preg "google.golang.org/protobuf/reflect/protoregistry"
17
- piface "google.golang.org/protobuf/runtime/protoiface"
18
- )
19
-
20
- func (xi *ExtensionInfo) initToLegacy() {
21
- xd := xi.desc
22
- var parent piface.MessageV1
23
- messageName := xd.ContainingMessage().FullName()
24
- if mt, _ := preg.GlobalTypes.FindMessageByName(messageName); mt != nil {
25
- // Create a new parent message and unwrap it if possible.
26
- mv := mt.New().Interface()
27
- t := reflect.TypeOf(mv)
28
- if mv, ok := mv.(unwrapper); ok {
29
- t = reflect.TypeOf(mv.protoUnwrap())
30
- }
31
-
32
- // Check whether the message implements the legacy v1 Message interface.
33
- mz := reflect.Zero(t).Interface()
34
- if mz, ok := mz.(piface.MessageV1); ok {
35
- parent = mz
36
- }
37
- }
38
-
39
- // Determine the v1 extension type, which is unfortunately not the same as
40
- // the v2 ExtensionType.GoType.
41
- extType := xi.goType
42
- switch extType.Kind() {
43
- case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
44
- extType = reflect.PtrTo(extType) // T -> *T for singular scalar fields
45
- }
46
-
47
- // Reconstruct the legacy enum full name.
48
- var enumName string
49
- if xd.Kind() == pref.EnumKind {
50
- enumName = legacyEnumName(xd.Enum())
51
- }
52
-
53
- // Derive the proto file that the extension was declared within.
54
- var filename string
55
- if fd := xd.ParentFile(); fd != nil {
56
- filename = fd.Path()
57
- }
58
-
59
- // For MessageSet extensions, the name used is the parent message.
60
- name := xd.FullName()
61
- if messageset.IsMessageSetExtension(xd) {
62
- name = name.Parent()
63
- }
64
-
65
- xi.ExtendedType = parent
66
- xi.ExtensionType = reflect.Zero(extType).Interface()
67
- xi.Field = int32(xd.Number())
68
- xi.Name = string(name)
69
- xi.Tag = ptag.Marshal(xd, enumName)
70
- xi.Filename = filename
71
- }
72
-
73
- // initFromLegacy initializes an ExtensionInfo from
74
- // the contents of the deprecated exported fields of the type.
75
- func (xi *ExtensionInfo) initFromLegacy() {
76
- // The v1 API returns "type incomplete" descriptors where only the
77
- // field number is specified. In such a case, use a placeholder.
78
- if xi.ExtendedType == nil || xi.ExtensionType == nil {
79
- xd := placeholderExtension{
80
- name: pref.FullName(xi.Name),
81
- number: pref.FieldNumber(xi.Field),
82
- }
83
- xi.desc = extensionTypeDescriptor{xd, xi}
84
- return
85
- }
86
-
87
- // Resolve enum or message dependencies.
88
- var ed pref.EnumDescriptor
89
- var md pref.MessageDescriptor
90
- t := reflect.TypeOf(xi.ExtensionType)
91
- isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct
92
- isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8
93
- if isOptional || isRepeated {
94
- t = t.Elem()
95
- }
96
- switch v := reflect.Zero(t).Interface().(type) {
97
- case pref.Enum:
98
- ed = v.Descriptor()
99
- case enumV1:
100
- ed = LegacyLoadEnumDesc(t)
101
- case pref.ProtoMessage:
102
- md = v.ProtoReflect().Descriptor()
103
- case messageV1:
104
- md = LegacyLoadMessageDesc(t)
105
- }
106
-
107
- // Derive basic field information from the struct tag.
108
- var evs pref.EnumValueDescriptors
109
- if ed != nil {
110
- evs = ed.Values()
111
- }
112
- fd := ptag.Unmarshal(xi.Tag, t, evs).(*filedesc.Field)
113
-
114
- // Construct a v2 ExtensionType.
115
- xd := &filedesc.Extension{L2: new(filedesc.ExtensionL2)}
116
- xd.L0.ParentFile = filedesc.SurrogateProto2
117
- xd.L0.FullName = pref.FullName(xi.Name)
118
- xd.L1.Number = pref.FieldNumber(xi.Field)
119
- xd.L1.Cardinality = fd.L1.Cardinality
120
- xd.L1.Kind = fd.L1.Kind
121
- xd.L2.IsPacked = fd.L1.IsPacked
122
- xd.L2.Default = fd.L1.Default
123
- xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType)
124
- xd.L2.Enum = ed
125
- xd.L2.Message = md
126
-
127
- // Derive real extension field name for MessageSets.
128
- if messageset.IsMessageSet(xd.L1.Extendee) && md.FullName() == xd.L0.FullName {
129
- xd.L0.FullName = xd.L0.FullName.Append(messageset.ExtensionName)
130
- }
131
-
132
- tt := reflect.TypeOf(xi.ExtensionType)
133
- if isOptional {
134
- tt = tt.Elem()
135
- }
136
- xi.goType = tt
137
- xi.desc = extensionTypeDescriptor{xd, xi}
138
- }
139
-
140
- type placeholderExtension struct {
141
- name pref.FullName
142
- number pref.FieldNumber
143
- }
144
-
145
- func (x placeholderExtension) ParentFile() pref.FileDescriptor { return nil }
146
- func (x placeholderExtension) Parent() pref.Descriptor { return nil }
147
- func (x placeholderExtension) Index() int { return 0 }
148
- func (x placeholderExtension) Syntax() pref.Syntax { return 0 }
149
- func (x placeholderExtension) Name() pref.Name { return x.name.Name() }
150
- func (x placeholderExtension) FullName() pref.FullName { return x.name }
151
- func (x placeholderExtension) IsPlaceholder() bool { return true }
152
- func (x placeholderExtension) Options() pref.ProtoMessage { return descopts.Field }
153
- func (x placeholderExtension) Number() pref.FieldNumber { return x.number }
154
- func (x placeholderExtension) Cardinality() pref.Cardinality { return 0 }
155
- func (x placeholderExtension) Kind() pref.Kind { return 0 }
156
- func (x placeholderExtension) HasJSONName() bool { return false }
157
- func (x placeholderExtension) JSONName() string { return "[" + string(x.name) + "]" }
158
- func (x placeholderExtension) TextName() string { return "[" + string(x.name) + "]" }
159
- func (x placeholderExtension) HasPresence() bool { return false }
160
- func (x placeholderExtension) HasOptionalKeyword() bool { return false }
161
- func (x placeholderExtension) IsExtension() bool { return true }
162
- func (x placeholderExtension) IsWeak() bool { return false }
163
- func (x placeholderExtension) IsPacked() bool { return false }
164
- func (x placeholderExtension) IsList() bool { return false }
165
- func (x placeholderExtension) IsMap() bool { return false }
166
- func (x placeholderExtension) MapKey() pref.FieldDescriptor { return nil }
167
- func (x placeholderExtension) MapValue() pref.FieldDescriptor { return nil }
168
- func (x placeholderExtension) HasDefault() bool { return false }
169
- func (x placeholderExtension) Default() pref.Value { return pref.Value{} }
170
- func (x placeholderExtension) DefaultEnumValue() pref.EnumValueDescriptor { return nil }
171
- func (x placeholderExtension) ContainingOneof() pref.OneofDescriptor { return nil }
172
- func (x placeholderExtension) ContainingMessage() pref.MessageDescriptor { return nil }
173
- func (x placeholderExtension) Enum() pref.EnumDescriptor { return nil }
174
- func (x placeholderExtension) Message() pref.MessageDescriptor { return nil }
175
- func (x placeholderExtension) ProtoType(pref.FieldDescriptor) { return }
176
- func (x placeholderExtension) ProtoInternal(pragma.DoNotImplement) { return }