diff --git a/bin/src/server.rs b/bin/src/server.rs index c90a6a1..c2dce9b 100644 --- a/bin/src/server.rs +++ b/bin/src/server.rs @@ -27,9 +27,10 @@ pub struct ServerState { } pub async fn get_qmdl(State(state): State>, Path(qmdl_name): Path) -> Result { + let qmdl_idx = qmdl_name.trim_end_matches(".qmdl"); let qmdl_store = state.qmdl_store_lock.read().await; - 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)))?; + let (entry_index, entry) = qmdl_store.entry_for_name(&qmdl_idx) + .ok_or((StatusCode::NOT_FOUND, format!("couldn't find qmdl file with name {}", qmdl_idx)))?; let qmdl_file = qmdl_store.open_entry_qmdl(entry_index).await .map_err(|e| (StatusCode::INTERNAL_SERVER_ERROR, format!("error opening QMDL file: {}", e)))?; let limited_qmdl_file = qmdl_file.take(entry.qmdl_size_bytes as u64); diff --git a/bin/static/js/main.js b/bin/static/js/main.js index b049728..5e24b5b 100644 --- a/bin/static/js/main.js +++ b/bin/static/js/main.js @@ -136,7 +136,7 @@ function createEntryRow(entry, isCurrent) { row.appendChild(pcapTd); const qmdlTd = document.createElement('td'); - qmdlTd.appendChild(createLink(`/api/qmdl/${entry.name}`, 'qmdl')); + qmdlTd.appendChild(createLink(`/api/qmdl/${entry.name}.qmdl`, 'qmdl')); row.appendChild(qmdlTd); const analysisResult = document.createElement('td');