Compare commits

..

16 Commits

Author SHA1 Message Date
phundrak 2ae69935ee style: format code
Publish Docker Images / build-docker (push) Successful in 9m19s
Publish Docker Images / coverage-and-sonar (push) Successful in 9m58s
Publish Docker Images / push-docker (push) Successful in 37s
2026-06-02 01:26:10 +02:00
phundrak c067177dab chore(audit): deny wildcard versions in Cargo.toml
Publish Docker Images / push-docker (push) Has been cancelled
Publish Docker Images / coverage-and-sonar (push) Has been cancelled
Publish Docker Images / build-docker (push) Has been cancelled
2026-06-02 01:23:20 +02:00
phundrak cb047968c3 feat(RateLimit): add Retry-After header for 429 errors 2026-06-02 01:20:45 +02:00
phundrak 9c4532f940 fix(health): move test to dedicated test mod 2026-06-02 01:05:32 +02:00
phundrak 84cf3359aa refactor(RateLimitConfig): replace magic values with struct method 2026-06-02 01:04:26 +02:00
phundrak 079047a0d5 feat(contact): sanitize user-submitted data 2026-06-02 00:59:17 +02:00
phundrak 302f07f43f fix: typo 2026-06-02 00:58:47 +02:00
phundrak 38fe2fa452 feat(logs): only activate json or pretty logs one at a time 2026-06-02 00:57:58 +02:00
phundrak e919167d22 refactor: simplify code 2026-06-02 00:57:14 +02:00
phundrak 2059572344 fix(contact): sanatize user-supplied data in logs 2026-06-01 23:58:25 +02:00
phundrak 8abb3d660f fix(logs): make tracing target consistent 2026-06-01 23:55:48 +02:00
phundrak 2bfdf60e9e refactor: better value cloning 2026-06-01 23:54:33 +02:00
phundrak 4fb8bda761 fix(RateLimit): apply rate limiting based on client IP 2026-06-01 23:52:46 +02:00
phundrak 2370462a3e feat(settings): proper CORS in production
If the backend starts in production mode with no `frontend_url` is set,
immediately panic and stop.
2026-06-01 23:35:31 +02:00
phundrak 5c200e1f89 feat(SMTP): disallow unencrypted SMTP with credentials 2026-06-01 23:23:39 +02:00
phundrak b31a5ccaf5 feat(OpenAPI): disable Swagger and OpenAPI specs in prod 2026-06-01 23:18:03 +02:00
+2 -2
View File
@@ -111,10 +111,10 @@ impl Application {
) )
.url_prefix("/api"); .url_prefix("/api");
let ui = api_service.swagger_ui(); let ui = api_service.swagger_ui();
let mut route = poem::Route::new().nest("/api", api_service.clone()); let mut route = poem::Route::new().nest("/", ui);
if settings.debug { if settings.debug {
route = route route = route
.nest("/", ui) .nest("/api", api_service.clone())
.nest("/specs", api_service.spec_endpoint_yaml()); .nest("/specs", api_service.spec_endpoint_yaml());
} }
route route