summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/apub/community.rs4
-rw-r--r--server/src/apub/user.rs2
-rw-r--r--server/src/main.rs19
-rw-r--r--server/src/routes/feeds.rs7
-rw-r--r--server/src/routes/nodeinfo.rs4
-rw-r--r--server/src/routes/webfinger.rs2
6 files changed, 22 insertions, 16 deletions
diff --git a/server/src/apub/community.rs b/server/src/apub/community.rs
index 504e1790..fac6088e 100644
--- a/server/src/apub/community.rs
+++ b/server/src/apub/community.rs
@@ -84,7 +84,7 @@ pub struct CommunityQuery {
community_name: String,
}
-pub fn get_apub_community(info: Path<CommunityQuery>) -> HttpResponse<Body> {
+pub async fn get_apub_community(info: Path<CommunityQuery>) -> HttpResponse<Body> {
let connection = establish_connection();
if let Ok(community) = Community::read_from_name(&connection, info.community_name.to_owned()) {
@@ -96,7 +96,7 @@ pub fn get_apub_community(info: Path<CommunityQuery>) -> HttpResponse<Body> {
}
}
-pub fn get_apub_community_followers(info: Path<CommunityQuery>) -> HttpResponse<Body> {
+pub async fn get_apub_community_followers(info: Path<CommunityQuery>) -> HttpResponse<Body> {
let connection = establish_connection();
if let Ok(community) = Community::read_from_name(&connection, info.community_name.to_owned()) {
diff --git a/server/src/apub/user.rs b/server/src/apub/user.rs
index 9de2c36c..cf9a9797 100644
--- a/server/src/apub/user.rs
+++ b/server/src/apub/user.rs
@@ -61,7 +61,7 @@ pub struct UserQuery {
user_name: String,
}
-pub fn get_apub_user(info: Path<UserQuery>) -> HttpResponse<Body> {
+pub async fn get_apub_user(info: Path<UserQuery>) -> HttpResponse<Body> {
let connection = establish_connection();
if let Ok(user) = User_::find_by_email_or_username(&connection, &info.user_name) {
diff --git a/server/src/main.rs b/server/src/main.rs
index 8ee9f4ef..763f540f 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -6,12 +6,13 @@ use actix_web::*;
use lemmy_server::db::establish_connection;
use lemmy_server::routes::{federation, feeds, index, nodeinfo, webfinger, websocket};
use lemmy_server::settings::Settings;
+use std::io;
embed_migrations!();
-fn main() {
+#[actix_rt::main]
+async fn main() -> io::Result<()> {
env_logger::init();
- let sys = actix::System::new("lemmy");
// Run the migrations from code
let conn = establish_connection();
@@ -19,6 +20,11 @@ fn main() {
let settings = Settings::get();
+ println!(
+ "Starting http server at {}:{}",
+ settings.bind, settings.port
+ );
+
// Create Http server with websocket support
HttpServer::new(move || {
App::new()
@@ -37,10 +43,7 @@ fn main() {
settings.front_end_dir.to_owned() + "/documentation",
))
})
- .bind((settings.bind, settings.port))
- .unwrap()
- .run();
-
- println!("Started http server at {}:{}", settings.bind, settings.port);
- let _ = sys.run();
+ .bind((settings.bind, settings.port))?
+ .run()
+ .await
}
diff --git a/server/src/routes/feeds.rs b/server/src/routes/feeds.rs
index 0b2ccac1..ae1631e2 100644
--- a/server/src/routes/feeds.rs
+++ b/server/src/routes/feeds.rs
@@ -37,7 +37,7 @@ pub fn config(cfg: &mut web::ServiceConfig) {
.route("/feeds/all.xml", web::get().to(feeds::get_all_feed));
}
-fn get_all_feed(info: web::Query<Params>) -> HttpResponse<Body> {
+async fn get_all_feed(info: web::Query<Params>) -> HttpResponse<Body> {
let sort_type = match get_sort_type(info) {
Ok(sort_type) => sort_type,
Err(_) => return HttpResponse::BadRequest().finish(),
@@ -53,7 +53,10 @@ fn get_all_feed(info: web::Query<Params>) -> HttpResponse<Body> {
}
}
-fn get_feed(path: web::Path<(String, String)>, info: web::Query<Params>) -> HttpResponse<Body> {
+async fn get_feed(
+ path: web::Path<(String, String)>,
+ info: web::Query<Params>,
+) -> HttpResponse<Body> {
let sort_type = match get_sort_type(info) {
Ok(sort_type) => sort_type,
Err(_) => return HttpResponse::BadRequest().finish(),
diff --git a/server/src/routes/nodeinfo.rs b/server/src/routes/nodeinfo.rs
index 24659608..2b7135fb 100644
--- a/server/src/routes/nodeinfo.rs
+++ b/server/src/routes/nodeinfo.rs
@@ -13,7 +13,7 @@ pub fn config(cfg: &mut web::ServiceConfig) {
.route("/.well-known/nodeinfo", web::get().to(node_info_well_known));
}
-pub fn node_info_well_known() -> HttpResponse<Body> {
+async fn node_info_well_known() -> HttpResponse<Body> {
let json = json!({
"links": {
"rel": "http://nodeinfo.diaspora.software/ns/schema/2.0",
@@ -26,7 +26,7 @@ pub fn node_info_well_known() -> HttpResponse<Body> {
.body(json.to_string())
}
-fn node_info() -> HttpResponse<Body> {
+async fn node_info() -> HttpResponse<Body> {
let conn = establish_connection();
let site_view = match SiteView::read(&conn) {
Ok(site_view) => site_view,
diff --git a/server/src/routes/webfinger.rs b/server/src/routes/webfinger.rs
index f013f3ef..c538f5b1 100644
--- a/server/src/routes/webfinger.rs
+++ b/server/src/routes/webfinger.rs
@@ -37,7 +37,7 @@ lazy_static! {
///
/// You can also view the webfinger response that Mastodon sends:
/// https://radical.town/.well-known/webfinger?resource=acct:felix@radical.town
-fn get_webfinger_response(info: Query<Params>) -> HttpResponse<Body> {
+async fn get_webfinger_response(info: Query<Params>) -> HttpResponse<Body> {
let regex_parsed = WEBFINGER_COMMUNITY_REGEX
.captures(&info.resource)
.map(|c| c.get(1));