Skip to content

Commit 7529392

Browse files
committed
rename PublishRateLimit to RateLimiter
1 parent bd10c97 commit 7529392

File tree

6 files changed

+24
-25
lines changed

6 files changed

+24
-25
lines changed

src/config/server.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use anyhow::{anyhow, Context};
22
use ipnetwork::IpNetwork;
33
use oauth2::{ClientId, ClientSecret};
44

5-
use crate::publish_rate_limit::PublishRateLimit;
5+
use crate::rate_limiter::RateLimiter;
66
use crate::{env, env_optional, Env};
77

88
use super::base::Base;
@@ -30,7 +30,7 @@ pub struct Server {
3030
pub gh_client_secret: ClientSecret,
3131
pub max_upload_size: u64,
3232
pub max_unpack_size: u64,
33-
pub publish_rate_limit: PublishRateLimit,
33+
pub rate_limiter: RateLimiter,
3434
pub new_version_rate_limit: Option<u32>,
3535
pub blocked_traffic: Vec<(String, Vec<String>)>,
3636
pub max_allowed_page_offset: u32,
@@ -153,7 +153,7 @@ impl Default for Server {
153153
gh_client_secret: ClientSecret::new(env("GH_CLIENT_SECRET")),
154154
max_upload_size: 10 * 1024 * 1024, // 10 MB default file upload size limit
155155
max_unpack_size: 512 * 1024 * 1024, // 512 MB max when decompressed
156-
publish_rate_limit: Default::default(),
156+
rate_limiter: Default::default(),
157157
new_version_rate_limit: env_optional("MAX_NEW_VERSIONS_DAILY"),
158158
blocked_traffic: blocked_traffic(),
159159
max_allowed_page_offset: env_optional("WEB_MAX_ALLOWED_PAGE_OFFSET").unwrap_or(200),

src/controllers/krate/publish.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,7 @@ pub async fn publish(app: AppState, req: BytesRequest) -> AppResult<Json<GoodCra
137137
};
138138

139139
let license_file = new_crate.license_file.as_deref();
140-
let krate =
141-
persist.create_or_update(conn, user.id, Some(&app.config.publish_rate_limit))?;
140+
let krate = persist.create_or_update(conn, user.id, Some(&app.config.rate_limiter))?;
142141

143142
let owners = krate.owners(conn)?;
144143
if user.rights(&app, &owners)? < Rights::Publish {

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub mod github;
4646
pub mod headers;
4747
pub mod metrics;
4848
pub mod middleware;
49-
mod publish_rate_limit;
49+
mod rate_limiter;
5050
pub mod schema;
5151
pub mod sql;
5252
pub mod ssh;

src/models/krate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use crate::models::{
1717
use crate::util::errors::{cargo_err, AppResult};
1818

1919
use crate::models::helpers::with_count::*;
20-
use crate::publish_rate_limit::PublishRateLimit;
20+
use crate::rate_limiter::RateLimiter;
2121
use crate::schema::*;
2222
use crate::sql::canon_crate_name;
2323

@@ -107,7 +107,7 @@ impl<'a> NewCrate<'a> {
107107
self,
108108
conn: &mut PgConnection,
109109
uploader: i32,
110-
rate_limit: Option<&PublishRateLimit>,
110+
rate_limit: Option<&RateLimiter>,
111111
) -> AppResult<Crate> {
112112
use diesel::update;
113113

src/publish_rate_limit.rs renamed to src/rate_limiter.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ crate::pg_enum! {
1515
}
1616

1717
#[derive(Debug, Clone, Copy)]
18-
pub struct PublishRateLimit {
18+
pub struct RateLimiter {
1919
pub rate: Duration,
2020
pub burst: i32,
2121
}
2222

23-
impl Default for PublishRateLimit {
23+
impl Default for RateLimiter {
2424
fn default() -> Self {
2525
let minutes = dotenvy::var("WEB_NEW_PKG_RATE_LIMIT_RATE_MINUTES")
2626
.unwrap_or_default()
@@ -39,7 +39,7 @@ impl Default for PublishRateLimit {
3939
}
4040
}
4141

42-
impl PublishRateLimit {
42+
impl RateLimiter {
4343
pub fn check_rate_limit(&self, uploader: i32, conn: &mut PgConnection) -> AppResult<()> {
4444
let bucket = self.take_token(uploader, Utc::now().naive_utc(), conn)?;
4545
if bucket.tokens >= 1 {
@@ -126,7 +126,7 @@ mod tests {
126126
let conn = &mut pg_connection();
127127
let now = now();
128128

129-
let rate = PublishRateLimit {
129+
let rate = RateLimiter {
130130
rate: Duration::from_secs(1),
131131
burst: 10,
132132
};
@@ -139,7 +139,7 @@ mod tests {
139139
};
140140
assert_eq!(expected, bucket);
141141

142-
let rate = PublishRateLimit {
142+
let rate = RateLimiter {
143143
rate: Duration::from_millis(50),
144144
burst: 20,
145145
};
@@ -159,7 +159,7 @@ mod tests {
159159
let conn = &mut pg_connection();
160160
let now = now();
161161

162-
let rate = PublishRateLimit {
162+
let rate = RateLimiter {
163163
rate: Duration::from_secs(1),
164164
burst: 10,
165165
};
@@ -180,7 +180,7 @@ mod tests {
180180
let conn = &mut pg_connection();
181181
let now = now();
182182

183-
let rate = PublishRateLimit {
183+
let rate = RateLimiter {
184184
rate: Duration::from_secs(1),
185185
burst: 10,
186186
};
@@ -206,7 +206,7 @@ mod tests {
206206
NaiveDateTime::parse_from_str("2019-03-19T21:11:24.620401", "%Y-%m-%dT%H:%M:%S%.f")
207207
.unwrap();
208208

209-
let rate = PublishRateLimit {
209+
let rate = RateLimiter {
210210
rate: Duration::from_millis(100),
211211
burst: 10,
212212
};
@@ -228,7 +228,7 @@ mod tests {
228228
let conn = &mut pg_connection();
229229
let now = now();
230230

231-
let rate = PublishRateLimit {
231+
let rate = RateLimiter {
232232
rate: Duration::from_millis(100),
233233
burst: 10,
234234
};
@@ -250,7 +250,7 @@ mod tests {
250250
let conn = &mut pg_connection();
251251
let now = now();
252252

253-
let rate = PublishRateLimit {
253+
let rate = RateLimiter {
254254
rate: Duration::from_secs(1),
255255
burst: 10,
256256
};
@@ -274,7 +274,7 @@ mod tests {
274274
let conn = &mut pg_connection();
275275
let now = now();
276276

277-
let rate = PublishRateLimit {
277+
let rate = RateLimiter {
278278
rate: Duration::from_secs(1),
279279
burst: 10,
280280
};
@@ -297,7 +297,7 @@ mod tests {
297297
let conn = &mut pg_connection();
298298
let now = now();
299299

300-
let rate = PublishRateLimit {
300+
let rate = RateLimiter {
301301
rate: Duration::from_secs(1),
302302
burst: 10,
303303
};
@@ -320,7 +320,7 @@ mod tests {
320320
let conn = &mut pg_connection();
321321
let now = now();
322322

323-
let rate = PublishRateLimit {
323+
let rate = RateLimiter {
324324
rate: Duration::from_secs(1),
325325
burst: 10,
326326
};
@@ -347,7 +347,7 @@ mod tests {
347347
let conn = &mut pg_connection();
348348
let now = now();
349349

350-
let rate = PublishRateLimit {
350+
let rate = RateLimiter {
351351
rate: Duration::from_secs(1),
352352
burst: 10,
353353
};

src/tests/util/test_app.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,8 @@ impl TestAppBuilder {
331331

332332
pub fn with_publish_rate_limit(self, rate: Duration, burst: i32) -> Self {
333333
self.with_config(|config| {
334-
config.publish_rate_limit.rate = rate;
335-
config.publish_rate_limit.burst = burst;
334+
config.rate_limiter.rate = rate;
335+
config.rate_limiter.burst = burst;
336336
})
337337
}
338338

@@ -396,7 +396,7 @@ fn simple_config() -> config::Server {
396396
gh_client_secret: ClientSecret::new(dotenvy::var("GH_CLIENT_SECRET").unwrap_or_default()),
397397
max_upload_size: 3000,
398398
max_unpack_size: 2000,
399-
publish_rate_limit: Default::default(),
399+
rate_limiter: Default::default(),
400400
new_version_rate_limit: Some(10),
401401
blocked_traffic: Default::default(),
402402
max_allowed_page_offset: 200,

0 commit comments

Comments
 (0)