isJSONScalar now encodes each value and keeps it only when the encoding is a string, number, boolean or null, so a named scalar whose MarshalJSON writes an array or object, NaN and the infinities are dropped. writeJSON encodes into a buffer before the status line, so an encode failure is a logged 500 with the generic envelope instead of a 200 with a truncated body.
7.1 KiB
7.1 KiB