pub fn bind_request(
flow: &IRFlow,
path: &HashMap<String, String>,
query: &HashMap<String, String>,
body: Option<&Value>,
) -> Vec<(String, String)>Expand description
§Fase 37.y — Bind a request to a flow’s declared parameters across THREE binding sources: path placeholders (URL captures), query string params, and a parsed JSON body.
For each parameter p of flow, the binder searches the three
maps in declaration-source precedence (D4 guarantees there is
AT MOST ONE source via compile-time axon-T901):
path—HashMap<String, String>(URL path placeholder captures; values are URL-decoded raw text per HTTP convention).query—HashMap<String, String>(URL query string; the adopter passes the first value for multi-value keys per v1.38.5 honest-scope semantics).body—Option<&Value>(the parsed JSON body; the v1.36.0 surface, unchanged).
The result is ordered by the flow’s parameter declaration order — deterministic for tests and the 37.g property pass.
Empty path + empty query + None body is a no-op (D5
backwards-compat: callers that didn’t pass path/query before
v1.38.5 use bind_request_body which delegates here with empty
maps; the result is byte-identical to the pre-37.y behavior).