fix: only set the content-type if it hasn't been set already