Skip to content

Commit d74342d

Browse files
BiomeOS Developercursoragent
andcommitted
refactor: evolve Option<&String> to Option<&str> in BTSP session key decode
decode_session_key now takes Option<&str> (idiomatic) instead of Option<&String>. Callers updated from .as_ref() to .as_deref(). Last &String anti-pattern eliminated. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent b9828fe commit d74342d

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

crates/loam-spine-core/src/btsp/handshake.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ async fn verify_and_complete<W: AsyncWriteExt + Unpin + Send>(
184184
"BTSP: client verified"
185185
);
186186

187-
let handshake_key = decode_session_key(verify.session_key.as_ref());
187+
let handshake_key = decode_session_key(verify.session_key.as_deref());
188188

189189
let session_id = verify
190190
.session_id
@@ -381,7 +381,7 @@ async fn ndjson_verify_and_complete<W: AsyncWriteExt + Unpin + Send>(
381381
"BTSP NDJSON: client verified"
382382
);
383383

384-
let handshake_key = decode_session_key(verify.session_key.as_ref());
384+
let handshake_key = decode_session_key(verify.session_key.as_deref());
385385

386386
let session_id = verify
387387
.session_id
@@ -485,10 +485,10 @@ async fn ndjson_send_error<W: AsyncWriteExt + Unpin + Send>(
485485
///
486486
/// Returns `None` if the key is absent, decode fails, or length is wrong.
487487
/// Graceful degradation: missing key = null cipher fallback.
488-
fn decode_session_key(session_key: Option<&String>) -> Option<[u8; 32]> {
488+
fn decode_session_key(session_key: Option<&str>) -> Option<[u8; 32]> {
489489
use base64::Engine;
490490

491-
let encoded = session_key?.as_str();
491+
let encoded = session_key?;
492492
let decoded = base64::engine::general_purpose::STANDARD
493493
.decode(encoded)
494494
.ok()?;

0 commit comments

Comments
 (0)