# Pastebin 1QzyW2Aj http://git.zuul-ci.org/cgit/zuul/tree/zuul/driver/github/githubconnection.py#n1597 > # Note(corvus): Don't use cherrypy's json_in here so that we > # can validate the signature. this one is odd. instead of avoiding to use a tool one should just write another tool. current implementation pulls in a lot of logic from unrelated abstraction layer. It'd be ``` @cherrypy.expose @cherrypy.tools.json_out(content_type='application/json; charset=utf-8') @cherrypy.tools.json_in @validate_signature # <-- use your own tool here def payload(self): # keep the actual business logic here ```