antikythera v0.4.0 Antikythera.Conn View Source
Definition of Antikythera.Conn
struct, which represents a client-server connection.
This module also defines many functions to work with Antikythera.Conn
.
Link to this section Summary
Functions
Type-aware getter for assigns.
Type-aware setter for assigns.
Type-aware getter for before_send.
Type-aware setter for before_send.
Type-aware getter for context.
Type-aware setter for context.
Gets a flash message stored in the given Antikythera.Conn.t/0
.
Returns a request cookie specified by name
.
Returns all request cookies.
Returns a JSON response.
Creates a new instance of Antikythera.Conn by using the given dict
.
A variant of new/1
which returns t
or raise if validation fails.
Put cache-control
response header for responses that must not be cached.
Stores the flash message into the current Antikythera.Conn.t/0
.
Adds a set-cookie
response header to the given Antikythera.Conn.t
.
Tells the client to delete an existing cookie specified by name
.
Returns an HTTP response that make the client redirect to the specified url
.
Renders a HAML template file and returns the dynamic content as an HTML response.
Type-aware getter for request.
Type-aware setter for request.
Type-aware getter for resp_body.
Type-aware setter for resp_body.
Type-aware getter for resp_cookies.
Type-aware setter for resp_cookies.
Type-aware getter for resp_headers.
Type-aware setter for resp_headers.
Sends a file which resides in priv/
directory as a response.
Type-aware getter for status.
Type-aware setter for status.
Updates an existing instance of Antikythera.Conn with the given dict
.
The values in the dict
are validated by each field's valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
.
Checks if the given value belongs to t/0
or not.
Link to this section Types
Specs
t() :: %Antikythera.Conn{ assigns: Antikythera.Conn.Assigns.t(), before_send: Antikythera.Conn.BeforeSend.t(), context: Antikythera.Context.t(), request: Antikythera.Request.t(), resp_body: Antikythera.Http.RawBody.t(), resp_cookies: Antikythera.Http.SetCookiesMap.t(), resp_headers: Antikythera.Http.Headers.t(), status: Croma.TypeGen.Nilable.Antikythera.Http.Status.Int.t() }
Link to this section Functions
Specs
assign(Antikythera.Conn.t(), atom(), any()) :: t()
Specs
assigns(t()) :: Antikythera.Conn.Assigns.t()
Type-aware getter for assigns.
Specs
assigns(t(), Antikythera.Conn.Assigns.t()) :: t()
Type-aware setter for assigns.
Specs
before_send(t()) :: Antikythera.Conn.BeforeSend.t()
Type-aware getter for before_send.
Specs
before_send(t(), Antikythera.Conn.BeforeSend.t()) :: t()
Type-aware setter for before_send.
Specs
clear_session(Antikythera.Conn.t()) :: t()
Specs
context(t()) :: Antikythera.Context.t()
Type-aware getter for context.
Specs
context(t(), Antikythera.Context.t()) :: t()
Type-aware setter for context.
Specs
delete_session(Antikythera.Conn.t(), String.t()) :: t()
Specs
destroy_session(Antikythera.Conn.t()) :: t()
Specs
get_flash(Antikythera.Conn.t(), String.t()) :: nil | String.t()
Gets a flash message stored in the given Antikythera.Conn.t/0
.
Specs
Returns a request cookie specified by name
.
Specs
get_req_cookies(Antikythera.Conn.t()) :: Antikythera.Http.ReqCookiesMap.t()
Returns all request cookies.
Specs
get_req_header(Antikythera.Conn.t(), String.t()) :: nil | String.t()
Specs
get_req_query(Antikythera.Conn.t(), String.t()) :: nil | String.t()
Specs
get_session(Antikythera.Conn.t(), String.t()) :: any()
Specs
json( Antikythera.Conn.t(), Antikythera.Http.Status.t(), %{required(atom() | String.t()) => any()} | [any()] ) :: t()
Returns a JSON response.
Specs
new(term()) :: Croma.Result.t(t())
Creates a new instance of Antikythera.Conn by using the given dict
.
Returns {:ok, valid_struct}
or {:error, reason}
.
The values in the dict
are validated by each field's valid?/1
function.
If the value was invalid, it will be passed to new/1
of the field
For missing fields, followings will be tried:
default/0
of each field typenew/1
of each field type, with empty map as input
Specs
A variant of new/1
which returns t
or raise if validation fails.
In other words, new/1
followed by Croma.Result.get!/1
.
Specs
Put cache-control
response header for responses that must not be cached.
The actual header value to be set is: "private, no-cache, no-store, max-age=0"
.
Specs
put_flash(Antikythera.Conn.t(), String.t(), String.t()) :: t()
Stores the flash message into the current Antikythera.Conn.t/0
.
Specs
Specs
put_resp_cookie( Antikythera.Conn.t(), String.t(), String.t(), Antikythera.Http.SetCookie.options_t() ) :: t()
Adds a set-cookie
response header to the given Antikythera.Conn.t
.
path
directive of set-cookie
header is automatically filled with "/"
if not explicitly given.
Also secure
directive is filled by default in the cloud environments (assuming that it's serving with HTTPS).
Note that response cookies are stored separately from the other response headers, as cookies require special treatment according to the HTTP specs.
Specs
Tells the client to delete an existing cookie specified by name
.
This is a wrapper around put_resp_cookie/4
that sets an immediately expiring cookie (whose value is an empty string).
Specs
put_resp_header(Antikythera.Conn.t(), String.t(), String.t()) :: t()
Specs
put_resp_headers(Antikythera.Conn.t(), %{required(String.t()) => String.t()}) :: t()
Specs
put_session(Antikythera.Conn.t(), String.t(), any()) :: t()
Specs
put_status(t(), Antikythera.Http.Status.t()) :: t()
Specs
redirect(t(), String.t(), Antikythera.Http.Status.t()) :: t()
Returns an HTTP response that make the client redirect to the specified url
.
Specs
register_before_send(Antikythera.Conn.t(), (t() -> t())) :: t()
render(conn, status, template_name, render_params, opts \\ [layout: :application])
View SourceSpecs
render( Antikythera.Conn.t(), Antikythera.Http.Status.t(), String.t(), Keyword.t(any()), Keyword.t(atom()) ) :: t()
Renders a HAML template file and returns the dynamic content as an HTML response.
Specs
renew_session(Antikythera.Conn.t()) :: t()
Specs
request(t()) :: Antikythera.Request.t()
Type-aware getter for request.
Specs
request(t(), Antikythera.Request.t()) :: t()
Type-aware setter for request.
Specs
resp_body(t()) :: Antikythera.Http.RawBody.t()
Type-aware getter for resp_body.
Specs
resp_body(t(), Antikythera.Http.RawBody.t()) :: t()
Type-aware setter for resp_body.
Specs
resp_cookies(t()) :: Antikythera.Http.SetCookiesMap.t()
Type-aware getter for resp_cookies.
Specs
resp_cookies(t(), Antikythera.Http.SetCookiesMap.t()) :: t()
Type-aware setter for resp_cookies.
Specs
resp_headers(t()) :: Antikythera.Http.Headers.t()
Type-aware getter for resp_headers.
Specs
resp_headers(t(), Antikythera.Http.Headers.t()) :: t()
Type-aware setter for resp_headers.
Specs
send_priv_file(Antikythera.Conn.t(), Antikythera.Http.Status.t(), Path.t()) :: t()
Sends a file which resides in priv/
directory as a response.
path
must be a file path relative to the priv/
directory.
content-type header is inferred from the file's extension.
Don't use this function for sending large files; you should use CDN for large files (see Antikythera.Asset
).
Also, if all you need to do is just to return a file (i.e. you don't need any authentication),
you should not use this function; just placing the file under priv/static/
directory should suffice.
Specs
status(t()) :: Croma.TypeGen.Nilable.Antikythera.Http.Status.Int.t()
Type-aware getter for status.
Specs
Type-aware setter for status.
Specs
update(t(), Dict.t()) :: Croma.Result.t(t())
Updates an existing instance of Antikythera.Conn with the given dict
.
The values in the dict
are validated by each field's valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
Specs
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
.
Specs
Checks if the given value belongs to t/0
or not.