Crate kvarn_utils
source ·Expand description
Utility functions for web application development.
This includes
- commonly used
chars
, - a
build_bytes
macro to create aBytes
from bytes slices with one allocation, WriteableBytes
to optimize performance when creating a newBytes
of unknown length,hardcoded_error_body
to get a hard-coded error response.CleanDebug
and it’s traitAsCleanDebug
to get aDebug
implementation wired to the item’sDisplay
implementation.
Modules§
- Common characters expressed as a single byte each, according to UTF-8.
- Parsing utilities and constants for Kvarn extensions.
- General parsing complying to the HTTP standards.
- The prelude for common web application utilities.
Macros§
- Convenience macro to create a
Bytes
from multiple&[u8]
sources. - Stringify $field on $self. This only returns the field name. This is constructed to make your IDE recognize the input as the actual field. This means renaming is applied to the string returned from this when you rename a field in your IDE.
fmt_field!
but multiple.- Return stringified representation of
$item
. This uses similar techniques toident_str!
. - Tests if the first arguments starts with any of the following.
Structs§
- Critical components from request to apply to response.
- The arguments and name of a single
Present
extension. - An iterator of
str
for the arguments inPresentArguments
- The
Present
extensions parsed from a file containing them. - An iterator of
PresentArguments
fromPresentExtensions
- Iterator for
quoted_str_split
. Returns owned strings. - A pair of a value string and a quality of said value.
- A writeable
Bytes
.
Enums§
Traits§
- Trait to enable
.as_clean
to get aCleanDebug
for the variable.
Functions§
- Clones a
Request
, discarding the body. - Clones a
Response
, discarding the body. - Gets the body length from the
Request::headers
ofrequest
. - Gets the body length of a
response
. - Get a hardcoded error message.
- Checks the equality of value of
name
inheaders
andvalue
. Value does not need to be all lowercase; the equality operation ignores the cases. - Checks
byte
if it’s a valid byte forHeaderValue
s. - Joins the items in
iter
with aseparator
using 1 allocation. - Parses a header with a value-quality list of pairs.
- Makes a
PathBuf
using one allocation. - Does a response of type
method
have a body? - Decodes the URI encoding.
- Shell-like splitting of
s
. - Removes all headers from
headers
withname
. - Sanitizes
request
for unwanted data and returns critical components. - Sets the
content-length
ofheaders
tolen
. - Check if
bytes
starts with a validMethod
. - Checks if
bytes
starts with a validVersion