@property
def parsed_body(self) -> Union[(RequestBody, str)]:
    if self._parsed_body:
        return self._parsed_body
    content_type: Tuple[(str, Dict[(str, str)])] = parse_header(self.headers.get('Content-Type'))
    if (content_type[0] == 'multipart/form-data'):
        body: Union[(RequestBody, str)] = MultipartBody.from_wsgi(self.body, content_type[1].get('charset', ''), content_type[1].get('boundary', ''))
    elif (content_type[0] == 'application/x-www-form-urlencoded'):
        body = FormBody.from_wsgi(self.body, content_type[1].get('charset', ''))
    elif (content_type[0] == 'application/json'):
        body = JsonBody.from_wsgi(self.body, content_type[1].get('charset', ''))
    else:
        self.body.seek(0)
        body = self.body.read().decode(content_type[1].get('charset', ''))
    self._parsed_body = body
    return self._parsed_body
@property
def parsed_body(self) -> Union[(RequestBody, str)]:
    if self._parsed_body:
        return self._parsed_body
    content_type: Tuple[(str, Dict[(str, str)])] = parse_header(self.headers.get('Content-Type'))
    if (content_type[0] == 'multipart/form-data'):
        body: Union[(RequestBody, str)] = MultipartBody.from_wsgi(self.body, content_type[1].get('charset', ), content_type[1].get('boundary', ))
    elif (content_type[0] == 'application/x-www-form-urlencoded'):
        body = FormBody.from_wsgi(self.body, content_type[1].get('charset', ))
    elif (content_type[0] == 'application/json'):
        body = JsonBody.from_wsgi(self.body, content_type[1].get('charset', ))
    else:
        self.body.seek(0)
        body = self.body.read().decode(content_type[1].get('charset', ))
    self._parsed_body = body
    return self._parsed_body