'If the incoming form data was not encoded with a known mimetype
the data is stored unmodified in this stream for consumption.  Most
of the time it is a better idea to use :attr:`data` which will give
you that data as a string.  The stream only returns the data once.
Unlike :attr:`input_stream` this stream is properly guarded that you
can\'t accidentally read past the length of the input.  Werkzeug will
internally always refer to this stream to read data which makes it
possible to wrap this object with a stream that does filtering.
.. versionchanged:: 0.13
The stream will be limited to :attr:`max_content_length` if the
request does not specify a content length or it is greater than the
configured max.
.. versionchanged:: 0.9
This stream is now always available but might be consumed by the
form parser later on.  Previously the stream was only set if no
parsing happened.'

@cached_property
def stream(self):

    _assert_not_shallow(self)
    return get_input_stream(self.environ, max_content_length=self.max_content_length)
