[−][src]Struct hawk::PayloadHasher
A utility for hashing payloads. Feed your entity body to this, then pass the finish
result to a request or response.
Implementations
impl PayloadHasher
[src]
pub fn new<B>(content_type: B, algorithm: DigestAlgorithm) -> Result<Self> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
Create a new PayloadHasher. The content_type
should be lower-case and should
not include parameters. The digest is assumed to be the same as the digest used
for the credentials in the request.
pub fn hash<B1, B2>(
content_type: B1,
algorithm: DigestAlgorithm,
payload: B2
) -> Result<Vec<u8>> where
B1: AsRef<[u8]>,
B2: AsRef<[u8]>,
[src]
content_type: B1,
algorithm: DigestAlgorithm,
payload: B2
) -> Result<Vec<u8>> where
B1: AsRef<[u8]>,
B2: AsRef<[u8]>,
Hash a single value and return it
pub fn update<B>(&mut self, data: B) -> Result<()> where
B: AsRef<[u8]>,
[src]
B: AsRef<[u8]>,
Update the hash with new data.
pub fn finish(self) -> Result<Vec<u8>>
[src]
Finish hashing and return the result
Note that this appends a newline to the payload, as does the JS Hawk implementaiton.
Auto Trait Implementations
impl !RefUnwindSafe for PayloadHasher
impl Send for PayloadHasher
impl Sync for PayloadHasher
impl Unpin for PayloadHasher
impl !UnwindSafe for PayloadHasher
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,