class_docstr: Using a class to convert dictionaries into objects. Used by the `Request` class.
  Credit: https://www.geeksforgeeks.org/convert-nested-python-dictionary-to-object/
class_docstr_tok: ["Using","a","class","to","convert","dictionaries","into","objects",".","Used","by","the","`","Request","`","class",".","Credit",":","https",":","\/\/www.geeksforgeeks.org\/convert-nested-python-dictionary-to-object\/"]
code: def __iter__(self):
      for key, value in self.__dict__.items():
          if isinstance(value, Obj):
              yield (key, dict(value))
          else:
              yield (key, value)
  
imports: from __future__ import annotations
  import hashlib
  import json
  from collections import deque
  from dataclasses import dataclass
  from tempfile import NamedTemporaryFile, _TemporaryFileWrapper
  from typing import TYPE_CHECKING, AsyncGenerator, BinaryIO, List, Optional, Tuple, Union
  import fastapi
  import httpx
  import multipart
  from gradio_client.documentation import document, set_documentation_group
  from multipart.multipart import parse_options_header
  from starlette.datastructures import FormData, Headers, UploadFile
  from starlette.formparsers import MultiPartException, MultipartPart
  from gradio import utils
  from gradio.data_classes import PredictBody
  from gradio.exceptions import Error
  from gradio.helpers import EventData
  from gradio.state_holder import SessionState
label_desc: Use image node_id 4 for calling the Obj obj's underlying member method code with example usage: obj.__iter__() without return types