mirror of
https://github.com/scsibug/nostr-rs-relay.git
synced 2024-11-24 01:29:07 -05:00
refactor: clippy suggestions
This commit is contained in:
parent
79abd981e1
commit
1032a51220
10
src/conn.rs
10
src/conn.rs
|
@ -156,7 +156,7 @@ impl ClientConn {
|
||||||
self.auth = Challenge(Uuid::new_v4().to_string());
|
self.auth = Challenge(Uuid::new_v4().to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn authenticate(&mut self, event: &Event, relay_url: &String) -> Result<()> {
|
pub fn authenticate(&mut self, event: &Event, relay_url: &str) -> Result<()> {
|
||||||
match &self.auth {
|
match &self.auth {
|
||||||
Challenge(_) => (),
|
Challenge(_) => (),
|
||||||
AuthPubkey(_) => {
|
AuthPubkey(_) => {
|
||||||
|
@ -181,15 +181,15 @@ impl ClientConn {
|
||||||
return Err(Error::AuthFailure);
|
return Err(Error::AuthFailure);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut challenge: Option<&String> = None;
|
let mut challenge: Option<&str> = None;
|
||||||
let mut relay: Option<&String> = None;
|
let mut relay: Option<&str> = None;
|
||||||
|
|
||||||
for tag in &event.tags {
|
for tag in &event.tags {
|
||||||
if tag.len() == 2 && tag.get(0) == Some(&"challenge".into()) {
|
if tag.len() == 2 && tag.get(0) == Some(&"challenge".into()) {
|
||||||
challenge = tag.get(1);
|
challenge = tag.get(1).map(|x| x.as_str());
|
||||||
}
|
}
|
||||||
if tag.len() == 2 && tag.get(0) == Some(&"relay".into()) {
|
if tag.len() == 2 && tag.get(0) == Some(&"relay".into()) {
|
||||||
relay = tag.get(1);
|
relay = tag.get(1).map(|x| x.as_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ impl std::convert::From<Nip05Name> for nauthz_grpc::event_request::Nip05Name {
|
||||||
}
|
}
|
||||||
|
|
||||||
// conversion of event tags into gprc struct
|
// conversion of event tags into gprc struct
|
||||||
fn tags_to_protobuf(tags: &Vec<Vec<String>>) -> Vec<TagEntry> {
|
fn tags_to_protobuf(tags: &[Vec<String>]) -> Vec<TagEntry> {
|
||||||
tags.iter()
|
tags.iter()
|
||||||
.map(|x| TagEntry { values: x.clone() })
|
.map(|x| TagEntry { values: x.clone() })
|
||||||
.collect()
|
.collect()
|
||||||
|
|
|
@ -1072,8 +1072,6 @@ fn query_from_filter(f: &ReqFilter) -> (String, Vec<Box<dyn ToSql>>, Option<Stri
|
||||||
// find evidence of the target tag name/value existing for this event.
|
// find evidence of the target tag name/value existing for this event.
|
||||||
// Query for Kind/Since/Until additionally, to reduce the number of tags that come back.
|
// Query for Kind/Since/Until additionally, to reduce the number of tags that come back.
|
||||||
let kind_clause;
|
let kind_clause;
|
||||||
let since_clause;
|
|
||||||
let until_clause;
|
|
||||||
if let Some(ks) = &f.kinds {
|
if let Some(ks) = &f.kinds {
|
||||||
// kind is number, no escaping needed
|
// kind is number, no escaping needed
|
||||||
let str_kinds: Vec<String> =
|
let str_kinds: Vec<String> =
|
||||||
|
@ -1082,16 +1080,16 @@ fn query_from_filter(f: &ReqFilter) -> (String, Vec<Box<dyn ToSql>>, Option<Stri
|
||||||
} else {
|
} else {
|
||||||
kind_clause = String::new();
|
kind_clause = String::new();
|
||||||
};
|
};
|
||||||
if f.since.is_some() {
|
let since_clause = if f.since.is_some() {
|
||||||
since_clause = format!("AND created_at >= {}", f.since.unwrap());
|
format!("AND created_at >= {}", f.since.unwrap())
|
||||||
} else {
|
} else {
|
||||||
since_clause = String::new();
|
String::new()
|
||||||
};
|
};
|
||||||
// Query for timestamp
|
// Query for timestamp
|
||||||
if f.until.is_some() {
|
let until_clause = if f.until.is_some() {
|
||||||
until_clause = format!("AND created_at <= {}", f.until.unwrap());
|
format!("AND created_at <= {}", f.until.unwrap())
|
||||||
} else {
|
} else {
|
||||||
until_clause = String::new();
|
String::new()
|
||||||
};
|
};
|
||||||
|
|
||||||
let tag_clause = format!(
|
let tag_clause = format!(
|
||||||
|
|
|
@ -30,6 +30,8 @@ use hyper::upgrade::Upgraded;
|
||||||
use hyper::{
|
use hyper::{
|
||||||
header, server::conn::AddrStream, upgrade, Body, Request, Response, Server, StatusCode,
|
header, server::conn::AddrStream, upgrade, Body, Request, Response, Server, StatusCode,
|
||||||
};
|
};
|
||||||
|
use nostr::key::FromPkStr;
|
||||||
|
use nostr::key::Keys;
|
||||||
use prometheus::IntCounterVec;
|
use prometheus::IntCounterVec;
|
||||||
use prometheus::IntGauge;
|
use prometheus::IntGauge;
|
||||||
use prometheus::{Encoder, Histogram, HistogramOpts, IntCounter, Opts, Registry, TextEncoder};
|
use prometheus::{Encoder, Histogram, HistogramOpts, IntCounter, Opts, Registry, TextEncoder};
|
||||||
|
@ -60,8 +62,6 @@ use tungstenite::error::Error as WsError;
|
||||||
use tungstenite::handshake;
|
use tungstenite::handshake;
|
||||||
use tungstenite::protocol::Message;
|
use tungstenite::protocol::Message;
|
||||||
use tungstenite::protocol::WebSocketConfig;
|
use tungstenite::protocol::WebSocketConfig;
|
||||||
use nostr::key::FromPkStr;
|
|
||||||
use nostr::key::Keys;
|
|
||||||
|
|
||||||
/// Handle arbitrary HTTP requests, including for `WebSocket` upgrades.
|
/// Handle arbitrary HTTP requests, including for `WebSocket` upgrades.
|
||||||
#[allow(clippy::too_many_arguments)]
|
#[allow(clippy::too_many_arguments)]
|
||||||
|
@ -1029,7 +1029,7 @@ fn make_notice_message(notice: &Notice) -> Message {
|
||||||
Message::text(json.to_string())
|
Message::text(json.to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn allowed_to_send(event_str: &String, conn: &conn::ClientConn, settings: &Settings) -> bool {
|
fn allowed_to_send(event_str: &str, conn: &conn::ClientConn, settings: &Settings) -> bool {
|
||||||
// TODO: pass in kind so that we can avoid deserialization for most events
|
// TODO: pass in kind so that we can avoid deserialization for most events
|
||||||
if settings.authorization.nip42_dms {
|
if settings.authorization.nip42_dms {
|
||||||
match serde_json::from_str::<Event>(event_str) {
|
match serde_json::from_str::<Event>(event_str) {
|
||||||
|
@ -1038,16 +1038,14 @@ fn allowed_to_send(event_str: &String, conn: &conn::ClientConn, settings: &Setti
|
||||||
match (conn.auth_pubkey(), event.tag_values_by_name("p").first()) {
|
match (conn.auth_pubkey(), event.tag_values_by_name("p").first()) {
|
||||||
(Some(auth_pubkey), Some(recipient_pubkey)) => {
|
(Some(auth_pubkey), Some(recipient_pubkey)) => {
|
||||||
recipient_pubkey == auth_pubkey || &event.pubkey == auth_pubkey
|
recipient_pubkey == auth_pubkey || &event.pubkey == auth_pubkey
|
||||||
},
|
}
|
||||||
(_, _) => {
|
(_, _) => false,
|
||||||
false
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
Err(_) => false
|
Err(_) => false,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
true
|
true
|
||||||
|
|
|
@ -37,7 +37,7 @@ pub fn is_lower_hex(s: &str) -> bool {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn host_str(url: &String) -> Option<String> {
|
pub fn host_str(url: &str) -> Option<String> {
|
||||||
Url::parse(url)
|
Url::parse(url)
|
||||||
.ok()
|
.ok()
|
||||||
.and_then(|u| u.host_str().map(|s| s.to_string()))
|
.and_then(|u| u.host_str().map(|s| s.to_string()))
|
||||||
|
|
|
@ -73,7 +73,7 @@ async fn publish_test() -> Result<()> {
|
||||||
let event_sub = r#"["REQ", "simple", {}]"#;
|
let event_sub = r#"["REQ", "simple", {}]"#;
|
||||||
sub_ws.send(event_sub.into()).await?;
|
sub_ws.send(event_sub.into()).await?;
|
||||||
// read from subscription
|
// read from subscription
|
||||||
let ws_next = sub_ws.next().await;
|
let _ws_next = sub_ws.next().await;
|
||||||
let _res = relay.shutdown_tx.send(());
|
let _res = relay.shutdown_tx.send(());
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user