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,161 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zap
22
-
23
- import (
24
- "errors"
25
- "fmt"
26
- "io"
27
- "net/url"
28
- "os"
29
- "strings"
30
- "sync"
31
-
32
- "go.uber.org/zap/zapcore"
33
- )
34
-
35
- const schemeFile = "file"
36
-
37
- var (
38
- _sinkMutex sync.RWMutex
39
- _sinkFactories map[string]func(*url.URL) (Sink, error) // keyed by scheme
40
- )
41
-
42
- func init() {
43
- resetSinkRegistry()
44
- }
45
-
46
- func resetSinkRegistry() {
47
- _sinkMutex.Lock()
48
- defer _sinkMutex.Unlock()
49
-
50
- _sinkFactories = map[string]func(*url.URL) (Sink, error){
51
- schemeFile: newFileSink,
52
- }
53
- }
54
-
55
- // Sink defines the interface to write to and close logger destinations.
56
- type Sink interface {
57
- zapcore.WriteSyncer
58
- io.Closer
59
- }
60
-
61
- type nopCloserSink struct{ zapcore.WriteSyncer }
62
-
63
- func (nopCloserSink) Close() error { return nil }
64
-
65
- type errSinkNotFound struct {
66
- scheme string
67
- }
68
-
69
- func (e *errSinkNotFound) Error() string {
70
- return fmt.Sprintf("no sink found for scheme %q", e.scheme)
71
- }
72
-
73
- // RegisterSink registers a user-supplied factory for all sinks with a
74
- // particular scheme.
75
- //
76
- // All schemes must be ASCII, valid under section 3.1 of RFC 3986
77
- // (https://tools.ietf.org/html/rfc3986#section-3.1), and must not already
78
- // have a factory registered. Zap automatically registers a factory for the
79
- // "file" scheme.
80
- func RegisterSink(scheme string, factory func(*url.URL) (Sink, error)) error {
81
- _sinkMutex.Lock()
82
- defer _sinkMutex.Unlock()
83
-
84
- if scheme == "" {
85
- return errors.New("can't register a sink factory for empty string")
86
- }
87
- normalized, err := normalizeScheme(scheme)
88
- if err != nil {
89
- return fmt.Errorf("%q is not a valid scheme: %v", scheme, err)
90
- }
91
- if _, ok := _sinkFactories[normalized]; ok {
92
- return fmt.Errorf("sink factory already registered for scheme %q", normalized)
93
- }
94
- _sinkFactories[normalized] = factory
95
- return nil
96
- }
97
-
98
- func newSink(rawURL string) (Sink, error) {
99
- u, err := url.Parse(rawURL)
100
- if err != nil {
101
- return nil, fmt.Errorf("can't parse %q as a URL: %v", rawURL, err)
102
- }
103
- if u.Scheme == "" {
104
- u.Scheme = schemeFile
105
- }
106
-
107
- _sinkMutex.RLock()
108
- factory, ok := _sinkFactories[u.Scheme]
109
- _sinkMutex.RUnlock()
110
- if !ok {
111
- return nil, &errSinkNotFound{u.Scheme}
112
- }
113
- return factory(u)
114
- }
115
-
116
- func newFileSink(u *url.URL) (Sink, error) {
117
- if u.User != nil {
118
- return nil, fmt.Errorf("user and password not allowed with file URLs: got %v", u)
119
- }
120
- if u.Fragment != "" {
121
- return nil, fmt.Errorf("fragments not allowed with file URLs: got %v", u)
122
- }
123
- if u.RawQuery != "" {
124
- return nil, fmt.Errorf("query parameters not allowed with file URLs: got %v", u)
125
- }
126
- // Error messages are better if we check hostname and port separately.
127
- if u.Port() != "" {
128
- return nil, fmt.Errorf("ports not allowed with file URLs: got %v", u)
129
- }
130
- if hn := u.Hostname(); hn != "" && hn != "localhost" {
131
- return nil, fmt.Errorf("file URLs must leave host empty or use localhost: got %v", u)
132
- }
133
- switch u.Path {
134
- case "stdout":
135
- return nopCloserSink{os.Stdout}, nil
136
- case "stderr":
137
- return nopCloserSink{os.Stderr}, nil
138
- }
139
- return os.OpenFile(u.Path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
140
- }
141
-
142
- func normalizeScheme(s string) (string, error) {
143
- // https://tools.ietf.org/html/rfc3986#section-3.1
144
- s = strings.ToLower(s)
145
- if first := s[0]; 'a' > first || 'z' < first {
146
- return "", errors.New("must start with a letter")
147
- }
148
- for i := 1; i < len(s); i++ { // iterate over bytes, not runes
149
- c := s[i]
150
- switch {
151
- case 'a' <= c && c <= 'z':
152
- continue
153
- case '0' <= c && c <= '9':
154
- continue
155
- case c == '.' || c == '+' || c == '-':
156
- continue
157
- }
158
- return "", fmt.Errorf("may not contain %q", c)
159
- }
160
- return s, nil
161
- }
@@ -1,85 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zap
22
-
23
- import (
24
- "runtime"
25
- "sync"
26
-
27
- "go.uber.org/zap/internal/bufferpool"
28
- )
29
-
30
- var (
31
- _stacktracePool = sync.Pool{
32
- New: func() interface{} {
33
- return newProgramCounters(64)
34
- },
35
- }
36
- )
37
-
38
- func takeStacktrace(skip int) string {
39
- buffer := bufferpool.Get()
40
- defer buffer.Free()
41
- programCounters := _stacktracePool.Get().(*programCounters)
42
- defer _stacktracePool.Put(programCounters)
43
-
44
- var numFrames int
45
- for {
46
- // Skip the call to runtime.Callers and takeStacktrace so that the
47
- // program counters start at the caller of takeStacktrace.
48
- numFrames = runtime.Callers(skip+2, programCounters.pcs)
49
- if numFrames < len(programCounters.pcs) {
50
- break
51
- }
52
- // Don't put the too-short counter slice back into the pool; this lets
53
- // the pool adjust if we consistently take deep stacktraces.
54
- programCounters = newProgramCounters(len(programCounters.pcs) * 2)
55
- }
56
-
57
- i := 0
58
- frames := runtime.CallersFrames(programCounters.pcs[:numFrames])
59
-
60
- // Note: On the last iteration, frames.Next() returns false, with a valid
61
- // frame, but we ignore this frame. The last frame is a a runtime frame which
62
- // adds noise, since it's only either runtime.main or runtime.goexit.
63
- for frame, more := frames.Next(); more; frame, more = frames.Next() {
64
- if i != 0 {
65
- buffer.AppendByte('\n')
66
- }
67
- i++
68
- buffer.AppendString(frame.Function)
69
- buffer.AppendByte('\n')
70
- buffer.AppendByte('\t')
71
- buffer.AppendString(frame.File)
72
- buffer.AppendByte(':')
73
- buffer.AppendInt(int64(frame.Line))
74
- }
75
-
76
- return buffer.String()
77
- }
78
-
79
- type programCounters struct {
80
- pcs []uintptr
81
- }
82
-
83
- func newProgramCounters(size int) *programCounters {
84
- return &programCounters{make([]uintptr, size)}
85
- }
@@ -1,315 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zap
22
-
23
- import (
24
- "fmt"
25
-
26
- "go.uber.org/zap/zapcore"
27
-
28
- "go.uber.org/multierr"
29
- )
30
-
31
- const (
32
- _oddNumberErrMsg = "Ignored key without a value."
33
- _nonStringKeyErrMsg = "Ignored key-value pairs with non-string keys."
34
- )
35
-
36
- // A SugaredLogger wraps the base Logger functionality in a slower, but less
37
- // verbose, API. Any Logger can be converted to a SugaredLogger with its Sugar
38
- // method.
39
- //
40
- // Unlike the Logger, the SugaredLogger doesn't insist on structured logging.
41
- // For each log level, it exposes three methods: one for loosely-typed
42
- // structured logging, one for println-style formatting, and one for
43
- // printf-style formatting. For example, SugaredLoggers can produce InfoLevel
44
- // output with Infow ("info with" structured context), Info, or Infof.
45
- type SugaredLogger struct {
46
- base *Logger
47
- }
48
-
49
- // Desugar unwraps a SugaredLogger, exposing the original Logger. Desugaring
50
- // is quite inexpensive, so it's reasonable for a single application to use
51
- // both Loggers and SugaredLoggers, converting between them on the boundaries
52
- // of performance-sensitive code.
53
- func (s *SugaredLogger) Desugar() *Logger {
54
- base := s.base.clone()
55
- base.callerSkip -= 2
56
- return base
57
- }
58
-
59
- // Named adds a sub-scope to the logger's name. See Logger.Named for details.
60
- func (s *SugaredLogger) Named(name string) *SugaredLogger {
61
- return &SugaredLogger{base: s.base.Named(name)}
62
- }
63
-
64
- // With adds a variadic number of fields to the logging context. It accepts a
65
- // mix of strongly-typed Field objects and loosely-typed key-value pairs. When
66
- // processing pairs, the first element of the pair is used as the field key
67
- // and the second as the field value.
68
- //
69
- // For example,
70
- // sugaredLogger.With(
71
- // "hello", "world",
72
- // "failure", errors.New("oh no"),
73
- // Stack(),
74
- // "count", 42,
75
- // "user", User{Name: "alice"},
76
- // )
77
- // is the equivalent of
78
- // unsugared.With(
79
- // String("hello", "world"),
80
- // String("failure", "oh no"),
81
- // Stack(),
82
- // Int("count", 42),
83
- // Object("user", User{Name: "alice"}),
84
- // )
85
- //
86
- // Note that the keys in key-value pairs should be strings. In development,
87
- // passing a non-string key panics. In production, the logger is more
88
- // forgiving: a separate error is logged, but the key-value pair is skipped
89
- // and execution continues. Passing an orphaned key triggers similar behavior:
90
- // panics in development and errors in production.
91
- func (s *SugaredLogger) With(args ...interface{}) *SugaredLogger {
92
- return &SugaredLogger{base: s.base.With(s.sweetenFields(args)...)}
93
- }
94
-
95
- // Debug uses fmt.Sprint to construct and log a message.
96
- func (s *SugaredLogger) Debug(args ...interface{}) {
97
- s.log(DebugLevel, "", args, nil)
98
- }
99
-
100
- // Info uses fmt.Sprint to construct and log a message.
101
- func (s *SugaredLogger) Info(args ...interface{}) {
102
- s.log(InfoLevel, "", args, nil)
103
- }
104
-
105
- // Warn uses fmt.Sprint to construct and log a message.
106
- func (s *SugaredLogger) Warn(args ...interface{}) {
107
- s.log(WarnLevel, "", args, nil)
108
- }
109
-
110
- // Error uses fmt.Sprint to construct and log a message.
111
- func (s *SugaredLogger) Error(args ...interface{}) {
112
- s.log(ErrorLevel, "", args, nil)
113
- }
114
-
115
- // DPanic uses fmt.Sprint to construct and log a message. In development, the
116
- // logger then panics. (See DPanicLevel for details.)
117
- func (s *SugaredLogger) DPanic(args ...interface{}) {
118
- s.log(DPanicLevel, "", args, nil)
119
- }
120
-
121
- // Panic uses fmt.Sprint to construct and log a message, then panics.
122
- func (s *SugaredLogger) Panic(args ...interface{}) {
123
- s.log(PanicLevel, "", args, nil)
124
- }
125
-
126
- // Fatal uses fmt.Sprint to construct and log a message, then calls os.Exit.
127
- func (s *SugaredLogger) Fatal(args ...interface{}) {
128
- s.log(FatalLevel, "", args, nil)
129
- }
130
-
131
- // Debugf uses fmt.Sprintf to log a templated message.
132
- func (s *SugaredLogger) Debugf(template string, args ...interface{}) {
133
- s.log(DebugLevel, template, args, nil)
134
- }
135
-
136
- // Infof uses fmt.Sprintf to log a templated message.
137
- func (s *SugaredLogger) Infof(template string, args ...interface{}) {
138
- s.log(InfoLevel, template, args, nil)
139
- }
140
-
141
- // Warnf uses fmt.Sprintf to log a templated message.
142
- func (s *SugaredLogger) Warnf(template string, args ...interface{}) {
143
- s.log(WarnLevel, template, args, nil)
144
- }
145
-
146
- // Errorf uses fmt.Sprintf to log a templated message.
147
- func (s *SugaredLogger) Errorf(template string, args ...interface{}) {
148
- s.log(ErrorLevel, template, args, nil)
149
- }
150
-
151
- // DPanicf uses fmt.Sprintf to log a templated message. In development, the
152
- // logger then panics. (See DPanicLevel for details.)
153
- func (s *SugaredLogger) DPanicf(template string, args ...interface{}) {
154
- s.log(DPanicLevel, template, args, nil)
155
- }
156
-
157
- // Panicf uses fmt.Sprintf to log a templated message, then panics.
158
- func (s *SugaredLogger) Panicf(template string, args ...interface{}) {
159
- s.log(PanicLevel, template, args, nil)
160
- }
161
-
162
- // Fatalf uses fmt.Sprintf to log a templated message, then calls os.Exit.
163
- func (s *SugaredLogger) Fatalf(template string, args ...interface{}) {
164
- s.log(FatalLevel, template, args, nil)
165
- }
166
-
167
- // Debugw logs a message with some additional context. The variadic key-value
168
- // pairs are treated as they are in With.
169
- //
170
- // When debug-level logging is disabled, this is much faster than
171
- // s.With(keysAndValues).Debug(msg)
172
- func (s *SugaredLogger) Debugw(msg string, keysAndValues ...interface{}) {
173
- s.log(DebugLevel, msg, nil, keysAndValues)
174
- }
175
-
176
- // Infow logs a message with some additional context. The variadic key-value
177
- // pairs are treated as they are in With.
178
- func (s *SugaredLogger) Infow(msg string, keysAndValues ...interface{}) {
179
- s.log(InfoLevel, msg, nil, keysAndValues)
180
- }
181
-
182
- // Warnw logs a message with some additional context. The variadic key-value
183
- // pairs are treated as they are in With.
184
- func (s *SugaredLogger) Warnw(msg string, keysAndValues ...interface{}) {
185
- s.log(WarnLevel, msg, nil, keysAndValues)
186
- }
187
-
188
- // Errorw logs a message with some additional context. The variadic key-value
189
- // pairs are treated as they are in With.
190
- func (s *SugaredLogger) Errorw(msg string, keysAndValues ...interface{}) {
191
- s.log(ErrorLevel, msg, nil, keysAndValues)
192
- }
193
-
194
- // DPanicw logs a message with some additional context. In development, the
195
- // logger then panics. (See DPanicLevel for details.) The variadic key-value
196
- // pairs are treated as they are in With.
197
- func (s *SugaredLogger) DPanicw(msg string, keysAndValues ...interface{}) {
198
- s.log(DPanicLevel, msg, nil, keysAndValues)
199
- }
200
-
201
- // Panicw logs a message with some additional context, then panics. The
202
- // variadic key-value pairs are treated as they are in With.
203
- func (s *SugaredLogger) Panicw(msg string, keysAndValues ...interface{}) {
204
- s.log(PanicLevel, msg, nil, keysAndValues)
205
- }
206
-
207
- // Fatalw logs a message with some additional context, then calls os.Exit. The
208
- // variadic key-value pairs are treated as they are in With.
209
- func (s *SugaredLogger) Fatalw(msg string, keysAndValues ...interface{}) {
210
- s.log(FatalLevel, msg, nil, keysAndValues)
211
- }
212
-
213
- // Sync flushes any buffered log entries.
214
- func (s *SugaredLogger) Sync() error {
215
- return s.base.Sync()
216
- }
217
-
218
- func (s *SugaredLogger) log(lvl zapcore.Level, template string, fmtArgs []interface{}, context []interface{}) {
219
- // If logging at this level is completely disabled, skip the overhead of
220
- // string formatting.
221
- if lvl < DPanicLevel && !s.base.Core().Enabled(lvl) {
222
- return
223
- }
224
-
225
- msg := getMessage(template, fmtArgs)
226
- if ce := s.base.Check(lvl, msg); ce != nil {
227
- ce.Write(s.sweetenFields(context)...)
228
- }
229
- }
230
-
231
- // getMessage format with Sprint, Sprintf, or neither.
232
- func getMessage(template string, fmtArgs []interface{}) string {
233
- if len(fmtArgs) == 0 {
234
- return template
235
- }
236
-
237
- if template != "" {
238
- return fmt.Sprintf(template, fmtArgs...)
239
- }
240
-
241
- if len(fmtArgs) == 1 {
242
- if str, ok := fmtArgs[0].(string); ok {
243
- return str
244
- }
245
- }
246
- return fmt.Sprint(fmtArgs...)
247
- }
248
-
249
- func (s *SugaredLogger) sweetenFields(args []interface{}) []Field {
250
- if len(args) == 0 {
251
- return nil
252
- }
253
-
254
- // Allocate enough space for the worst case; if users pass only structured
255
- // fields, we shouldn't penalize them with extra allocations.
256
- fields := make([]Field, 0, len(args))
257
- var invalid invalidPairs
258
-
259
- for i := 0; i < len(args); {
260
- // This is a strongly-typed field. Consume it and move on.
261
- if f, ok := args[i].(Field); ok {
262
- fields = append(fields, f)
263
- i++
264
- continue
265
- }
266
-
267
- // Make sure this element isn't a dangling key.
268
- if i == len(args)-1 {
269
- s.base.Error(_oddNumberErrMsg, Any("ignored", args[i]))
270
- break
271
- }
272
-
273
- // Consume this value and the next, treating them as a key-value pair. If the
274
- // key isn't a string, add this pair to the slice of invalid pairs.
275
- key, val := args[i], args[i+1]
276
- if keyStr, ok := key.(string); !ok {
277
- // Subsequent errors are likely, so allocate once up front.
278
- if cap(invalid) == 0 {
279
- invalid = make(invalidPairs, 0, len(args)/2)
280
- }
281
- invalid = append(invalid, invalidPair{i, key, val})
282
- } else {
283
- fields = append(fields, Any(keyStr, val))
284
- }
285
- i += 2
286
- }
287
-
288
- // If we encountered any invalid key-value pairs, log an error.
289
- if len(invalid) > 0 {
290
- s.base.Error(_nonStringKeyErrMsg, Array("invalid", invalid))
291
- }
292
- return fields
293
- }
294
-
295
- type invalidPair struct {
296
- position int
297
- key, value interface{}
298
- }
299
-
300
- func (p invalidPair) MarshalLogObject(enc zapcore.ObjectEncoder) error {
301
- enc.AddInt64("position", int64(p.position))
302
- Any("key", p.key).AddTo(enc)
303
- Any("value", p.value).AddTo(enc)
304
- return nil
305
- }
306
-
307
- type invalidPairs []invalidPair
308
-
309
- func (ps invalidPairs) MarshalLogArray(enc zapcore.ArrayEncoder) error {
310
- var err error
311
- for i := range ps {
312
- err = multierr.Append(err, enc.AppendObject(ps[i]))
313
- }
314
- return err
315
- }
@@ -1,27 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zap
22
-
23
- import "time"
24
-
25
- func timeToMillis(t time.Time) int64 {
26
- return t.UnixNano() / int64(time.Millisecond)
27
- }
@@ -1,99 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zap
22
-
23
- import (
24
- "fmt"
25
- "io"
26
- "io/ioutil"
27
-
28
- "go.uber.org/zap/zapcore"
29
-
30
- "go.uber.org/multierr"
31
- )
32
-
33
- // Open is a high-level wrapper that takes a variadic number of URLs, opens or
34
- // creates each of the specified resources, and combines them into a locked
35
- // WriteSyncer. It also returns any error encountered and a function to close
36
- // any opened files.
37
- //
38
- // Passing no URLs returns a no-op WriteSyncer. Zap handles URLs without a
39
- // scheme and URLs with the "file" scheme. Third-party code may register
40
- // factories for other schemes using RegisterSink.
41
- //
42
- // URLs with the "file" scheme must use absolute paths on the local
43
- // filesystem. No user, password, port, fragments, or query parameters are
44
- // allowed, and the hostname must be empty or "localhost".
45
- //
46
- // Since it's common to write logs to the local filesystem, URLs without a
47
- // scheme (e.g., "/var/log/foo.log") are treated as local file paths. Without
48
- // a scheme, the special paths "stdout" and "stderr" are interpreted as
49
- // os.Stdout and os.Stderr. When specified without a scheme, relative file
50
- // paths also work.
51
- func Open(paths ...string) (zapcore.WriteSyncer, func(), error) {
52
- writers, close, err := open(paths)
53
- if err != nil {
54
- return nil, nil, err
55
- }
56
-
57
- writer := CombineWriteSyncers(writers...)
58
- return writer, close, nil
59
- }
60
-
61
- func open(paths []string) ([]zapcore.WriteSyncer, func(), error) {
62
- writers := make([]zapcore.WriteSyncer, 0, len(paths))
63
- closers := make([]io.Closer, 0, len(paths))
64
- close := func() {
65
- for _, c := range closers {
66
- c.Close()
67
- }
68
- }
69
-
70
- var openErr error
71
- for _, path := range paths {
72
- sink, err := newSink(path)
73
- if err != nil {
74
- openErr = multierr.Append(openErr, fmt.Errorf("couldn't open sink %q: %v", path, err))
75
- continue
76
- }
77
- writers = append(writers, sink)
78
- closers = append(closers, sink)
79
- }
80
- if openErr != nil {
81
- close()
82
- return writers, nil, openErr
83
- }
84
-
85
- return writers, close, nil
86
- }
87
-
88
- // CombineWriteSyncers is a utility that combines multiple WriteSyncers into a
89
- // single, locked WriteSyncer. If no inputs are supplied, it returns a no-op
90
- // WriteSyncer.
91
- //
92
- // It's provided purely as a convenience; the result is no different from
93
- // using zapcore.NewMultiWriteSyncer and zapcore.Lock individually.
94
- func CombineWriteSyncers(writers ...zapcore.WriteSyncer) zapcore.WriteSyncer {
95
- if len(writers) == 0 {
96
- return zapcore.AddSync(ioutil.Discard)
97
- }
98
- return zapcore.Lock(zapcore.NewMultiWriteSyncer(writers...))
99
- }