Commit a512769d by Owo Sugiana

class BaseError ditambah action

1 parent 8d28ba6e
0.2 2023-03-15
--------------
- class BaseError ditambah action
0.1 2023-03-07 0.1 2023-03-07
-------------- --------------
- Kali pertama - Kali pertama
...@@ -9,6 +9,7 @@ def exception_message(): ...@@ -9,6 +9,7 @@ def exception_message():
class BaseError(Exception): class BaseError(Exception):
def __init__(self, code, message): def __init__(self, code, message, action=''):
self.code = code self.code = code
self.message = message self.message = message
self.action = action
...@@ -10,12 +10,12 @@ ERR_ACTION = 76 ...@@ -10,12 +10,12 @@ ERR_ACTION = 76
class ErrKey(BaseError): class ErrKey(BaseError):
def __init__(self, message): def __init__(self, message):
super().__init__(ERR_KEY, message) super().__init__(ERR_KEY, message, 'login')
class ErrAction(BaseError): class ErrAction(BaseError):
def __init__(self, message): def __init__(self, message, action=''):
super().__init__(ERR_ACTION, message) super().__init__(ERR_ACTION, message, action)
class Handler: class Handler:
...@@ -45,7 +45,7 @@ class Handler: ...@@ -45,7 +45,7 @@ class Handler:
if action == 'echo': if action == 'echo':
return dict(action='echo', code=0, message='OK') return dict(action='echo', code=0, message='OK')
msg = f'ERROR action {action} tidak dipahami' msg = f'ERROR action {action} tidak dipahami'
raise ErrAction(msg) raise ErrAction(msg, action)
def get_data(self): def get_data(self):
return dict() return dict()
......
...@@ -152,10 +152,10 @@ def main(argv=sys.argv[1:]): ...@@ -152,10 +152,10 @@ def main(argv=sys.argv[1:]):
ws_data[cid] = [] ws_data[cid] = []
mem_clients[cid] = mem_id mem_clients[cid] = mem_id
except BaseError as e: except BaseError as e:
dc = dict(code=e.code, message=e.message) dc = dict(code=e.code, message=e.message, action=e.action)
except Exception: except Exception:
log_unknown_error() log_unknown_error()
dc = dict(code=91, message='Login gagal') dc = dict(code=91, message='Login gagal', action='login')
log_info(f'Encode JSON {dc}') log_info(f'Encode JSON {dc}')
await kirim_pesan(dc) await kirim_pesan(dc)
return cid return cid
...@@ -206,6 +206,12 @@ def main(argv=sys.argv[1:]): ...@@ -206,6 +206,12 @@ def main(argv=sys.argv[1:]):
del ws_data[client_id] del ws_data[client_id]
break break
try: try:
async with asyncio.timeout(5):
await receive()
except asyncio.TimeoutError:
pass
log_info('Koneksi berakhir')
try:
handler.close() handler.close()
except Exception: except Exception:
log_unknown_error() log_unknown_error()
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!