Expand description
Parse endpoints for IFC file processing.
Re-exportsΒ§
pub use fetch::check_cache;pub use fetch::get_cached_geometry;pub use fetch::get_data_model;pub use fetch::get_symbolic;pub use json::parse_full;pub use json::parse_metadata;pub use json::parse_stream;pub use parquet::parse_parquet;pub use parquet_optimized::parse_parquet_optimized;pub use parquet_stream::parse_parquet_stream;
ModulesΒ§
- cache_
keys π - Cache-key builders and symbolic-data cache helpers shared by the parse endpoints.
- cached_
replay π - Cached-replay fast path for the SSE Parquet streaming endpoint: when a
requestβs geometry + metadata are already cached, replay them without
re-parsing, in the same Start / (Batch + Progress)* / Complete shape a
live parse streams (issue #3895). The geometry is split back into its
original stream batches via
parquet_replay_batches::split_into_batches(recovered from the cached blobβs Parquet row-group boundaries); a blob with no recoverable boundary falls back to one oversized batch, same as before. - fetch π
- GET cache fetch / check endpoints.
- json π
- JSON / SSE-JSON parse endpoints.
- parquet π
- Binary Parquet parse endpoints.
- parquet_
optimized π POST /api/v1/parse/parquet/optimized: the ara3d BOS-optimized Parquet parse endpoint, split out ofparquet.rswhen it gained a cache of its own (issue #3889) so neither module crosses the 400-line ratchet. The cache replay itself (metadata header, read-through-cache, response builder) now lives inparquet_optimized_replay.rs(issue #5128) for the same reason.- parquet_
optimized_ πreplay - Cache-replay plumbing for
POST /api/v1/parse/parquet/optimized, split out ofparquet_optimized.rs(issue #5128) so the route stays under the module-size ratchet once it gains a?sha256=probe of its own β the same reason the flat routeβs replay lives incached_replay.rsrather than inparquet_stream.rs.replay_optimized_by_client_hashIS that probe. - parquet_
stream π - SSE Parquet-batch streaming parse endpoint.
- replay_
header π - Marking a replayed
X-IFC-Metadataheader as served from cache (#5542). - stream_
batch π - One streamed batchβs CPU work on
POST /api/v1/parse/parquet-stream: the cache-writer append and the client blob, in either stream mode. - stream_
event π - The SSE wire type of
POST /api/v1/parse/parquet-stream. - stream_
progress π - The per-batch progress checkpoints a live parquet-stream parse reported, cached so a later cache hit can replay the SAME numbers.
StructsΒ§
- Parse
Query - Query parameters shared by all parse endpoints.
FunctionsΒ§
- cache_
symbolic_ πdata_ off_ runtime - Write the symbolic sidecar through
cache_keys::cache_symbolic_dataon the blocking pool (#4696). - extract_
file π - Extract file data from multipart request.
Automatically decompresses gzip-compressed files, refusing inputs whose
decompressed size would exceed
max_file_size_mb. - is_
apple_ πdouble - Unwrap a buildingSMART
.ifcZIPcontainer (issue #1494): a plain zip archive wrapping a single.ifc/.ifcxmlmodel file (optionally alongside referenced resources like textures β those are ignored, not extracted). Returns the model entryβs bytes so the rest of the pipeline never has to know zip existed. Mirrors the TypeScriptunwrapIfcZipsemantics (packages/parser/src/ifczip.ts): rejects an archive with zero or more than one candidate rather than silently guessing which model to load, and bounds the decompressed size (zip-bomb guard) against the samemax_bytesceiling the raw/gzip paths use. Whether an archive entry is a macOS AppleDouble sidecar rather than content. - unwrap_
ifczip π