upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/nostr/builder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/nostr/builder.rs')
-rw-r--r--src/nostr/builder.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nostr/builder.rs b/src/nostr/builder.rs
index 03132bf..02ba84b 100644
--- a/src/nostr/builder.rs
+++ b/src/nostr/builder.rs
@@ -736,7 +736,7 @@ pub async fn create_relay(
736 let write_policy = 736 let write_policy =
737 Nip34WritePolicy::new(database.clone(), &git_data_path, purgatory, config.clone()); 737 Nip34WritePolicy::new(database.clone(), &git_data_path, purgatory, config.clone());
738 738
739 let relay = LocalRelayBuilder::default() 739 let mut builder = LocalRelayBuilder::default()
740 .database(database.clone()) 740 .database(database.clone())
741 .write_policy(write_policy.clone()) 741 .write_policy(write_policy.clone())
742 // Explicitly set rate limits (make defaults visible in code) 742 // Explicitly set rate limits (make defaults visible in code)
@@ -744,10 +744,13 @@ pub async fn create_relay(
744 .rate_limit(RateLimit { 744 .rate_limit(RateLimit {
745 max_reqs: 500, // Max concurrent subscriptions per connection 745 max_reqs: 500, // Max concurrent subscriptions per connection
746 notes_per_minute: 60, // Max events per minute per connection 746 notes_per_minute: 60, // Max events per minute per connection
747 }) 747 });
748 // Total connection limit to prevent DoS attacks 748
749 .max_connections(config.max_connections) 749 if let Some(max) = config.max_connections {
750 .build(); 750 builder = builder.max_connections(max);
751 }
752
753 let relay = builder.build();
751 754
752 tracing::info!( 755 tracing::info!(
753 "Relay configured with GRASP-01 validation for domain: {}", 756 "Relay configured with GRASP-01 validation for domain: {}",