Trait fastly::convert::ToHeaderValue
source · pub trait ToHeaderValue: Sealed { }
Expand description
Types that can be converted to a HeaderValue
.
Some methods in this crate accept impl ToHeaderValue
arguments. Any of the types below can
be passed as those arguments and the conversion will be performed automatically, though
depending on the type, the conversion can panic.
Source type | Can panic? | Non-panicking conversion |
---|---|---|
HeaderName or &HeaderName | No | N/A |
HeaderValue or &HeaderValue | No | N/A |
Url or &Url | No | N/A |
&str , String , or &String | Yes | HeaderValue::try_from() |
&[u8] , Vec<u8> , or &Vec<u8> | Yes | HeaderValue::try_from() |
Panics
This conversion trait differs from std::convert::Into
, which is guaranteed to succeed for any
argument, and std::convert::TryInto
which returns an explicit error when a conversion fails.
For types marked above as Can panic?, the conversion may panic at runtime if the data is
invalid. Automatic conversions for these types are provided for convenience for data you trust, like
a string literal in your code, or for applications where a default 500 Internal Server Error
response for a conversion failure is acceptable.
In most applications you should explicitly convert data from untrusted sources, such as the client request, to one of the types that cannot fail at runtime using a method like those listed under Non-panicking conversion. This allows your application to handle conversion errors without panicking, such as by falling back on a default value, removing invalid characters, or returning a branded error page.