Plug v1.7.1 Plug.Conn.Unfetched
A struct used as default on unfetched fields.
The :aspect
key of the struct specifies what field is still unfetched.
Examples
unfetched = %Plug.Conn.Unfetched{aspect: :cookies}
Summary
Types
Functions
- fetch(map, key)
-
Invoked in order to access the value stored under
key
in the given termterm
- get_and_update(map, key, fun)
-
Invoked in order to access the value under
key
and update it at the same time - pop(map, key)
-
Invoked to “pop” the value under
key
out of the given data structure
Types
Functions
Invoked in order to access the value stored under key
in the given term term
.
This function should return {:ok, value}
where value
is the value under key
if the key exists in the term, or :error
if the key does not exist in the term.
Many of the functions defined in the Access
module internally call this function. This function is also used when the square-brackets access syntax (structure[key]
) is used: the fetch/2
callback implemented by the module that defines the structure
struct is invoked and if it returns {:ok,
value}
then value
is returned, or if it returns :error
then nil
is returned.
See the Map.fetch/2
and Keyword.fetch/2
implementations for examples of how to implement this callback.
Callback implementation for Access.fetch/2
.
Invoked in order to access the value under key
and update it at the same time.
The implementation of this callback should invoke fun
with the value under key
in the passed structure data
, or with nil
if key
is not present in it. This function must return either {get_value, update_value}
or :pop
.
If the passed function returns {get_value, update_value}
, the return value of this callback should be {get_value, new_data}
, where:
-
get_value
is the retrieved value (which can be operated on before being returned) -
update_value
is the new value to be stored underkey
-
new_data
isdata
after updating the value ofkey
withupdate_value
.
If the passed function returns :pop
, the return value of this callback must be {value, new_data}
where value
is the value under key
(or nil
if not present) and new_data
is data
without key
.
See the implementations of Map.get_and_update/3
or Keyword.get_and_update/3
for more examples.
Callback implementation for Access.get_and_update/3
.
Invoked to “pop” the value under key
out of the given data structure.
When key
exists in the given structure data
, the implementation should return a {value, new_data}
tuple where value
is the value that was under key
and new_data
is term
without key
.
When key
is not present in the given structure, a tuple {value, data}
should be returned, where value
is implementation-defined.
See the implementations for Map.pop/3
or Keyword.pop/3
for more examples.
Callback implementation for Access.pop/2
.
© 2013 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/plug/1.7.1/Plug.Conn.Unfetched.html