stringToUTF8 and utf8ToString currently log and return an empty result when no global/optional codec resolves. That can turn a non-empty Request or Response into an empty payload. Both helpers also allocate a new codec on every call. I can contribute explicit errors for non-empty conversions without a codec, retain harmless empty conversions, and lazily reuse non-streaming codec instances. This does not add a mandatory dependency or claim to make dynamic Metro resolution work.
stringToUTF8 and utf8ToString currently log and return an empty result when no global/optional codec resolves. That can turn a non-empty Request or Response into an empty payload. Both helpers also allocate a new codec on every call. I can contribute explicit errors for non-empty conversions without a codec, retain harmless empty conversions, and lazily reuse non-streaming codec instances. This does not add a mandatory dependency or claim to make dynamic Metro resolution work.