Forgot to add matrix routes >:(
parent
799d0d4711
commit
322f0430bf
|
@ -634,12 +634,13 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "site-backend"
|
name = "site-backend"
|
||||||
version = "0.0.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"flate2",
|
"flate2",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"hyper",
|
"hyper",
|
||||||
|
"serde_json",
|
||||||
"tar",
|
"tar",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
|
|
|
@ -22,3 +22,4 @@ flate2 = "1.0.22"
|
||||||
tokio-util = { version = "0.7.1", features = ["io"] }
|
tokio-util = { version = "0.7.1", features = ["io"] }
|
||||||
futures-util = "0.3.21"
|
futures-util = "0.3.21"
|
||||||
uuid = { version = "1.0.0-alpha.1", features = ["v4"] }
|
uuid = { version = "1.0.0-alpha.1", features = ["v4"] }
|
||||||
|
serde_json = "1.0.79"
|
||||||
|
|
15
src/main.rs
15
src/main.rs
|
@ -1,12 +1,13 @@
|
||||||
use axum::{
|
use axum::{
|
||||||
extract::{BodyStream, Extension},
|
extract::{BodyStream, Extension},
|
||||||
http::StatusCode,
|
http::StatusCode,
|
||||||
response::IntoResponse,
|
response::{IntoResponse, Json},
|
||||||
routing::{get_service, post},
|
routing::{get, get_service, post},
|
||||||
Router,
|
Router,
|
||||||
};
|
};
|
||||||
use flate2::read::GzDecoder;
|
use flate2::read::GzDecoder;
|
||||||
use futures_util::TryStreamExt;
|
use futures_util::TryStreamExt;
|
||||||
|
use serde_json::{json, Value};
|
||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::io::ErrorKind;
|
use std::io::ErrorKind;
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
|
@ -37,6 +38,8 @@ async fn main() {
|
||||||
std::fs::create_dir_all(&static_dir);
|
std::fs::create_dir_all(&static_dir);
|
||||||
|
|
||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
|
.route("/.well-known/matrix/server", get(get_matrix_server))
|
||||||
|
.route("/.well-known/matrix/client", get(get_matrix_client))
|
||||||
.route(
|
.route(
|
||||||
"/api/deploy",
|
"/api/deploy",
|
||||||
post(post_deploy).layer(RequireAuthorizationLayer::bearer(&api_key)),
|
post(post_deploy).layer(RequireAuthorizationLayer::bearer(&api_key)),
|
||||||
|
@ -61,6 +64,14 @@ async fn main() {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn get_matrix_server() -> impl IntoResponse {
|
||||||
|
Json(json!({"m.server": "matrix.rustybever.be:443"}))
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn get_matrix_client() -> impl IntoResponse {
|
||||||
|
Json(json!({"m.homeserver": {"base_url": "https://matrix.rustybever.be"}}))
|
||||||
|
}
|
||||||
|
|
||||||
async fn post_deploy(Extension(data_dir): Extension<String>, res: BodyStream) -> impl IntoResponse {
|
async fn post_deploy(Extension(data_dir): Extension<String>, res: BodyStream) -> impl IntoResponse {
|
||||||
// This converts a stream into something that implements AsyncRead, which we can then use to
|
// This converts a stream into something that implements AsyncRead, which we can then use to
|
||||||
// asynchronously write the file to disk
|
// asynchronously write the file to disk
|
||||||
|
|
Loading…
Reference in New Issue