]> Untitled Git - lemmy.git/commitdiff
Adding rate_limiter and api_structs.
authorDessalines <tyhou13@gmx.com>
Wed, 2 Sep 2020 23:17:35 +0000 (18:17 -0500)
committerDessalines <tyhou13@gmx.com>
Wed, 2 Sep 2020 23:17:35 +0000 (18:17 -0500)
docker/dev/Dockerfile
docker/prod/Dockerfile
server/Cargo.toml
server/lemmy_api_structs/Cargo.toml
server/lemmy_rate_limit/Cargo.toml
server/lemmy_rate_limit/src/lib.rs
server/lemmy_rate_limit/src/rate_limiter.rs
server/lemmy_utils/src/lib.rs

index 9bd74da07de04f23fef64b560677180a6e0dcb7c..dce2dc5b82ec503aedf038e9d51e38ff4043cc66 100644 (file)
@@ -20,12 +20,18 @@ RUN USER=root cargo new server
 # Install cargo-build-deps
 RUN cargo install --git https://github.com/romac/cargo-build-deps.git
 WORKDIR /app/server
-RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
+RUN mkdir -p lemmy_db/src/ \
+      lemmy_utils/src/ \
+      lemmy_api_structs/src/ \
+      lemmy_rate_limit/src/ \
+      lemmy
 
 # Copy the cargo tomls
 COPY server/Cargo.toml server/Cargo.lock ./
 COPY server/lemmy_db/Cargo.toml ./lemmy_db/
 COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
+COPY server/lemmy_api_structs/Cargo.toml ./lemmy_api_structs/
+COPY server/lemmy_rate_limit/Cargo.toml ./lemmy_rate_limit/
 
 # Cache the deps
 RUN cargo build-deps
@@ -34,6 +40,8 @@ RUN cargo build-deps
 COPY server/src ./src/
 COPY server/lemmy_db/src ./lemmy_db/src/
 COPY server/lemmy_utils/src/ ./lemmy_utils/src/
+COPY server/lemmy_api_structs/src/ ./lemmy_api_structs/src/
+COPY server/lemmy_rate_limit/src/ ./lemmy_rate_limit/src/
 COPY server/migrations ./migrations/
 
 # Build for debug
index 845df88de49c0204cb2357081376c16e3861e386..9bccb4489755c63f286c3c1e1ca81541bebec567 100644 (file)
@@ -13,6 +13,8 @@ WORKDIR /app/server
 COPY server/Cargo.toml server/Cargo.lock ./
 COPY server/lemmy_db ./lemmy_db
 COPY server/lemmy_utils ./lemmy_utils
+COPY server/lemmy_api_structs ./lemmy_api_structs
+COPY server/lemmy_rate_limit ./lemmy_rate_limit
 RUN mkdir -p ./src/bin \
    && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
 RUN cargo build --release
index 912d130d42bee929916f83e9ce808aaa4f7ef08a..e12d8c61a29cf5e775fa37446fcd8d15a8627be2 100644 (file)
@@ -11,6 +11,7 @@ members = [
     "lemmy_utils",
     "lemmy_db",
     "lemmy_api_structs",
+    "lemmy_rate_limit",
 ]
 
 [dependencies]
index d1695eca688e2583e4d2a4b7416cb56e56de6181..93653fba2ebc39c4985fb0067b704eabb9e1f432 100644 (file)
@@ -4,6 +4,10 @@ version = "0.1.0"
 authors = ["Felix Ableitner <me@nutomic.com>"]
 edition = "2018"
 
+[lib]
+name = "lemmy_api_structs"
+path = "src/lib.rs"
+
 [dependencies]
 lemmy_db = { path = "../lemmy_db" }
 serde = { version = "1.0.105", features = ["derive"] }
index 4fc65254da335d3042c3383d9817462c6b3af214..001297fcc1c8908030bf562e03be41b91c7b4402 100644 (file)
@@ -4,6 +4,10 @@ version = "0.1.0"
 authors = ["Felix Ableitner <me@nutomic.com>"]
 edition = "2018"
 
+[lib]
+name = "lemmy_rate_limit"
+path = "src/lib.rs"
+
 [dependencies]
 lemmy_utils = { path = "../lemmy_utils" }
 lemmy_api_structs = { path = "../lemmy_api_structs" }
index 431a2d7602a5fdd33a6f0d5990fc341f5c6a4b6a..2d3553f01d48620346f5c141e64b2eabb4f58fdf 100644 (file)
@@ -1,13 +1,17 @@
 #[macro_use]
 pub extern crate strum_macros;
-pub extern crate tokio;
-pub extern crate futures;
 pub extern crate actix_web;
+pub extern crate futures;
 pub extern crate log;
+pub extern crate tokio;
 
 use actix_web::dev::{Service, ServiceRequest, ServiceResponse, Transform};
 use futures::future::{ok, Ready};
-use lemmy_utils::settings::{RateLimitConfig, Settings};
+use lemmy_utils::{
+  get_ip,
+  settings::{RateLimitConfig, Settings},
+  LemmyError,
+};
 use rate_limiter::{RateLimitType, RateLimiter};
 use std::{
   future::Future,
@@ -16,8 +20,6 @@ use std::{
   task::{Context, Poll},
 };
 use tokio::sync::Mutex;
-use lemmy_utils::get_ip;
-use lemmy_utils::LemmyError;
 
 pub mod rate_limiter;
 
index 1c90f90e09905bdc148882037aff9bb5f722ba07..b485472900b5b24df6039c62f2f4b364dee15edc 100644 (file)
@@ -1,6 +1,5 @@
-use lemmy_utils::IPAddr;
-use lemmy_utils::LemmyError;
 use lemmy_api_structs::APIError;
+use lemmy_utils::{IPAddr, LemmyError};
 use log::debug;
 use std::{collections::HashMap, time::SystemTime};
 use strum::IntoEnumIterator;
index 97f32f27f8504535110dfb542669c0c4ef9c315d..2050934335e30f90c5e48649b02d33f8a4f193d2 100644 (file)
@@ -1,5 +1,7 @@
 #[macro_use]
 pub extern crate lazy_static;
+pub extern crate actix_web;
+pub extern crate anyhow;
 pub extern crate comrak;
 pub extern crate lettre;
 pub extern crate lettre_email;
@@ -8,12 +10,11 @@ pub extern crate rand;
 pub extern crate regex;
 pub extern crate serde_json;
 pub extern crate url;
-pub extern crate actix_web;
-pub extern crate anyhow;
 
 pub mod settings;
 
 use crate::settings::Settings;
+use actix_web::dev::ConnectionInfo;
 use chrono::{DateTime, FixedOffset, Local, NaiveDateTime};
 use itertools::Itertools;
 use lettre::{
@@ -32,7 +33,6 @@ use rand::{distributions::Alphanumeric, thread_rng, Rng};
 use regex::{Regex, RegexBuilder};
 use std::io::{Error, ErrorKind};
 use url::Url;
-use actix_web::dev::ConnectionInfo;
 
 pub type ConnectionId = usize;
 pub type PostId = i32;
@@ -58,8 +58,8 @@ pub struct LemmyError {
 }
 
 impl<T> From<T> for LemmyError
-  where
-    T: Into<anyhow::Error>,
+where
+  T: Into<anyhow::Error>,
 {
   fn from(t: T) -> Self {
     LemmyError { inner: t.into() }
@@ -386,4 +386,4 @@ pub fn get_ip(conn_info: &ConnectionInfo) -> String {
     .next()
     .unwrap_or("127.0.0.1")
     .to_string()
-}
\ No newline at end of file
+}