示例#1
0
 /**
  * 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
  */
 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);
 }
示例#2
0
文件: Request.php 项目: sndsgd/http
 /**
  * {@inheritdoc}
  */
 public function getContentType() : string
 {
     if ($this->contentType === null) {
         $header = strtolower($this->getHeader("content-type", ""));
         $this->contentType = \sndsgd\Str::before($header, ";");
     }
     return $this->contentType;
 }