Skip to content

Commit b544f95

Browse files
Expose Nexus Endpoint in a Nexus Operation Handler (#1211)
1 parent 4f05fc5 commit b544f95

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

crates/common/protos/local/temporal/sdk/core/nexus/nexus.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ message NexusTask {
6161
// Only set when variant is `task` and the header was present with a valid value.
6262
// Represented as an absolute timestamp.
6363
google.protobuf.Timestamp request_deadline = 3;
64+
// The endpoint this request was addressed to. Extracted from the request for convenient access.
65+
// Only set when variant is `task`.
66+
string endpoint = 4;
6467
}
6568

6669
message CancelNexusTask {

crates/sdk-core/src/worker/nexus.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,13 @@ where
413413
}
414414
}
415415

416+
let endpoint = t
417+
.resp
418+
.request
419+
.as_ref()
420+
.map(|r| r.endpoint.clone())
421+
.unwrap_or_default();
422+
416423
let (service, operation, request_kind) = t
417424
.resp
418425
.request
@@ -456,13 +463,15 @@ where
456463
Some(Ok(NexusTask {
457464
variant: Some(nexus_task::Variant::Task(t.resp)),
458465
request_deadline,
466+
endpoint,
459467
}))
460468
},
461469
Err(e) => Some(Err(PollError::TonicError(e)))
462470
},
463471
TaskStreamInput::Cancel(c) => Some(Ok(NexusTask {
464472
variant: Some(nexus_task::Variant::CancelTask(c)),
465473
request_deadline: None,
474+
endpoint: String::new(),
466475
})),
467476
TaskStreamInput::SourceComplete => {
468477
source_done.cancel();

0 commit comments

Comments
 (0)