Skip to content

Instantly share code, notes, and snippets.

@gtindo
Last active December 2, 2019 15:32
Show Gist options
  • Save gtindo/90e3d7e69c5692f04bfe415531bfe010 to your computer and use it in GitHub Desktop.
Save gtindo/90e3d7e69c5692f04bfe415531bfe010 to your computer and use it in GitHub Desktop.
def validation_required(validator_function):
def decorator(function):
async def error(websocket, err):
await websocket.send(err)
async def wrapper(websocket, data):
status, err = validator_function(data)
if status:
return await function(websocket, data)
else:
return await error(websocket, err)
return wrapper
return decorator
def validate(data):
return True, ""
@validation_required(validate)
async def some_function(websocket, data):
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment