Skip to content

refuse a multipart file part on a service that also rides the bus - #290

Merged
eburgos merged 1 commit into
masterfrom
multipart-amqp-guard
Sep 6, 2026
Merged

refuse a multipart file part on a service that also rides the bus#290
eburgos merged 1 commit into
masterfrom
multipart-amqp-guard

Conversation

@eburgos

@eburgos eburgos commented Sep 6, 2026

Copy link
Copy Markdown
Owner

A part(...) file binding arrives as a seam-typed body handle only http_rest can fill; a service also asking for amqp_rpc would emit a bus arm with a parameter nothing on the wire can carry. Refused at expansion — spanned on the operation, errors combined across operations, message naming both ways out — with the verbatim diagnostic captured as a compile_fail doctest. Scalar-only multipart on a dual-transport service stays legal (verified by probe: unbound scalar fields ride the JSON payload exactly like a json operation), so the guard sits exactly on the real failure boundary.

Gate: just lint, just test-named-features, all-features clippy green.

A file part arrives as a seam-typed body handle only the http
transport can fill; the amqp dispatcher would emit an arm with a
parameter nothing on the bus wire can carry. The refusal lands at the
seam where the transport list and the parsed bindings are both known,
spanned on the operation, naming both ways out. A multipart operation
carrying only scalar fields stays legal on a dual-transport service -
its fields ride the payload like any json operation, verified by
probe before the guard was scoped to file parts alone.
@eburgos
eburgos merged commit d6c1567 into master Sep 6, 2026
@eburgos
eburgos deleted the multipart-amqp-guard branch September 6, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant