Decides how a body travels, shared by server responses and client request
bodies. First match wins:
empty → none; XML element in budget → xml; textual UTF-8 in budget →
text; base64 in budget → base64; else the first acceptable stream
mechanism; else too-large.
Synchronous by design: callers wanting small streamed bodies inlined must
buffer them into a bytes source first (the server does this when the
content length is known and fits).
Decides how a body travels, shared by server responses and client request bodies. First match wins: empty → none; XML element in budget → xml; textual UTF-8 in budget → text; base64 in budget → base64; else the first acceptable stream mechanism; else too-large.
Synchronous by design: callers wanting small streamed bodies inlined must buffer them into a bytes source first (the server does this when the content length is known and fits).