tonic_rest_openapi/
lib.rs1#![allow(clippy::doc_markdown)] #![doc = include_str!("../README.md")]
3#![forbid(unsafe_code)]
9#![deny(missing_docs)]
10
11mod config;
12pub(crate) use tonic_rest_build::descriptor;
13mod discover;
14mod error;
15mod patch;
16
17pub const DEFAULT_ERROR_SCHEMA_REF: &str = "#/components/schemas/ErrorResponse";
22
23pub use config::{PlainTextEndpoint, ProjectConfig, TransformConfig};
24pub use discover::{discover, ProtoMetadata};
25pub use error::{Error, Result};
26pub use patch::{patch, PatchConfig};
27
28#[doc(hidden)]
34pub mod internal {
35 pub use crate::discover::{
36 resolve_operation_ids, EnumRewrite, FieldConstraint, OperationEntry, PathParamConstraint,
37 PathParamInfo, SchemaConstraints, StreamingOp,
38 };
39
40 use std::collections::HashMap;
41
42 use crate::discover::ProtoMetadata;
43
44 impl ProtoMetadata {
48 pub fn set_streaming_ops(&mut self, ops: Vec<StreamingOp>) {
50 self.streaming_ops = ops;
51 }
52
53 pub fn set_operation_ids(&mut self, ids: Vec<OperationEntry>) {
55 self.operation_ids = ids;
56 }
57
58 pub fn set_field_constraints(&mut self, constraints: Vec<SchemaConstraints>) {
60 self.field_constraints = constraints;
61 }
62
63 pub fn set_enum_rewrites(&mut self, rewrites: Vec<EnumRewrite>) {
65 self.enum_rewrites = rewrites;
66 }
67
68 pub fn set_enum_value_map(&mut self, map: HashMap<String, String>) {
70 self.enum_value_map = map;
71 }
72 }
73}