refactor: decompose large functions and remove dead code
- Decompose modify_request() into 7 single-responsibility helpers - Decompose handle_http_over_tls(): extract read_full_request, dispatch_stream_events - Promote connect_upstream/resolve_upstream to module-level functions - Split standalone.rs (1238 lines) into 4 submodules: standalone/mod.rs, spawn.rs, discovery.rs, stub.rs - Extract proto wire primitives into proto/wire.rs - Remove 6 dead MitmStore methods - Remove dead SessionResult, DEFAULT_SESSION, get_or_create - Remove dead decode_varint_at, extract_conversation_id - Clean all unused imports across 10 files - Suppress structural dead_code warnings on deserialization fields Warnings: 20 -> 0. All 43 tests pass.
This commit is contained in:
@@ -37,6 +37,9 @@ use flate2::read::GzDecoder;
|
||||
use std::io::Read;
|
||||
use tracing::{debug, trace, warn};
|
||||
|
||||
// Re-import the shared varint decoder under the name used throughout this module
|
||||
use crate::proto::wire::decode_varint as read_varint;
|
||||
|
||||
/// A decoded protobuf field.
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ProtoValue {
|
||||
@@ -260,26 +263,7 @@ fn looks_like_valid_message(fields: &[ProtoField], original_len: usize) -> bool
|
||||
}
|
||||
}
|
||||
|
||||
/// Read a varint from a byte slice. Returns (value, bytes_consumed).
|
||||
pub fn read_varint(data: &[u8]) -> Option<(u64, usize)> {
|
||||
let mut result: u64 = 0;
|
||||
let mut shift = 0;
|
||||
|
||||
for (i, &byte) in data.iter().enumerate() {
|
||||
if i >= 10 {
|
||||
return None; // Too many bytes for a varint
|
||||
}
|
||||
|
||||
result |= ((byte & 0x7F) as u64) << shift;
|
||||
shift += 7;
|
||||
|
||||
if byte & 0x80 == 0 {
|
||||
return Some((result, i + 1));
|
||||
}
|
||||
}
|
||||
|
||||
None
|
||||
}
|
||||
|
||||
/// Search a decoded protobuf message tree for usage-like structures.
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user