use crate::S3Operation;
use crate::auth::Credentials;
use crate::path::S3Path;
use hyper::HeaderMap;
use hyper::Method;
use hyper::Uri;
use hyper::http::Extensions;
pub struct S3AccessContext<'a> {
pub(crate) credentials: Option<&'a Credentials>,
pub(crate) s3_path: &'a S3Path,
pub(crate) s3_op: &'a S3Operation,
pub(crate) method: &'a Method,
pub(crate) uri: &'a Uri,
pub(crate) headers: &'a HeaderMap,
pub(crate) extensions: &'a mut Extensions,
}
impl S3AccessContext<'_> {
#[must_use]
pub fn credentials(&self) -> Option<&Credentials> {
self.credentials
}
#[must_use]
pub fn s3_path(&self) -> &S3Path {
self.s3_path
}
#[must_use]
pub fn s3_op(&self) -> &S3Operation {
self.s3_op
}
#[must_use]
pub fn method(&self) -> &Method {
self.method
}
#[must_use]
pub fn uri(&self) -> &Uri {
self.uri
}
#[must_use]
pub fn headers(&self) -> &HeaderMap {
self.headers
}
#[must_use]
pub fn extensions_mut(&mut self) -> &mut Extensions {
self.extensions
}
}