Skip to main content

xidl_parser/http_hir/
mod.rs

1mod attr;
2mod model;
3mod project;
4mod project_params;
5mod route;
6pub mod semantics;
7#[cfg(test)]
8mod tests;
9mod validate;
10
11use serde::{Deserialize, Serialize};
12
13pub use model::*;
14pub use project::project;
15
16/// Selects the projected HIR shape produced from typed AST input.
17#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
18pub enum HirProjectionKind {
19    Rpc,
20    Http,
21    JsonRpc,
22}
23
24/// Represents either the standard DDS/RPC HIR or the projected HTTP HIR.
25#[derive(Debug, Clone, Serialize, Deserialize)]
26pub enum ProjectedHir {
27    Rpc(crate::hir::Specification),
28    Http(HttpHirDocument),
29    JsonRpc(crate::jsonrpc_hir::JsonRpcHirDocument),
30}
31
32pub(crate) type HttpHirResult<T> = Result<T, String>;