def parse_form_data(environ, stream_factory=None, charset='utf-8', errors='replace', max_form_memory_size=None, max_content_length=None, cls=None, silent=True):
    'Parse the form data in the environ and return it as tuple in the form\n    ``(stream, form, files)``.  You should only call this method if the\n    transport method is `POST`, `PUT`, or `PATCH`.\n\n    If the mimetype of the data transmitted is `multipart/form-data` the\n    files multidict will be filled with `FileStorage` objects.  If the\n    mimetype is unknown the input stream is wrapped and returned as first\n    argument, else the stream is empty.\n\n    This is a shortcut for the common usage of :class:`FormDataParser`.\n\n    Have a look at :ref:`dealing-with-request-data` for more details.\n\n    .. versionadded:: 0.5\n       The `max_form_memory_size`, `max_content_length` and\n       `cls` parameters were added.\n\n    .. versionadded:: 0.5.1\n       The optional `silent` flag was added.\n\n    :param environ: the WSGI environment to be used for parsing.\n    :param stream_factory: An optional callable that returns a new read and\n                           writeable file descriptor.  This callable works\n                           the same as :meth:`~BaseResponse._get_file_stream`.\n    :param charset: The character set for URL and url encoded form data.\n    :param errors: The encoding error behavior.\n    :param max_form_memory_size: the maximum number of bytes to be accepted for\n                           in-memory stored form data.  If the data\n                           exceeds the value specified an\n                           :exc:`~exceptions.RequestEntityTooLarge`\n                           exception is raised.\n    :param max_content_length: If this is provided and the transmitted data\n                               is longer than this value an\n                               :exc:`~exceptions.RequestEntityTooLarge`\n                               exception is raised.\n    :param cls: an optional dict class to use.  If this is not specified\n                       or `None` the default :class:`MultiDict` is used.\n    :param silent: If set to False parsing errors will not be caught.\n    :return: A tuple in the form ``(stream, form, files)``.\n    '
    return FormDataParser(stream_factory, charset, errors, max_form_memory_size, max_content_length, cls, silent).parse_from_environ(environ)
Parse the form data in the environ and return it as tuple in the form
``(stream, form, files)``.  You should only call this method if the
transport method is `POST`, `PUT`, or `PATCH`.

If the mimetype of the data transmitted is `multipart/form-data` the
files multidict will be filled with `FileStorage` objects.  If the
mimetype is unknown the input stream is wrapped and returned as first
argument, else the stream is empty.

This is a shortcut for the common usage of :class:`FormDataParser`.

Have a look at :ref:`dealing-with-request-data` for more details.

.. versionadded:: 0.5
   The `max_form_memory_size`, `max_content_length` and
   `cls` parameters were added.

.. versionadded:: 0.5.1
   The optional `silent` flag was added.

:param environ: the WSGI environment to be used for parsing.
:param stream_factory: An optional callable that returns a new read and
                       writeable file descriptor.  This callable works
                       the same as :meth:`~BaseResponse._get_file_stream`.
:param charset: The character set for URL and url encoded form data.
:param errors: The encoding error behavior.
:param max_form_memory_size: the maximum number of bytes to be accepted for
                       in-memory stored form data.  If the data
                       exceeds the value specified an
                       :exc:`~exceptions.RequestEntityTooLarge`
                       exception is raised.
:param max_content_length: If this is provided and the transmitted data
                           is longer than this value an
                           :exc:`~exceptions.RequestEntityTooLarge`
                           exception is raised.
:param cls: an optional dict class to use.  If this is not specified
                   or `None` the default :class:`MultiDict` is used.
:param silent: If set to False parsing errors will not be caught.
:return: A tuple in the form ``(stream, form, files)``.
def parse_form_data(environ, stream_factory=None, charset='utf-8', errors='replace', max_form_memory_size=None, max_content_length=None, cls=None, silent=True):
    'Parse the form data in the environ and return it as tuple in the form\n    ``(stream, form, files)``.  You should only call this method if the\n    transport method is `POST`, `PUT`, or `PATCH`.\n\n    If the mimetype of the data transmitted is `multipart/form-data` the\n    files multidict will be filled with `FileStorage` objects.  If the\n    mimetype is unknown the input stream is wrapped and returned as first\n    argument, else the stream is empty.\n\n    This is a shortcut for the common usage of :class:`FormDataParser`.\n\n    Have a look at :ref:`dealing-with-request-data` for more details.\n\n    .. versionadded:: 0.5\n       The `max_form_memory_size`, `max_content_length` and\n       `cls` parameters were added.\n\n    .. versionadded:: 0.5.1\n       The optional `silent` flag was added.\n\n    :param environ: the WSGI environment to be used for parsing.\n    :param stream_factory: An optional callable that returns a new read and\n                           writeable file descriptor.  This callable works\n                           the same as :meth:`~BaseResponse._get_file_stream`.\n    :param charset: The character set for URL and url encoded form data.\n    :param errors: The encoding error behavior.\n    :param max_form_memory_size: the maximum number of bytes to be accepted for\n                           in-memory stored form data.  If the data\n                           exceeds the value specified an\n                           :exc:`~exceptions.RequestEntityTooLarge`\n                           exception is raised.\n    :param max_content_length: If this is provided and the transmitted data\n                               is longer than this value an\n                               :exc:`~exceptions.RequestEntityTooLarge`\n                               exception is raised.\n    :param cls: an optional dict class to use.  If this is not specified\n                       or `None` the default :class:`MultiDict` is used.\n    :param silent: If set to False parsing errors will not be caught.\n    :return: A tuple in the form ``(stream, form, files)``.\n    '
    return FormDataParser(stream_factory, charset, errors, max_form_memory_size, max_content_length, cls, silent).parse_from_environ(environ)