def make_message(message, heading="Example Website", event=None, **kwargs): template_name = "message.html.jinja" body = env.get_template(template_name).render(message_title=heading, message_html=message, **get_params( template_name, event)) return make_response(body, **kwargs)
def newfunc(event, *args, **kwargs): response = func(event, *args, **kwargs) if ui_stuff.is_response(response): return response return response_core.make_response( body=snekjson.dumps(response, separators=(',', ':'), ignore_type_error=True), headers={"Content-Type": "application/json"})
def make_debug(event=None, context=None, headers={}, **kwargs): templates = env.list_templates() return make_response( body="<pre>\n{}\n\nAvailable Jinja2 templates:\n\n{}\n</pre>".format( snekjson.dumps(event, indent=2, sort_keys=True, ignore_type_error=True).replace(">", ">").replace( "<", "<"), "\n".join(templates)), headers=headers)
def get_page(template_name, event=None, **kwargs): try: return make_response( env.get_template(template_name).render( **get_params(template_name, event, **kwargs))) except TemplateNotFound as e: traceback.print_exc() print(e) print(dir(e)) print(vars(e)) return make_404(event)
def store_route(event, *args, **kwargs): body = deepload(event["body"]) if "addresses" in body: route_id, response, item = load_route(addresses=body["addresses"]) elif "route_id" in body: route_id, response, item = load_route(route_id=body["route_id"]) else: return make_404(event) if not response: return make_404(event) # return {"route_id":route_id,"route_result":result} return make_response({"redirect":events.base_path(event) + "/route_map.html?route_id={}".format(route_id)})
def render_page(name, params={}, code=200, headers={}): params = params if params else {} headers = headers if headers else {} template = env.get_template(name) body = template.render(**params) _headers = {"Content-Type": get_content_type(name)} _headers.update(headers) return make_response(body=body, code=code, headers=_headers, is_base64=False)
def get_static(filename, event=None, **kwargs): if "STATIC_BUCKET" in os.environ and "STATIC_PATH" in os.environ: return redirect( "https://s3.amazonaws.com/{STATIC_BUCKET}/{STATIC_PATH}/{filename}" .format(filename=filename, **os.environ)) filepath = os.path.abspath(os.path.join("/var/task", filename)) if os.path.isfile(filepath) and filepath.startswith("/var/task/static/"): content_type = get_content_type(filename) b64encoded = False if content_type in binary_types: with open(filepath, "rb") as f: body = base64.b64encode(f.read()).decode("utf-8") b64encoded = True else: with open(filepath, "r") as f: body = f.read() return make_response(body=body, headers={"Content-Type": content_type}, base64=b64encoded) else: return make_response("404!!1!", code=404)
def store_route(event, *args, **kwargs): body = deepload(event["body"]) superoptimize = body.get("superoptimize", False) if "addresses" in body: route_id, response, item = load_route(addresses=body["addresses"], superoptimize=superoptimize) elif "route_id" in body: route_id, response, item = load_route(route_id=body["route_id"]) else: return make_404(event) if not response: return make_404(event) return make_response({"redirect":events.base_path(event) + "/route_map.html?route_id={}".format(route_id)})
def newfunc(event, *args, **kwargs): if input_type: if event["httpMethod"] == "POST" and event.get("body"): kwargs["request_object"] = input_type.from_json( event["body"]) else: HTTP400.throw() response = func(event, *args, **kwargs) print(response) if output_type: if isinstance(response, output_type): response = response.to_json() else: HTTP500.throw() if isinstance(response, str): return response_core.make_response( body=response, headers={"Content-Type": "application/json"}) return response
def newfunc(event, *args, **kwargs): response = func(event, *args, **kwargs) if ui_stuff.is_response(response): return response return response_core.make_response( body=str(response), headers={"Content-Type": "text/plain"})
def throw(cls, body=None, code=None, headers=None): body = body if body else cls.BODY code = code if code else cls.CODE headers = headers if headers else cls.HEADERS response = make_response(body=body, code=code, headers=headers) raise ResponseException(response)
def throw(cls, target_url, body="", headers={}): _headers = {"Location": target_url} body = body if body else cls.BODY _headers.update(headers) response = make_response(body=body, code=cls.CODE, headers=_headers) raise ResponseException(response)
def make_debug(event=None, context=None, headers={}, **kwargs): templates = env.list_templates() return make_response(body=get_debug_blob(event), headers=headers)
def make_message(message, heading="Example Website", **kwargs): body = env.get_template("message.html.jinja").render(message_title=heading, message_html=message) return make_response(body, **kwargs)
def get_page(template_name, event=None, **kwargs): return make_response( env.get_template(template_name).render(**get_params( template_name, event, this_page=template_name, **kwargs)))