code: async def form(self, *,
                     encoding: Optional[str]=None) -> List[Tuple[str, str]]:
          
          data = await self.read(decode=True)
          if not data:
              return []
          if encoding is not None:
              real_encoding = encoding
          else:
              real_encoding = self.get_charset(default='utf-8')
          return parse_qsl(data.rstrip().decode(real_encoding),
                           keep_blank_values=True,
                           encoding=real_encoding)
docs: Like read(), but assumes that body parts contains form
          urlencoded data.