-module(lightspeed@framework@controller). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/lightspeed/framework/controller.gleam"). -export([html/2, text/2, json/2, redirect/2, not_found/1, internal_error/2, get_session/2, put_session/3, drop_session/2, get_flash/2, put_flash/3, clear_flash/1, halt/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(" Controller-style response and session/flash helpers.\n"). -file("src/lightspeed/framework/controller.gleam", 7). ?DOC(" Write an HTML 200 response.\n"). -spec html(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). html(Conn, Body) -> lightspeed@framework@http:send( Conn, 200, <<"text/html; charset=utf-8"/utf8>>, Body ). -file("src/lightspeed/framework/controller.gleam", 12). ?DOC(" Write a text 200 response.\n"). -spec text(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). text(Conn, Body) -> lightspeed@framework@http:send( Conn, 200, <<"text/plain; charset=utf-8"/utf8>>, Body ). -file("src/lightspeed/framework/controller.gleam", 17). ?DOC(" Write a JSON 200 response.\n"). -spec json(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). json(Conn, Body) -> lightspeed@framework@http:send(Conn, 200, <<"application/json"/utf8>>, Body). -file("src/lightspeed/framework/controller.gleam", 22). ?DOC(" Write a 302 redirect response with `location`.\n"). -spec redirect(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). redirect(Conn, To) -> _pipe = Conn, _pipe@1 = lightspeed@framework@http:set_status(_pipe, 302), _pipe@2 = lightspeed@framework@http:put_header( _pipe@1, <<"location"/utf8>>, To ), _pipe@3 = lightspeed@framework@http:put_header( _pipe@2, <<"content-type"/utf8>>, <<"text/plain; charset=utf-8"/utf8>> ), lightspeed@framework@http:set_body(_pipe@3, <<"redirect"/utf8>>). -file("src/lightspeed/framework/controller.gleam", 31). ?DOC(" Write a 404 text response.\n"). -spec not_found(lightspeed@framework@http:conn()) -> lightspeed@framework@http:conn(). not_found(Conn) -> lightspeed@framework@http:send( Conn, 404, <<"text/plain; charset=utf-8"/utf8>>, <<"not found"/utf8>> ). -file("src/lightspeed/framework/controller.gleam", 36). ?DOC(" Write a 500 text response.\n"). -spec internal_error(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). internal_error(Conn, Reason) -> lightspeed@framework@http:send( Conn, 500, <<"text/plain; charset=utf-8"/utf8>>, <<"internal error: "/utf8, Reason/binary>> ). -file("src/lightspeed/framework/controller.gleam", 46). ?DOC(" Read one session key.\n"). -spec get_session(lightspeed@framework@http:conn(), binary()) -> gleam@option:option(binary()). get_session(Conn, Key) -> lightspeed@framework@http:session(Conn, Key). -file("src/lightspeed/framework/controller.gleam", 51). ?DOC(" Set one session key.\n"). -spec put_session(lightspeed@framework@http:conn(), binary(), binary()) -> lightspeed@framework@http:conn(). put_session(Conn, Key, Value) -> lightspeed@framework@http:put_session(Conn, Key, Value). -file("src/lightspeed/framework/controller.gleam", 56). ?DOC(" Delete one session key.\n"). -spec drop_session(lightspeed@framework@http:conn(), binary()) -> lightspeed@framework@http:conn(). drop_session(Conn, Key) -> lightspeed@framework@http:drop_session(Conn, Key). -file("src/lightspeed/framework/controller.gleam", 61). ?DOC(" Read one flash key.\n"). -spec get_flash(lightspeed@framework@http:conn(), binary()) -> gleam@option:option(binary()). get_flash(Conn, Key) -> lightspeed@framework@http:flash(Conn, Key). -file("src/lightspeed/framework/controller.gleam", 66). ?DOC(" Set one flash key.\n"). -spec put_flash(lightspeed@framework@http:conn(), binary(), binary()) -> lightspeed@framework@http:conn(). put_flash(Conn, Key, Value) -> lightspeed@framework@http:put_flash(Conn, Key, Value). -file("src/lightspeed/framework/controller.gleam", 71). ?DOC(" Clear all flash entries.\n"). -spec clear_flash(lightspeed@framework@http:conn()) -> lightspeed@framework@http:conn(). clear_flash(Conn) -> lightspeed@framework@http:clear_flash(Conn). -file("src/lightspeed/framework/controller.gleam", 76). ?DOC(" Halt connection processing.\n"). -spec halt(lightspeed@framework@http:conn()) -> lightspeed@framework@http:conn(). halt(Conn) -> lightspeed@framework@http:halt(Conn).