New model for buckets #172
4 changed files with 14 additions and 20 deletions
|
@ -170,16 +170,16 @@ impl WebsiteConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn into_garage_website_config(self) -> Result<WebsiteConfig, Error> {
|
pub fn into_garage_website_config(self) -> Result<WebsiteConfig, Error> {
|
||||||
if let Some(rart) = self.redirect_all_requests_to {
|
if self.redirect_all_requests_to.is_some() {
|
||||||
Ok(WebsiteConfig::RedirectAll {
|
Err(Error::NotImplemented(
|
||||||
hostname: rart.hostname.0,
|
"S3 website redirects are not currently implemented in Garage.".into(),
|
||||||
protocol: rart
|
))
|
||||||
.protocol
|
} else if self.routing_rules.map(|x| !x.is_empty()).unwrap_or(false) {
|
||||||
.map(|x| x.0)
|
Err(Error::NotImplemented(
|
||||||
.unwrap_or_else(|| "http".to_string()),
|
"S3 routing rules are not currently implemented in Garage.".into(),
|
||||||
})
|
))
|
||||||
} else {
|
} else {
|
||||||
Ok(WebsiteConfig::Website {
|
Ok(WebsiteConfig {
|
||||||
index_document: self
|
index_document: self
|
||||||
.index_document
|
.index_document
|
||||||
.map(|x| x.suffix.0)
|
.map(|x| x.suffix.0)
|
||||||
|
|
|
@ -541,7 +541,7 @@ impl AdminRpcHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
let website = if query.allow {
|
let website = if query.allow {
|
||||||
Some(WebsiteConfig::Website {
|
Some(WebsiteConfig {
|
||||||
index_document: "index.html".into(),
|
index_document: "index.html".into(),
|
||||||
error_document: None,
|
error_document: None,
|
||||||
})
|
})
|
||||||
|
|
|
@ -43,15 +43,9 @@ pub struct BucketParams {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(PartialEq, Eq, Clone, Debug, Serialize, Deserialize)]
|
#[derive(PartialEq, Eq, Clone, Debug, Serialize, Deserialize)]
|
||||||
pub enum WebsiteConfig {
|
pub struct WebsiteConfig {
|
||||||
RedirectAll {
|
pub index_document: String,
|
||||||
hostname: String,
|
pub error_document: Option<String>,
|
||||||
protocol: String,
|
|
||||||
},
|
|
||||||
Website {
|
|
||||||
index_document: String,
|
|
||||||
error_document: Option<String>,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BucketParams {
|
impl BucketParams {
|
||||||
|
|
|
@ -70,7 +70,7 @@ impl Migrate {
|
||||||
let alias_ts = aliases.get_timestamp(&new_name);
|
let alias_ts = aliases.get_timestamp(&new_name);
|
||||||
|
|
||||||
let website = if *old_bucket_p.website.get() {
|
let website = if *old_bucket_p.website.get() {
|
||||||
Some(WebsiteConfig::Website {
|
Some(WebsiteConfig {
|
||||||
index_document: "index.html".into(),
|
index_document: "index.html".into(),
|
||||||
error_document: None,
|
error_document: None,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue