use extension to set incoming content-type for convenience and decode response based on content-type header with fallback to configured incoming content-type