protected function getDecoder(
        string $stream,
        string $contentType,
        int $contentLength,
        decoder\DecoderOptions $options
    )
    {
        $type = \sndsgd\Str::before($contentType, ";");
        if (!isset(static::$decoders[$type])) {
            throw new exception\BadRequestException(
                "failed to decode request body; ".
                "unknown content-type '$contentType'"
            );
        }

        $class = static::$decoders[$type];
        return new $class($stream, $contentType, $contentLength, $options);
    }
protected function getDecoder(
        string $stream,
        string $contentType,
        int $contentLength,
        decoder\DecoderOptions $options
    )
    {
        $type = \sndsgd\Str::before($contentType, ";");
        if (!isset(static::$decoders[$type])) {
            throw new exception\BadRequestException(
                "failed to decode request body; ".
                "unknown content-type '$contentType'"
            );
        }

        $class = static::$decoders[$type];
        return new $class($stream, $contentType, $contentLength, $options);
    }
protected function getDecoder ( string $ stream , string $ contentType , int $ contentLength , decoder \ DecoderOptions $ options ) { $ type = \ sndsgd \ Str :: before ( $ contentType , ";" ) ; if ( ! isset ( static :: $ decoders [ $ type ] ) ) { throw new exception \ BadRequestException ( "failed to decode request body; " . "unknown content-type '$contentType'" ) ; } $ class = static :: $ decoders [ $ type ] ; return new $ class ( $ stream , $ contentType , $ contentLength , $ options ) ; }
Stubbable method for creating a decoder instance

@param string $stream
@param string $contentType
@param int $contentLength
@param \sndsgd\http\data\DecoderOptions $options
@return \sndsgd\http\data\decoder\DecoderInterface
@throws \sndsgd\http\exception\BadRequestException
Stubbable method for creating a decoder instance