Commit Graph
126 Commits
Author SHA1 Message Date
Joel HönerandGitHub 7179f7ae6a feat(build): add constructor from_arc for gRPC servers (#875) 2022-01-12 16:36:54 -05:00
tottotoandGitHub 366d888a4b chore: Fix clippy lints (#881) 2022-01-12 16:32:40 -05:00
David PedersenandGitHub e78a2d832f chore: Prepare 0.6.2 (#860)
- Contains the revert to [rust 2018](https://github.com/hyperium/tonic/pull/847).
- Bumps both tonic and tonic-build.
- tonic-build goes from 0.6.0 to 0.6.2 since there was no 0.6.1. I
  believe we want tonic and tonic-build versions to follow each other.
2021-12-08 17:42:16 +01:00
David PedersenandGitHub 101f2f76d4 chore: revert to 2018 edition (#847)
Fixes https://github.com/hyperium/tonic/issues/843
2021-12-07 09:49:07 +01:00
Lucio FrancoandGitHub 2fe7131a23 chore: Prepare 0.6.0 release (#811) 2021-10-25 10:25:56 -04:00
Lucio FrancoandGitHub 23c1392fb7 fix(tonic): Remove Sync requirement for streams (#804) 2021-10-24 21:48:05 -04:00
Lucio FrancoandGitHub 1f3df8db9e chore: Upgrade to 2021 edition (#808) 2021-10-24 21:12:20 -04:00
Lucio FrancoandGitHub cc2b1634e2 chore: Update intra doc link lint name (#805) 2021-10-22 11:31:36 -04:00
Tom DyasandGitHub ff6a690cec fix(build): Correctly convert Empty to () (#734) 2021-10-22 08:44:27 -04:00
LOU XunandGitHub 53ecc1f85e fix(build): split path types in compile (#721)
BREAKING: Build paths now accept two different types
2021-10-20 10:46:28 -04:00
Derek StricklandandGitHub 3f9ab801f7 feat(build): Support prost's include_file option (#774) 2021-10-20 10:11:01 -04:00
Eliza WeismanandGitHub 09805ece45 feat: Update prost and friends to 0.9 (#791) 2021-10-19 10:59:28 -04:00
David PedersenandGitHub 65df87ad6c chore: Prepare tonic v0.5.2 (#738)
So as highlighted by
https://github.com/hyperium/tonic/issues/730#issuecomment-895635088 it
turns out the new `Interceptor` trait required changes to tonic-build as
well, which I forgot to publish yesterday. Didn't see it because it wasn't
clear from the commit message.

So this bumps tonic _and_ tonic-build to 0.5.2 so we can release both.
There are no code changes.
2021-08-10 15:35:36 +02:00
Yotam OfekandGitHub 8c8f4d1251 feat(tonic): add Interceptor trait (#713)
* Expose `Interceptor` trait.

* Revert changes to public API surface.

* Rename types, add deprecated alias for old names.
2021-07-27 11:11:51 -04:00
David PedersenandGitHub 99fdc98d41 chore: Prepare tonic-build v0.5.1 (#720) 2021-07-13 20:17:58 +02:00
David PedersenandGitHub 380d81dd86 fix(build): allow services to be named Service (#709)
Fixes https://github.com/hyperium/tonic/issues/676
2021-07-12 16:47:45 +02:00
David PedersenandGitHub 167e8cb5b2 fix(build): remove unnecessary Debug constraint for client streams (#719)
This was accidentally committed as part of
https://github.com/hyperium/tonic/pull/692.

Fixes https://github.com/hyperium/tonic/issues/718
2021-07-12 16:41:09 +02:00
David PedersenandGitHub 4b0ece6d28 chore: fix clippy lints (#707) 2021-07-09 18:23:55 +02:00
040e3a4811 chore: Prepare v0.5 release (#706)
* bump tonic version to 0.5

* Update changelog for 0.5

* Update CHANGELOG.md

Co-authored-by: David Pedersen <[email protected]>

* address comments

Co-authored-by: David Pedersen <[email protected]>
2021-07-08 15:53:14 -04:00
David PedersenandGitHub acdb3273bb chore: update prost, and related crates, to 0.8 (#703)
* chore: update prost, and related crates, to 0.8

Updates prost, prost-derive, prost-build, and prost-types to 0.8.

* Update the last few places
2021-07-08 15:02:02 -04:00
Conner BryanandGitHub a948a8f884 feat(build): support adding attributes to clients and servers (#684) 2021-07-08 15:01:28 -04:00
David PedersenandGitHub 0583cff80f feat(codec): compression support (#692)
* Initial compression support

* Support configuring compression on `Server`

* Minor clean up

* Test that compression is actually happening

* Clean up some todos

* channels compressing requests

* Move compression to be on the codecs

* Test sending compressed request to server that doesn't support it

* Clean up a bit

* Compress server streams

* Compress client streams

* Bidirectional streaming compression

* Handle receiving unsupported encoding

* Clean up

* Add note to future self

* Support disabling compression for individual responses

* Add docs

* Add compression examples

* Disable compression behind feature flag

* Add some docs

* Make flate2 optional dependency

* Fix docs wording

* Format

* Reply with which encodings are supported

* Convert tests to use mocked io

* Fix lints

* Use separate counters

* Don't make a long stream

* Address review feedback
2021-07-02 11:25:03 -04:00
David PedersenandGitHub e82f0b0399 build: generate root crate paths correctly (#623)
We shouldn't append `proto_path` (`super` by default) if the path starts
with `crate::`.

Fixes https://github.com/hyperium/tonic/issues/548
2021-06-02 16:58:43 +02:00
David PedersenandGitHub 9478fac979 fix(build): fix with_interceptor not building on Rust 1.51 (#669)
Fixes https://github.com/hyperium/tonic/issues/666
2021-05-27 15:47:42 +02:00
David PedersenandGitHub 4d2667d1cb feat(tonic): make it easier to add tower middleware to servers (#651) 2021-05-19 09:19:58 +02:00
David PedersenandGitHub 4dda4cbcca feat(tonic): Use BoxBody from http-body crate (#622)
As of `http-body` 0.4.1 its has had a `BoxBody` type similar to
`tonic::body::BoxBody`. It also has `Empty` and `Body::map_{data,err}`.

That means all the custom body things we had in tonic can basically be
replaced with that.

Note that this is a breaking change so we should merge this next time we
decide to ship a breaking release.

The breaking changes are:

- `tonic::body::Body` has been removed. I think its fine for users to
depend directly on `http-body` if they need this trait.
- `tonic::body::BoxBody` is now just a type alias for
`http_body::combinators::BoxBody<Bytes, Status>`. So the methods it
previously had are gone. The replacements are
  - `tonic::body::Body::new` -> `http_body::Body::boxed`
  - `tonic::body::Body::map_from` -> `http_body::Body::map_data` and
  `http_body::Body::map_err` depending on which part you want to map.
  - `tonic::body::Body::empty` -> `http_body::Empty`

Additionally a `Sync` bound has been added to a few methods. I actually
don't think this is a breaking change because the old
`tonic::body::Body` trait had `Sync` as a supertrait meaning the `Sync`
requirement was already there.

Fixes https://github.com/hyperium/tonic/issues/557
2021-05-18 10:41:21 +02:00
David PedersenandGitHub c39404d720 build: show all rustfmt output on errors (#621)
Sometimes error output from rustfmt might be printed to stdout instead
of stderr. So to help users debug rustfmt issues this makes stdout get
printed as well.

Fixes https://github.com/hyperium/tonic/issues/600
2021-05-08 16:11:03 +02:00
David PedersenandGitHub 4001665821 chore: Add deny(broken_intra_doc_links) to all crates (#616) 2021-04-29 15:57:21 +02:00
4926c60df4 Fix googleapis Readme (#573)
Co-authored-by: sidhhu <[email protected]>
2021-04-27 17:08:58 -04:00
Lucio FrancoandGitHub 8fa6daae92 chore: Prepare tonic 0.4.2 and health 0.3.1 (#605) 2021-04-13 18:20:13 -04:00
Greg MeltonandGitHub 480a79409c feat(build): Add prostoc_args (#577) 2021-04-07 17:36:46 -04:00
Ben SullyandGitHub 6c898a239f Use fully qualified path for futures_core::Stream in codegen (#591) 2021-03-28 19:31:20 +02:00
David PedersenandGitHub 7889c7ff97 Prepare 0.4.1 release (#580) 2021-03-16 17:39:57 +01:00
UebelAndreandGitHub ea56e2e2b8 feat(build): Use RUSTFMT to find rustfmt binary (#566) 2021-03-11 10:47:07 -05:00
Tom DyasandGitHub 61555ff2b5 feat(build): Support compiling well-known protobuf types (#522) 2021-02-23 16:21:03 -05:00
c54f24721c feat: Implement gRPC Reflection Service (#340)
Co-authored-by: Samani G. Gikandi <[email protected]>
2021-02-16 11:07:51 -05:00
Max BruceandGitHub 4f5e160679 feat(build): Add disable_package_emission option to tonic-build (#556) 2021-02-12 10:59:44 -05:00
Fuyang LiuandGitHub 729308b65b Better example code for google protos (#542)
* Better example code for google protos

* Try fix windows build

* Try fix windows build

* Remove generated code in repo
2021-01-21 13:59:23 -05:00
Lucio FrancoandGitHub fda2d689d4 chore: Prepare 0.4 release (#538)
* Prepare `0.4` release

* Fix cargo issues
2021-01-15 13:38:36 -05:00
fdda5ae26a Upgrade to Tokio 1.0.0 ecosystem (#530)
* Upgrade Tonic to Tokio 1.0

Work in progress for updating Tonic to Tokio 1.0. Since tower has not
been released to crates.io, a git dependency is taken instead.

* Upgrade Tonic to Tokio 1.0 phase 2

* tonic: remove tower-* deps

* Apply suggestions from code review

Co-authored-by: Ed Marshall <[email protected]>
Co-authored-by: Lucio Franco <[email protected]>
2021-01-11 12:18:34 -05:00
CameronandGitHub 6622bb1449 Update tonic logo (#508)
* Use fancy new logo

* Remove shell.nix
2021-01-05 16:03:33 -05:00
Tyler HawkesandGitHub 1b03ece2a8 fix(build): Match namespace code with other generated packages (#472) 2020-10-07 11:30:22 -04:00
Juan AlvarezandGitHub 0c69c378fd chore: clippy lints (#467)
* chore: clippy lints
2020-09-29 14:38:49 -05:00
Amanjeev SethiandGitHub 92a7cc86a6 tonic-build: (docs) adds NixOS related hints (#444) 2020-08-31 13:05:53 -04:00
Ximo GuanterandGitHub 62c1230117 fix(build): Add content-type for generated unimplemented service (#441) 2020-08-31 09:56:58 -04:00
Lucio FrancoandGitHub 90858926b6 chore: Prepare 0.3.1 release (#436) 2020-08-20 10:49:12 -04:00
Lucio Franco ecb1920782 fix doc link 2020-07-13 13:02:44 -04:00
Lucio FrancoandGitHub 62b8ab0b51 chore: Prepare 0.3.0 release (#399)
* chore: Prepare 0.3.0 release

* update changelog

* fix builds

* Update breaking changes
2020-07-13 13:00:54 -04:00
Lucio FrancoandGitHub a567f17e52 chore: Prepare 0.2.2 release (#396) 2020-07-10 12:59:22 -04:00
Tyler HawkesandGitHub f085aba302 fix(build): Allow empty packages (#382)
Fixes #381
2020-06-29 11:24:47 -04:00