27 Commits

Author SHA1 Message Date
b96718f8f0 metadata: Fix bug where AppendToOutgoingContext could modify another context's metadata (#1930) 2018-03-19 16:23:41 -07:00
08d626137c metadata: provide AppendToOutgoingContext interface (#1794)
- Provide AppendToOutgoingContext interface for imrproved performance
over manually creating md and joining with existing md
- Add benchmarks for old/new approaches

Fixes #1390
2018-02-12 11:10:37 -08:00
1cd234627e Documentation: update broken wire.html link in metadata package. (#1791)
https://grpc.io/docs/guides/wire.html is no longer valid.

Looking at an archived version of that page
(https://web.archive.org/web/20171006045517/https://grpc.io/docs/guides/wire.html)
it looks equilavent to what is now posted at:
https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md.

The gRPC guide: https://grpc.io/docs/guides/ contains a link in the
sidebar navigation to the same page, so pretty sure it's correct.
2018-01-10 10:25:54 -08:00
69abda08b5 stats: add methods to allow setting grpc-trace-bin and grpc-tags-bin headers (#1404)
This is in preparation for preventing any user-supplied metadata starting with "grpc-", which is reserved.

* stats: add methods to allow setting grpc-trace-bin and grpc-tags-bin headers

Pick these up in grpc's transport when sending and fill them when receiving.

* Add tags/trace to metadata and tests for that behavior

This is temporary to maintain compatibility and provide a migration strategy.
2017-08-24 10:00:40 -07:00
596a6acc87 metadata: Remove NewContext and FromContext for gRFC L7 (#1392) 2017-08-17 13:10:28 -07:00
93166a0b0b Canonicalize https://grpc.io as the preferred URL prefix 2017-07-10 16:28:39 -07:00
0c68d6e2f2 Specify characters allowed in metadata keys (#1299) 2017-06-12 15:05:52 -07:00
ddbf6c46a6 autofix license notice 2017-06-08 14:42:19 +02:00
a40b8d44e0 Address the comments 2017-05-04 16:29:17 -07:00
7ddf89f9b7 Fix doc 2017-05-04 10:30:28 -07:00
b610ffd3f8 Never encode binary metadata within the metadata map (#1188)
This change ensures consistency for the user when accessing metadata values:
they are never encoded except when sent on the wire.  Previously, they would
appear encoded to client code, but not to server code.  As such, this
represents a behavior change, but one unlikely to affect user code, as it's
unusual to inspect the metadata after setting it.
2017-04-28 10:56:58 -07:00
0c1d39df28 Separate incoming and outgoing metadata in context
This will prevent the incoming RPCs' metadata from appearing in outgoing RPCs
unless it is explicitly copied, e.g.:

incomingMD, ok := metadata.FromContext(ctx)
if ok {
  ctx = metadata.NewContext(ctx, incomingMD)
}

Fixes #1148
2017-04-07 11:54:56 -07:00
6810d34606 fix issue #1056 and #1050 2017-02-13 17:37:53 -08:00
b13ef79499 add more comments to metadata Fromcontext (#986) 2016-11-16 17:42:18 -08:00
b32ff19331 Add context.Join instead 2016-09-23 11:12:52 +10:00
164a9d0a3e metadata.NewContext merges old metadata
Previously metadata.NewContext(ctx, md) replaces whatever metadata in
ctx with md.
This patch merges the old metadata with md before returning the new
context.

Fixes #902.
2016-09-22 17:12:07 +10:00
fe4145af27 Allow comma in metadata Binary-Header value 2016-07-27 14:42:29 -07:00
a98f0170cf fix some print format errors 2015-12-16 11:36:52 -08:00
2f524e51f1 add more tests 2015-12-15 16:13:30 -08:00
3d2cc2df9c remove dead code 2015-12-15 15:53:37 -08:00
87d84117a8 i) lower case metedata key names; ii) make binary encoding consistent with other impls. 2015-12-15 15:30:52 -08:00
1f14f6f0c5 gofmt 2015-08-10 17:34:20 -07:00
484e2d96e5 change the metadata datastructure 2015-08-10 16:06:27 -07:00
450bbf71af fix a typo 2015-02-25 16:39:41 -08:00
c42573b827 improve error logging 2015-02-25 16:33:12 -08:00
3981839a52 Add import comments to grpc packages.
This enforces that these packages are used with these import paths.
See http://golang.org/cmd/go/#hdr-Import_path_checking for documentation.
2015-02-09 13:46:16 +11:00
e71095e0ec Move source files up one level.
The top-level directory in this repository is going to be
the main "grpc" package.
2015-02-09 11:33:38 +11:00