Use get_ip in ratelimit middleware
This commit is contained in:
parent
4df2031ae0
commit
d058db95e5
3 changed files with 6 additions and 13 deletions
|
@ -34,7 +34,7 @@ pub mod settings;
|
|||
pub mod version;
|
||||
pub mod websocket;
|
||||
|
||||
use actix_web::HttpRequest;
|
||||
use actix_web::dev::ConnectionInfo;
|
||||
use chrono::{DateTime, NaiveDateTime, Utc};
|
||||
use isahc::prelude::*;
|
||||
use lettre::smtp::authentication::{Credentials, Mechanism};
|
||||
|
@ -233,9 +233,8 @@ pub fn markdown_to_html(text: &str) -> String {
|
|||
comrak::markdown_to_html(text, &comrak::ComrakOptions::default())
|
||||
}
|
||||
|
||||
pub fn get_ip(req: &HttpRequest) -> String {
|
||||
req
|
||||
.connection_info()
|
||||
pub fn get_ip(conn_info: &ConnectionInfo) -> String {
|
||||
conn_info
|
||||
.remote()
|
||||
.unwrap_or("127.0.0.1:12345")
|
||||
.split(':')
|
||||
|
|
|
@ -2,6 +2,7 @@ pub mod rate_limiter;
|
|||
|
||||
use super::{IPAddr, Settings};
|
||||
use crate::api::APIError;
|
||||
use crate::get_ip;
|
||||
use crate::settings::RateLimitConfig;
|
||||
use actix_web::dev::{Service, ServiceRequest, ServiceResponse, Transform};
|
||||
use failure::Error;
|
||||
|
@ -181,14 +182,7 @@ where
|
|||
}
|
||||
|
||||
fn call(&mut self, req: S::Request) -> Self::Future {
|
||||
let ip_addr = req
|
||||
.connection_info()
|
||||
.remote()
|
||||
.unwrap_or("127.0.0.1:12345")
|
||||
.split(':')
|
||||
.next()
|
||||
.unwrap_or("127.0.0.1")
|
||||
.to_string();
|
||||
let ip_addr = get_ip(&req.connection_info());
|
||||
|
||||
let fut = self
|
||||
.rate_limited
|
||||
|
|
|
@ -18,7 +18,7 @@ pub async fn chat_route(
|
|||
cs_addr: chat_server.get_ref().to_owned(),
|
||||
id: 0,
|
||||
hb: Instant::now(),
|
||||
ip: get_ip(&req),
|
||||
ip: get_ip(&req.connection_info()),
|
||||
},
|
||||
&req,
|
||||
stream,
|
||||
|
|
Reference in a new issue