Queer European MD passionate about IT
Browse Source

Use built-in decoding feature of `aiohttp.ClientResponse`

Davte 5 years ago
parent
commit
f73f438d32
2 changed files with 7 additions and 4 deletions
  1. 1 1
      davtelepot/__init__.py
  2. 6 3
      davtelepot/utilities.py

+ 1 - 1
davtelepot/__init__.py

@@ -14,7 +14,7 @@ __author__ = "Davide Testa"
 __email__ = "davide@davte.it"
 __credits__ = ["Marco Origlia", "Nick Lee @Nickoala"]
 __license__ = "GNU General Public License v3.0"
-__version__ = "2.3.24"
+__version__ = "2.3.25"
 __maintainer__ = "Davide Testa"
 __contact__ = "t.me/davte"
 

+ 6 - 3
davtelepot/utilities.py

@@ -161,7 +161,7 @@ async def async_post(url, mode='html', **kwargs):
     )
 
 
-async def async_request(url, type='get', mode='json', encoding='utf-8',
+async def async_request(url, type='get', mode='json', encoding=None,
                         **kwargs):
     """Make an async html request.
 
@@ -184,9 +184,12 @@ async def async_request(url, type='get', mode='json', encoding='utf-8',
                 if type == 'get'
                 else s.post(url, timeout=30, data=kwargs)
             ) as r:
-                result = await r.read()
                 if mode in ['html', 'json', 'string']:
-                    result = result.decode(encoding)
+                    result = await r.text(encoding=encoding)
+                else:
+                    result = await r.read()
+                    if encoding is not None:
+                        result = result.decode(encoding)
     except Exception as e:
         logging.error(
             'Error making async request to {}:\n{}'.format(