Compare commits
2 commits
e72fa092fb
...
949da91cb7
Author | SHA1 | Date | |
---|---|---|---|
949da91cb7 | |||
d5064a2c14 |
11 changed files with 72 additions and 3 deletions
|
@ -13,6 +13,7 @@
|
||||||
<sourceFolder url="file://$MODULE_DIR$/acrate_rdserver/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/acrate_rdserver/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/acrate_apub_inbox/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/acrate_apub_inbox/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/acrate_database/tests" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/acrate_database/tests" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/acrate_astreams/src" isTestSource="false" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
members = ["acrate_database", "acrate_rd", "acrate_nodeinfo", "acrate_rdserver", "acrate_apub_inbox"]
|
members = ["acrate_database", "acrate_rd", "acrate_nodeinfo", "acrate_rdserver", "acrate_apub_inbox", "acrate_astreams"]
|
||||||
|
|
|
@ -16,6 +16,7 @@ async fn main() -> anyhow::Result<std::convert::Infallible> {
|
||||||
|
|
||||||
log::trace!("Creating Axum router...");
|
log::trace!("Creating Axum router...");
|
||||||
let app = axum::Router::new()
|
let app = axum::Router::new()
|
||||||
|
.route("/inbox", axum::routing::post(route::inbox_handler))
|
||||||
.route("/.healthcheck", axum::routing::get(route::healthcheck_handler))
|
.route("/.healthcheck", axum::routing::get(route::healthcheck_handler))
|
||||||
.layer(Extension(Arc::new(mj)));
|
.layer(Extension(Arc::new(mj)));
|
||||||
log::trace!("Axum router created successfully!");
|
log::trace!("Axum router created successfully!");
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use axum::http::StatusCode;
|
use axum::http::{Response, StatusCode};
|
||||||
use acrate_database::connect::connect_async;
|
use acrate_database::connect::connect_async;
|
||||||
|
|
||||||
pub async fn healthcheck_handler() -> Result<StatusCode, StatusCode> {
|
pub async fn healthcheck_handler() -> Result<StatusCode, StatusCode> {
|
||||||
|
@ -12,3 +12,12 @@ pub async fn healthcheck_handler() -> Result<StatusCode, StatusCode> {
|
||||||
log::trace!("Healthcheck successful! Everything's fine!");
|
log::trace!("Healthcheck successful! Everything's fine!");
|
||||||
Ok(StatusCode::NO_CONTENT)
|
Ok(StatusCode::NO_CONTENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn inbox_handler() -> Result<Response<String>, StatusCode> {
|
||||||
|
log::debug!("Handling an inbox request!");
|
||||||
|
|
||||||
|
log::trace!("Creating a blank response...");
|
||||||
|
let mut response = Response::new("".to_string());
|
||||||
|
|
||||||
|
Ok(response)
|
||||||
|
}
|
||||||
|
|
17
acrate_astreams/Cargo.toml
Normal file
17
acrate_astreams/Cargo.toml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[package]
|
||||||
|
name = "acrate_astreams"
|
||||||
|
version = "0.3.0"
|
||||||
|
authors = ["Stefano Pigozzi <me@steffo.eu>"]
|
||||||
|
edition = "2021"
|
||||||
|
description = "ActivityStreams definitions and utilities"
|
||||||
|
repository = "https://forge.steffo.eu/unimore/tirocinio-canali-steffo-acrate"
|
||||||
|
license = "EUPL-1.2"
|
||||||
|
keywords = ["activitypub", "activitystreams", "federation", "apub", "astreams"]
|
||||||
|
categories = ["web-programming"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
json-ld = { version = "0.21.1", features = ["serde", "reqwest"] }
|
||||||
|
log = "0.4.22"
|
||||||
|
serde = { version = "1.0.214", features = ["derive"] }
|
||||||
|
serde_json = "1.0.132"
|
||||||
|
thiserror = "2.0.3"
|
6
acrate_astreams/src/core.rs
Normal file
6
acrate_astreams/src/core.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
//! Struct definitions for ActivityStreams Core Types.
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://www.w3.org/TR/activitystreams-vocabulary/#types>
|
||||||
|
|
6
acrate_astreams/src/extended.rs
Normal file
6
acrate_astreams/src/extended.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
//! Struct definitions for ActivityStreams Extended Types.
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://www.w3.org/TR/activitystreams-vocabulary/#extendedtypes>
|
||||||
|
|
11
acrate_astreams/src/lib.rs
Normal file
11
acrate_astreams/src/lib.rs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://www.w3.org/TR/activitystreams-vocabulary/>
|
||||||
|
|
||||||
|
pub mod core;
|
||||||
|
pub mod extended;
|
||||||
|
|
||||||
|
pub mod mastodon;
|
||||||
|
pub mod miajetzt;
|
||||||
|
pub mod litepub;
|
6
acrate_astreams/src/litepub.rs
Normal file
6
acrate_astreams/src/litepub.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
//! Struct definitions for Pleroma and Akkoma's Extension Types.
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://docs.akkoma.dev/develop/development/ap_extensions/>
|
||||||
|
|
6
acrate_astreams/src/mastodon.rs
Normal file
6
acrate_astreams/src/mastodon.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
//! Struct definitions for Mastodon's Extension Types.
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://docs.joinmastodon.org/spec/activitypub/#contexts>
|
||||||
|
|
6
acrate_astreams/src/miajetzt.rs
Normal file
6
acrate_astreams/src/miajetzt.rs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
//! Struct definitions for mia's Extension Types.
|
||||||
|
//!
|
||||||
|
//! # Specification
|
||||||
|
//!
|
||||||
|
//! - <https://ns.mia.jetzt/as/>
|
||||||
|
|
Loading…
Reference in a new issue