diff --git a/bin/src/pcap.rs b/bin/src/pcap.rs index ac94095..1d4d5ad 100644 --- a/bin/src/pcap.rs +++ b/bin/src/pcap.rs @@ -21,12 +21,15 @@ use tokio_util::io::ReaderStream; // pcap data to a channel that's piped to the client. pub async fn get_pcap( State(state): State>, - Path(qmdl_name): Path, + Path(mut qmdl_name): Path, ) -> Result { let qmdl_store = state.qmdl_store_lock.read().await; + if qmdl_name.ends_with("pcapng") { + qmdl_name = qmdl_name.trim_end_matches(".pcapng").to_string(); + } let (entry_index, entry) = qmdl_store.entry_for_name(&qmdl_name).ok_or(( StatusCode::NOT_FOUND, - format!("couldn't find qmdl file with name {}", qmdl_name), + format!("couldn't find manifest entry with name {}", qmdl_name), ))?; if entry.qmdl_size_bytes == 0 { return Err(( diff --git a/bin/web/src/lib/manifest.svelte.ts b/bin/web/src/lib/manifest.svelte.ts index 6fb9da1..817d1af 100644 --- a/bin/web/src/lib/manifest.svelte.ts +++ b/bin/web/src/lib/manifest.svelte.ts @@ -86,11 +86,11 @@ export class ManifestEntry { } get_pcap_url(): string { - return `/api/pcap/${this.name}`; + return `/api/pcap/${this.name}.pcapng`; } get_qmdl_url(): string { - return `/api/qmdl/${this.name}`; + return `/api/qmdl/${this.name}.qmdl`; } get_analysis_report_url(): string {