Skip to content

Commit 83336c8

Browse files
authored
feat(worker)!: Rename headers to metadata for NativeConnection (#706)
To use the same term as `@temporalio/client.Connection` BREAKING CHANGE: - `NativeConnectionOptions.headers` was renamed to `NativeConnectionOptions.metadata` - `NativeConnection.updateHeaders` was renamed to `NativeConnection.updateMetadata`
1 parent 11af8be commit 83336c8

File tree

5 files changed

+20
-13
lines changed

5 files changed

+20
-13
lines changed

packages/core-bridge/index.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ export interface ClientOptions {
4242
* Optional retry options for server requests.
4343
*/
4444
retry?: RetryOptions;
45+
46+
/**
47+
* Optional mapping of gRPC metadata (HTTP headers) to send with each request to the server.
48+
*
49+
* Set statically at connection time, can be replaced later using {@link clientUpdateHeaders}.
50+
*/
51+
metadata?: Record<string, string>;
4552
}
4653

4754
/**

packages/core-bridge/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -576,13 +576,13 @@ fn client_new(mut cx: FunctionContext) -> JsResult<JsUndefined> {
576576
let callback = cx.argument::<JsFunction>(2)?;
577577

578578
let client_options = opts.as_client_options(&mut cx)?;
579-
let headers = match js_optional_getter!(&mut cx, &opts, "headers", JsObject) {
579+
let headers = match js_optional_getter!(&mut cx, &opts, "metadata", JsObject) {
580580
None => None,
581581
Some(h) => Some(
582582
h.as_hash_map_of_string_to_string(&mut cx)
583583
.map_err(|reason| {
584584
cx.throw_type_error::<_, HashMap<String, String>>(format!(
585-
"Invalid headers: {}",
585+
"Invalid metadata: {}",
586586
reason
587587
))
588588
.unwrap_err()

packages/test/src/test-native-connection-headers.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ test('NativeConnection passes headers provided in options', async (t) => {
6060

6161
const connection = await NativeConnection.connect({
6262
address: `127.0.0.1:${port}`,
63-
headers: { initial: 'true' },
63+
metadata: { initial: 'true' },
6464
});
6565
t.true(gotInitialHeader);
6666

67-
await connection.setHeaders({ update: 'true' });
67+
await connection.setMetadata({ update: 'true' });
6868
// Create a worker so it starts polling for activities so we can check our mock server got the "update" header
6969
const worker = await Worker.create({
7070
connection,

packages/worker/src/connection-options.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ export interface NativeConnectionOptions {
2323
tls?: TLSConfig | boolean | null;
2424

2525
/**
26-
* HTTP headers to send with each gRPC request.
26+
* Optional mapping of gRPC metadata (HTTP headers) to send with each request to the server.
2727
*
28-
* Set statically at connection time, can be replaced later using {@link NativeConnection.setHeaders}.
28+
* Set statically at connection time, can be replaced later using {@link NativeConnection.setMetadata}.
2929
*/
30-
headers?: Record<string, string>;
30+
metadata?: Record<string, string>;
3131
}
3232

33-
export type RequiredNativeConnectionOptions = Omit<Required<NativeConnectionOptions>, 'tls' | 'headers'> & {
33+
export type RequiredNativeConnectionOptions = Omit<Required<NativeConnectionOptions>, 'tls' | 'metadata'> & {
3434
tls?: NativeConnectionOptions['tls'];
35-
headers?: NativeConnectionOptions['headers'];
35+
metadata?: NativeConnectionOptions['metadata'];
3636
sdkVersion: string;
3737
};
3838

packages/worker/src/connection.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ export class NativeConnection {
6969
}
7070

7171
/**
72-
* Set HTTP headers to be set in each gRPC request.
72+
* Mapping of gRPC metadata (HTTP headers) to send with each request to the server.
7373
*
74-
* Use {@link NativeConnectionOptions.headers} to set the initial headers for client creation.
74+
* Use {@link NativeConnectionOptions.metadata} to set the initial metadata for client creation.
7575
*/
76-
async setHeaders(headers: Record<string, string>): Promise<void> {
77-
await updateHeaders(this.nativeClient, headers);
76+
async setMetadata(metadata: Record<string, string>): Promise<void> {
77+
await updateHeaders(this.nativeClient, metadata);
7878
}
7979
}
8080

0 commit comments

Comments
 (0)