Commit Graph

186 Commits

Author SHA1 Message Date
Alexander Chiu
36f9e53dfd Allow extra descriptor sources in reflection mode (#146)
Allows descriptors or proto files to be supplied that are used as an additional descriptor source when server reflection is used. This is needed to resolve message types embedded in an Any message, that the server has no knowledge of, as well as extensions that the server has no knowledge of.
2020-04-20 15:42:11 -04:00
Joshua Humphries
bfbbed1d42 vet with modules (#150)
fixes CI failures caused by newer version of dependency introducing new deprecations that cause staticcheck violations
2020-04-16 15:27:01 -04:00
Johan Brandhorst
153d36db8c Remove golang/protobuf/jsonpbtest dep (#145)
With 1.4.0 the golang/protobuf json testing protofiles
are being moved to [an internal package][1]. While this is
technically a breaking change, I doubt the maintainers
are going to reintroduce it, so I've copied the necessary
parts to our own testing protofile.

This allows users of this package and, more importantly,
grpcui to try 1.4.0 without this package having to migrate yet.
When it comes to migrating to 1.4.0, this should also make the
transition easier.

[1]: https://github.com/golang/protobuf/tree/v1.4.0-rc.4/internal/testprotos
v1.5.1
2020-04-03 12:45:05 -04:00
Joshua Humphries
2af40876fc drop Go 1.9 and 1.10 from CI; add 1.13 and 1.14 (#144) 2020-04-01 09:02:40 -04:00
Joshua Humphries
0218a7db67 add script and readme for creating new releases (#140) 2020-03-18 08:51:18 -04:00
Richard Belleville
96cfd48e32 Activate xDS support in grpcurl (#137) v1.5.0 2020-03-13 16:29:41 -04:00
Richard Belleville
d30f3a01b7 Bump grpc to 1.28 (#136) 2020-03-12 18:55:09 -04:00
Joshua Humphries
0d669e78d0 use wrapped TransportCredentials instead of handling handshake in Dialer (#130)
* use wrapped TransportCredentials instead of handling handshake in Dialer, so that grpc library will use correct :scheme
* support -authority for TLS conns; now effectively supercedes -servername flag
2020-01-27 12:15:47 -05:00
Blake Williams
9572bd4525 Register gzip decoder (#124) 2019-11-26 08:55:50 -05:00
Joshua Humphries
ccc9007156 add -protoset-out option (#120) v1.4.0 2019-09-30 09:50:17 -04:00
J M
9248ea0963 Add Expand Headers Feature (#117) 2019-09-26 17:26:38 -04:00
Joshua Humphries
4054d1d115 fix go.mod for Go 1.13 (#110) v1.3.2 2019-08-09 14:17:53 -04:00
Joshua Humphries
5631bba117 add official Dockerfile (#104) v1.3.1 2019-07-03 15:57:24 -04:00
Joshua Humphries
80425d1b17 use protoreflect 1.4.4 (#109) 2019-07-03 15:56:51 -04:00
Joshua Humphries
7e4045565f update all deps; use new ResolveFilenames method (#103) v1.3.0 2019-05-24 10:26:38 -04:00
Joshua Humphries
e5b4fc6cc0 add API to expose AnyResolver implementations backed by a DescriptorSource (#102) 2019-05-22 21:38:46 -04:00
Joshua Humphries
09c3d1d69e use just-released v1.3.0 protoreflect (#101) 2019-05-22 16:20:41 -04:00
Joshua Humphries
5d6316f470 Adds support for showing error details (#98)
To better support printing of google.protobuf.Any messages (error details), this
also makes a few other changes:
1. Allows printing of unresolvable Any messages using an "@value" field in JSON output
   that has the base64-encoded embedded message data.
2. Improves support for "-format text" to show expanded Any messages if possible.
   (Due to limitations in underlying proto package, this will usually *not* be
   that helpful. But this should greatly improve with v2 of the go protobuf API.)
3. Addresses a TODO in existing AnyResolver code to lazily fetch descriptors
   as needed instead of having to download all files eagerly.
2019-04-09 09:34:39 -04:00
Joshua Humphries
f0723c6273 fix flaky test (#93) 2019-03-25 10:34:32 -04:00
Joshua Humphries
fe97274a1b staticcheck no longer runs on Go 1.10 (#92)
* staticcheck no longer runs on Go 1.10, so run it on Go 1.11 in CI
* be explicit about default make target in .travis.yml
2019-03-22 14:35:01 -04:00
CodeLingo Team
1bbf8dae71 Fix function comments based on best practices from Effective Go (#87)
Signed-off-by: CodeLingo Bot <bot@codelingo.io>
2019-03-13 10:58:13 -04:00
Joshua Humphries
0fcd3253f6 latest protoreflect fixes some bugs in JSON marshaling/unmarshaling (#86) v1.2.1 2019-03-07 13:35:49 -05:00
Joshua Humphries
4c9c82cec3 use custom flagset (#85) v1.2.0 2019-02-28 10:58:53 -05:00
Joshua Humphries
5082a1dc68 add -max-msg-sz flag (#84) 2019-02-28 08:35:50 -05:00
Joshua Humphries
d641a66208 fix flaky test where code can be 'cancelled' unexpectedly, instead of some error code provided by the server (#83) 2019-02-27 20:28:43 -05:00
Joshua Humphries
ce84976d3c fix typo in readme
fixes #79
2019-02-27 18:16:55 -05:00
Joshua Humphries
b292d5aef8 add Go 1.12 to travis config (#82) 2019-02-27 17:31:54 -05:00
Joshua Humphries
5516a45602 update proto and grpc deps (#81)
Fixes the build by updating grpc (and deps) and using new, non-deprecated function
2019-02-27 17:30:44 -05:00
Andrew McCallum
4a329f3b13 add Homebrew installation method to README (#77) 2019-01-23 10:50:39 -05:00
Joshua Humphries
1c6532c060 fix minor issues caught by staticcheck (#76) 2019-01-03 10:09:24 -05:00
Joshua Humphries
0f9e76c978 ignore deprecated check for now (#75) v1.1.0 2018-12-17 10:47:17 -05:00
Joshua Humphries
9fa2fce63b make method invocation resilient to errors trying to load all files from server (#74) 2018-12-13 11:44:43 -05:00
Joshua Humphries
70e9bba1b8 fix typo in Makefile (#72) 2018-12-12 10:10:23 -05:00
Joshua Humphries
d86529bb4f don't use TLS 1.3, which isn't quite right yet in Go tip (#66) 2018-11-15 20:27:01 -05:00
Joshua Humphries
0dea37ee70 on error reading request, bidi stream would hang (#63) 2018-11-01 14:32:56 -04:00
Joshua Humphries
dfa06f4410 several Go libraries, including gRPC and golang.org/x/net/http2, no longer support Go 1.8 and older (#64) 2018-11-01 14:24:33 -04:00
Joshua Humphries
22ce2f04fd account type in OpenAccount RPC was ignored (#61) 2018-11-01 13:52:58 -04:00
Joshua Humphries
1e8e50f4f8 make MakeTemplate more robust (#60) 2018-10-22 22:59:11 -04:00
Joshua Humphries
7cabe7a9d0 move more stuff from cmd to package (#59) 2018-10-19 14:47:25 -04:00
Joshua Humphries
9a4bbacdd6 some pre-factoring and small fixes (#58)
* organize into multiple files
* make listing methods show fully-qualified names
* address small feedback from recent change (trim then check if empty)
2018-10-18 23:51:38 -04:00
Joshua Humphries
69ea782936 reconcile with recent change to "describe" output 2018-10-18 13:54:51 -04:00
Joshua Humphries
58cd93280e use proto syntax for describe (#57) 2018-10-18 13:50:44 -04:00
Joshua Humphries
a337c1afcf improve flag doc with go 1.10+ (#56) 2018-10-18 13:16:33 -04:00
Joshua Humphries
e00ef3eb7c add option to support text format (#54)
* augments grpcurl package API in order to handle multiple formats
* deprecates old signature for InvokeRpc
* add command-line flag to use protobuf text format instead of JSON
* use AnyResolver when marshaling to/from JSON
2018-10-16 21:26:16 -04:00
Joshua Humphries
397a8c18ca update README (#55)
* Revises the sections that talk about descriptor sources, making them more consistent.
* Adds a link to the Gophercon 2018 talk on grpcurl.
* Improve  installation section, mentioning versioned Go.
2018-10-16 12:56:40 -04:00
Joshua Humphries
554e69be2c use correct package name for golint (#53) 2018-10-12 09:06:35 -04:00
Ryo Nakao
2dd771c49e fix typo in InvokeRpc() comment (#50) 2018-09-26 22:02:34 -04:00
Leigh McCulloch
79a550b858 add goreleaser (#49)
* add goreleaser

Add a goreleaser configuration file that builds binaries for Linux,
MacOS and Windows, for 32bit (x86/386) and 64bit (x64/amd64). The
binaries will be archived into a tar.gz/zip file along with the LICENSE
file.

The `dist/` directory will be written to by goreleaser with the binaries
during the build process, so it's also been added to .gitignore.

To build all the binaries and release them to GitHub:
1. Tag the release. e.g. `git tag -a v1.0.0 -m 'First release'`
2. Generate a GitHub Personal Access Token. See https://github.com/settings/tokens.
3. Push the release to GitHub. e.g. `git push origin v1.0.0`
4. Make the release, which will publish binaries to the GitHub "Releases" page. e.g.  `GITHUB_TOKEN=xxxxxxx... make release`

* add -version flag

Run `grpcurl -version` to see the release version. Use `make install` to build a binary that shows the version based on current git hash (which will show a version number if HEAD is a release tag and otherwise uses `git describe` to summarize the version).
2018-09-25 09:34:02 -04:00
Joshua Humphries
d4d048fade support go modules (#48)
* support go modules
- use Go 1.11 (with and without module support) in CI
- add go.mod and go.sum files
- with modules in Go 1.11, can't rely on GOPATH directory layout, so just copy test.proto into this repo
v1.0.0
2018-09-14 20:18:53 -04:00
Joshua Humphries
6198551381 add bankdemo, from Gophercon 2018 demo (#45) 2018-09-07 18:21:02 -04:00