Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit a430e08

Browse files
ofrobotskjin
authored andcommitted
feat: add propagation interface
1 parent d4185b0 commit a430e08

File tree

1 file changed

+38
-0
lines changed
  • packages/opencensus-core/src/trace/propagation

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Copyright 2018, OpenCensus Authors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
import {SpanContext} from '../model/types';
18+
19+
/**
20+
* An transport and environment neutral API for getting request headers.
21+
*/
22+
export interface HeaderGetter {
23+
getHeader(name: string): string|string[]|undefined;
24+
}
25+
26+
/**
27+
* A transport and environment neutral API for setting headers.
28+
*/
29+
export interface HeaderSetter { setHeader(name: string, value: string): void; }
30+
31+
/**
32+
* Propagation interface
33+
*/
34+
export interface Propagation {
35+
extract(getter: HeaderGetter): SpanContext|null;
36+
inject(setter: HeaderSetter, spanContext: SpanContext): void;
37+
generate(): SpanContext;
38+
}

0 commit comments

Comments
 (0)