aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-09-07 17:54:16 +0200
committerAlex Auvolat <alex@adnab.me>2022-09-07 17:54:16 +0200
commit2559f63e9bb58a66da70f33e852ebbd5f909876e (patch)
treec052d8d8978acd1396e3559015d0212fb1dbeb33 /src/api
parent28d86e76021bed674ca78684b9522cfb664a8ae2 (diff)
downloadgarage-2559f63e9bb58a66da70f33e852ebbd5f909876e.tar.gz
garage-2559f63e9bb58a66da70f33e852ebbd5f909876e.zip
Make all HTTP services optionnal
Diffstat (limited to 'src/api')
-rw-r--r--src/api/admin/api_server.rs19
-rw-r--r--src/api/k2v/api_server.rs14
-rw-r--r--src/api/s3/api_server.rs14
3 files changed, 20 insertions, 27 deletions
diff --git a/src/api/admin/api_server.rs b/src/api/admin/api_server.rs
index d871d4e2..fb0078cc 100644
--- a/src/api/admin/api_server.rs
+++ b/src/api/admin/api_server.rs
@@ -1,3 +1,4 @@
+use std::net::SocketAddr;
use std::sync::Arc;
use async_trait::async_trait;
@@ -52,15 +53,15 @@ impl AdminApiServer {
}
}
- pub async fn run(self, shutdown_signal: impl Future<Output = ()>) -> Result<(), GarageError> {
- if let Some(bind_addr) = self.garage.config.admin.api_bind_addr {
- let region = self.garage.config.s3_api.s3_region.clone();
- ApiServer::new(region, self)
- .run_server(bind_addr, shutdown_signal)
- .await
- } else {
- Ok(())
- }
+ pub async fn run(
+ self,
+ bind_addr: SocketAddr,
+ shutdown_signal: impl Future<Output = ()>,
+ ) -> Result<(), GarageError> {
+ let region = self.garage.config.s3_api.s3_region.clone();
+ ApiServer::new(region, self)
+ .run_server(bind_addr, shutdown_signal)
+ .await
}
fn handle_options(&self, _req: &Request<Body>) -> Result<Response<Body>, Error> {
diff --git a/src/api/k2v/api_server.rs b/src/api/k2v/api_server.rs
index eb0fbdd7..084867b5 100644
--- a/src/api/k2v/api_server.rs
+++ b/src/api/k2v/api_server.rs
@@ -1,3 +1,4 @@
+use std::net::SocketAddr;
use std::sync::Arc;
use async_trait::async_trait;
@@ -36,20 +37,13 @@ pub(crate) struct K2VApiEndpoint {
impl K2VApiServer {
pub async fn run(
garage: Arc<Garage>,
+ bind_addr: SocketAddr,
+ s3_region: String,
shutdown_signal: impl Future<Output = ()>,
) -> Result<(), GarageError> {
- if let Some(cfg) = &garage.config.k2v_api {
- let bind_addr = cfg.api_bind_addr;
-
- ApiServer::new(
- garage.config.s3_api.s3_region.clone(),
- K2VApiServer { garage },
- )
+ ApiServer::new(s3_region, K2VApiServer { garage })
.run_server(bind_addr, shutdown_signal)
.await
- } else {
- Ok(())
- }
}
}
diff --git a/src/api/s3/api_server.rs b/src/api/s3/api_server.rs
index 78dfeeac..27837297 100644
--- a/src/api/s3/api_server.rs
+++ b/src/api/s3/api_server.rs
@@ -1,3 +1,4 @@
+use std::net::SocketAddr;
use std::sync::Arc;
use async_trait::async_trait;
@@ -43,16 +44,13 @@ pub(crate) struct S3ApiEndpoint {
impl S3ApiServer {
pub async fn run(
garage: Arc<Garage>,
+ addr: SocketAddr,
+ s3_region: String,
shutdown_signal: impl Future<Output = ()>,
) -> Result<(), GarageError> {
- let addr = garage.config.s3_api.api_bind_addr;
-
- ApiServer::new(
- garage.config.s3_api.s3_region.clone(),
- S3ApiServer { garage },
- )
- .run_server(addr, shutdown_signal)
- .await
+ ApiServer::new(s3_region, S3ApiServer { garage })
+ .run_server(addr, shutdown_signal)
+ .await
}
async fn handle_request_without_bucket(