public function parse($handleOrString)
    {
        $stream = Psr7\stream_for($handleOrString);
        $copy = Psr7\stream_for(fopen('php://temp', 'r+'));

        Psr7\copy_to_stream($stream, $copy);
        $copy->rewind();

        // don't close it when $stream gets destroyed
        $stream->detach();
        $parser = $this->di->newMessageParser();
        return $parser->parse($copy);
    }