Skip to content

Commit 7a4e52b

Browse files
committed
fix: resolve workspace lint and test failures
1 parent 5d20c0b commit 7a4e52b

3 files changed

Lines changed: 29 additions & 32 deletions

File tree

crates/agent-core-v2/src/app/agent_profile_catalog/profile_shared.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ mod tests {
178178
.collect::<String>();
179179
assert_eq!(
180180
digest,
181-
"a6d893d3f5dd024936b8773012f4fd153bdefb043b4583b39913844e6de707c5"
181+
"ae0a53980f99df339518c3a707b2f0b4af56b1fa3879749f96e245de3c83fd8c"
182182
);
183183
}
184184

crates/web-server/src/controller.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,10 @@ impl WebServerController {
213213
}
214214
};
215215

216-
if persist {
217-
if let Err(error) = save_settings(&self.settings_path, settings) {
218-
next.close().await;
219-
self.mark_error(&error).await;
220-
return Err(error);
221-
}
216+
if persist && let Err(error) = save_settings(&self.settings_path, settings) {
217+
next.close().await;
218+
self.mark_error(&error).await;
219+
return Err(error);
222220
}
223221
let previous = {
224222
let mut inner = self.inner.lock().await;

crates/web-server/src/server.rs

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ pub(crate) async fn start_server(
223223

224224
async fn meta_handler(State(state): State<ServerState>, headers: HeaderMap) -> Response {
225225
if let Err(response) = authenticate_bearer(&state, &headers) {
226-
return response;
226+
return *response;
227227
}
228228
Json(serde_json::json!({
229229
"serverVersion": state.version,
@@ -241,7 +241,7 @@ async fn rpc_handler(
241241
) -> Response {
242242
let connection = match authenticate_connection(&state, &headers) {
243243
Ok(connection) => connection,
244-
Err(response) => return response,
244+
Err(response) => return *response,
245245
};
246246
let id = request.id;
247247
match dispatch_rpc(
@@ -270,7 +270,7 @@ async fn upload_handler(
270270
mut multipart: Multipart,
271271
) -> Response {
272272
if let Err(response) = authenticate_connection(&state, &headers) {
273-
return response;
273+
return *response;
274274
}
275275
let request_id = Uuid::new_v4().to_string();
276276
let mut filename = None;
@@ -336,7 +336,7 @@ async fn websocket_handler(
336336
websocket: WebSocketUpgrade,
337337
) -> Response {
338338
if let Err(response) = validate_host_and_origin(&state, &headers) {
339-
return response;
339+
return *response;
340340
}
341341
let Some(protocol) = websocket_bearer_protocol(&headers) else {
342342
return rpc_http_error(
@@ -409,7 +409,7 @@ async fn static_handler(
409409
uri: Uri,
410410
) -> Response {
411411
if let Err(response) = validate_host(&state, &headers) {
412-
return response;
412+
return *response;
413413
}
414414
if uri.path().starts_with("/_kimi/") {
415415
return StatusCode::NOT_FOUND.into_response();
@@ -464,52 +464,52 @@ fn normalized_asset_path(path: &str) -> Option<String> {
464464
fn authenticate_connection(
465465
state: &ServerState,
466466
headers: &HeaderMap,
467-
) -> Result<Arc<RpcConnection>, Response> {
467+
) -> Result<Arc<RpcConnection>, Box<Response>> {
468468
authenticate_bearer(state, headers)?;
469469
let Some(connection_id) = headers
470470
.get("x-kimi-connection-id")
471471
.and_then(|value| value.to_str().ok())
472472
else {
473-
return Err(rpc_http_error(
473+
return Err(Box::new(rpc_http_error(
474474
StatusCode::CONFLICT,
475475
"",
476476
"connection.required",
477477
"an active WebSocket connection is required",
478-
));
478+
)));
479479
};
480480
state
481481
.connections
482482
.lock()
483483
.ok()
484484
.and_then(|connections| connections.get(connection_id).cloned())
485485
.ok_or_else(|| {
486-
rpc_http_error(
486+
Box::new(rpc_http_error(
487487
StatusCode::CONFLICT,
488488
"",
489489
"connection.stale",
490490
"the WebSocket connection is no longer active",
491-
)
491+
))
492492
})
493493
}
494494

495-
fn authenticate_bearer(state: &ServerState, headers: &HeaderMap) -> Result<(), Response> {
495+
fn authenticate_bearer(state: &ServerState, headers: &HeaderMap) -> Result<(), Box<Response>> {
496496
validate_host_and_origin(state, headers)?;
497497
let credential = headers
498498
.get(header::AUTHORIZATION)
499499
.and_then(|value| value.to_str().ok())
500500
.and_then(|value| value.strip_prefix("Bearer "));
501501
if !credential.is_some_and(|value| token_matches(&state.token, value)) {
502-
return Err(rpc_http_error(
502+
return Err(Box::new(rpc_http_error(
503503
StatusCode::UNAUTHORIZED,
504504
"",
505505
"auth.invalid",
506506
"a valid bearer credential is required",
507-
));
507+
)));
508508
}
509509
Ok(())
510510
}
511511

512-
fn validate_host_and_origin(state: &ServerState, headers: &HeaderMap) -> Result<(), Response> {
512+
fn validate_host_and_origin(state: &ServerState, headers: &HeaderMap) -> Result<(), Box<Response>> {
513513
validate_host(state, headers)?;
514514
let host = headers
515515
.get(header::HOST)
@@ -518,31 +518,30 @@ fn validate_host_and_origin(state: &ServerState, headers: &HeaderMap) -> Result<
518518
if let Some(origin) = headers
519519
.get(header::ORIGIN)
520520
.and_then(|value| value.to_str().ok())
521+
&& !origin_allowed(state.listen_scope, state.port, host, origin)
521522
{
522-
if !origin_allowed(state.listen_scope, state.port, host, origin) {
523-
return Err(rpc_http_error(
524-
StatusCode::FORBIDDEN,
525-
"",
526-
"origin.rejected",
527-
"request origin is not allowed",
528-
));
529-
}
523+
return Err(Box::new(rpc_http_error(
524+
StatusCode::FORBIDDEN,
525+
"",
526+
"origin.rejected",
527+
"request origin is not allowed",
528+
)));
530529
}
531530
Ok(())
532531
}
533532

534-
fn validate_host(state: &ServerState, headers: &HeaderMap) -> Result<(), Response> {
533+
fn validate_host(state: &ServerState, headers: &HeaderMap) -> Result<(), Box<Response>> {
535534
let host = headers
536535
.get(header::HOST)
537536
.and_then(|value| value.to_str().ok())
538537
.unwrap_or_default();
539538
if !host_allowed(state.listen_scope, state.port, host) {
540-
return Err(rpc_http_error(
539+
return Err(Box::new(rpc_http_error(
541540
StatusCode::BAD_REQUEST,
542541
"",
543542
"host.rejected",
544543
"request host is not allowed",
545-
));
544+
)));
546545
}
547546
Ok(())
548547
}

0 commit comments

Comments
 (0)