feat(http): implement ADR-051 YAML input for from_openapi — from_yaml + JSON-first from_str
Adds OpenAPISpec::from_yaml and OpenAPISpec::from_str alongside the existing from_json. from_str is JSON-first, YAML-fallback (ADR-051 §2): a valid JSON doc parses through serde_json (stricter grammar, immune to YAML-specific coercion); only on JSON failure does it fall back to the YAML parser. yaml_serde 0.10 (resolves to 0.10.4, latest stable) is the maintained official-YAML-org fork of the deprecated serde_yaml; not feature-gated per ADR-051 §3 (YAML OpenAPI is first-class). Note: ADR-051 §2's stated YAML 1.1 boolean-coercion rationale does not hold for yaml_serde 0.10 (YAML 1.2 core schema — yes/no/on/off are strings). The JSON-first rule is retained per the Accepted ADR as a defensive default; tests document the actual 0.10.x behavior with explicit comments. The ADR rationale should be amended separately. 256 tests pass; clippy + fmt clean.
This commit is contained in:
1 parent
193f3a0e24
commit
21c4f7d252
4 files changed
+288
-1
No files matched your search
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: http/adapters/from-openapi-yaml-input
|
||||
name: Add YAML input format to from_openapi (from_yaml + format-detecting from_str, JSON-first per ADR-051)
|
||||
status: pending
|
||||
status: completed
|
||||
depends_on: []
|
||||
scope: narrow
|
||||
risk: low
|
||||
|
||||
Reference in new issue
Block a user