(
State(state): State<AppState>,
headers: HeaderMap,
Query(params): Query<ImplementationQuery>,
)
| 444 | } |
| 445 | |
| 446 | async fn get_implementation( |
| 447 | State(state): State<AppState>, |
| 448 | headers: HeaderMap, |
| 449 | Query(params): Query<ImplementationQuery>, |
| 450 | ) -> Result<Json<Value>, AppError> { |
| 451 | let project = require_project(&state, &headers)?; |
| 452 | let source = symbol_ops::get_implementation( |
| 453 | &project.root, |
| 454 | &project.symbol_table, |
| 455 | ¶ms.symbol, |
| 456 | ¶ms.file, |
| 457 | ) |
| 458 | .map_err(AppError::NotFound)?; |
| 459 | let preview = format!("{}::{} ({} bytes)", params.file, params.symbol, source.len()); |
| 460 | record_history(&state, session_id(&headers).as_deref(), "GET", "/symbols/implementation", &preview); |
| 461 | Ok(Json(json!({ |
| 462 | "symbol": params.symbol, |
| 463 | "file": params.file, |
| 464 | "source": source, |
| 465 | }))) |
| 466 | } |
| 467 | |
| 468 | #[derive(Deserialize)] |
| 469 | struct TestsQuery { |
nothing calls this directly
no test coverage detected