def _redirectOrJSON(result, request: http.Request, url: urlpath.URLPath, data): try: if request.getHeader('x-requested-with') == 'XMLHttpRequest': request.write(json.dumps(data).encode('utf-8')) if not request.notifyFinish().called: request.finish() return except: pass request.redirect(str(url).encode('ascii')) request.finish()