Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 4 additions & 56 deletions model_gateway/src/routers/grpc/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,10 @@ pub(crate) struct ResponseState {
/// response_processing runs.
pub skip_special_tokens: Option<bool>,

/// Response-phase view of the request, set by request building so
/// response processing never reads the payload after dispatch.
pub request_view: Option<super::regular::views::RequestView>,

/// Execution result (streams from workers)
pub execution_result: Option<ExecutionResult>,

Expand Down Expand Up @@ -637,18 +641,6 @@ impl RequestContext {
)
}

/// Get chat request (panics if not chat)
#[expect(
clippy::panic,
reason = "typed accessor: caller guarantees variant via RequestType construction"
)]
pub fn chat_request(&self) -> &ChatCompletionRequest {
match &self.input.request_type {
RequestType::Chat(req) => req.as_ref(),
_ => panic!("Expected chat request"),
}
}

/// Get Arc clone of chat request (panics if not chat)
#[expect(
clippy::panic,
Expand All @@ -661,18 +653,6 @@ impl RequestContext {
}
}

/// Get generate request (panics if not generate)
#[expect(
clippy::panic,
reason = "typed accessor: caller guarantees variant via RequestType construction"
)]
pub fn generate_request(&self) -> &GenerateRequest {
match &self.input.request_type {
RequestType::Generate(req) => req.as_ref(),
_ => panic!("Expected generate request"),
}
}

/// Get Arc clone of generate request (panics if not generate)
#[expect(
clippy::panic,
Expand All @@ -685,22 +665,6 @@ impl RequestContext {
}
}

/// Get completion request (panics if not completion)
#[expect(
dead_code,
reason = "ref accessor provided for API completeness alongside Arc accessor"
)]
#[expect(
clippy::panic,
reason = "typed accessor: caller guarantees variant via RequestType construction"
)]
pub fn completion_request(&self) -> &CompletionRequest {
match &self.input.request_type {
RequestType::Completion(req) => req.as_ref(),
_ => panic!("Expected completion request"),
}
}

/// Get Arc clone of completion request (panics if not completion)
#[expect(
clippy::panic,
Expand All @@ -725,22 +689,6 @@ impl RequestContext {
}
}

/// Get messages request (panics if not messages)
#[expect(
dead_code,
reason = "scaffolding for Messages API pipeline, wired in follow-up PR"
)]
#[expect(
clippy::panic,
reason = "typed accessor: caller guarantees variant via RequestType construction"
)]
pub fn messages_request(&self) -> &CreateMessageRequest {
match &self.input.request_type {
RequestType::Messages(req) => req.as_ref(),
_ => panic!("Expected messages request"),
}
}

/// Get Arc clone of messages request (panics if not messages)
#[expect(
clippy::panic,
Expand Down
Loading
Loading