pub enum RequestTarget {
    Wildcard,
    Absolute {
        path: RequestTargetPath,
        query: QueryString,
    },
}
Expand description

A request target (see https://tools.ietf.org/html/rfc7230#section-5.3)

Note

We only support the absolute and the asterisk form.

Warning

The path parser is pretty simple and basically follows two rules only:

  • the path must either be a wildcard (*) or must begin with a slash (/)
  • empty path components are ignored (i.e. /, // evaluate to [] and /test//path, /test//path/ etc. evaluate to ["test", "path"])

Other potentially dangerous components like .. are treated like normal components and do not cause an error.

Warning

The query parser is also pretty simple and basically parses any key or key= or key=value component without further validation (with the excepttion that the URI escaping must be valid if present).

The following rules apply:

  • the query string must begin with a ?
  • keys don’t need a value (e.g. ?key0&key1)
  • keys can have an empty value (e.g. ?key0=&key1=)
  • keys can have a non-empty value (e.g. ?key0=value0&key1=value1
  • empty keys or key-value pairs are ignored (i.e. ?& evaluates to [] or ?key0&&key1 evaluates to ["key0": "", "key1": ""] or ?=value0&key1=value1& evaluates to ["key1": "value1"])

Variants

Wildcard

The requested path is a wildcard (“*” e.g. for OPTIONS requests)

Absolute

Fields

path: RequestTargetPath

The path components

query: QueryString

The query string

The requested path

Implementations

Creates a new wildcard request target

Creates a new request target from the given path and query components

Loads a request target

Writes the request target

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.