planetscale 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 }