Skip to content

Commit 46a46a9

Browse files
committed
change: remove CommonResponse
1 parent 6d0615e commit 46a46a9

File tree

10 files changed

+46
-69
lines changed

10 files changed

+46
-69
lines changed

atcoder-problems-backend/src/server/internal_user.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::server::utils::GetAuthId;
2-
use crate::server::{AppData, Authentication, CommonResponse};
2+
use crate::server::{AppData, Authentication};
33
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
44
use serde::Deserialize;
55
use sql_client::internal::user_manager::UserManager;
@@ -19,7 +19,7 @@ pub(crate) async fn update<A: Authentication + Clone + Send + Sync + 'static>(
1919
conn.update_internal_user_info(&user_id, &body.atcoder_user_id)
2020
.await
2121
.map_err(error::ErrorInternalServerError)?;
22-
Ok(HttpResponse::empty_json())
22+
Ok(HttpResponse::Ok().finish())
2323
}
2424

2525
pub(crate) async fn get<A: Authentication + Clone + Send + Sync + 'static>(
@@ -32,5 +32,5 @@ pub(crate) async fn get<A: Authentication + Clone + Send + Sync + 'static>(
3232
.get_internal_user_info(&user_id)
3333
.await
3434
.map_err(error::ErrorInternalServerError)?;
35-
Ok(HttpResponse::json(&info)?)
35+
Ok(HttpResponse::Ok().json(&info))
3636
}

atcoder-problems-backend/src/server/language_count.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::server::{AppData, CommonResponse};
1+
use crate::server::AppData;
22
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
33
use sql_client::language_count::LanguageCountClient;
44

@@ -11,6 +11,6 @@ pub(crate) async fn get_language_list<A>(
1111
.load_languages()
1212
.await
1313
.map_err(error::ErrorInternalServerError)?;
14-
let response = HttpResponse::json(&languages)?;
14+
let response = HttpResponse::Ok().json(&languages);
1515
Ok(response)
1616
}

atcoder-problems-backend/src/server/mod.rs

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub(crate) mod user_submissions;
1111
pub(crate) mod utils;
1212
pub(crate) mod virtual_contest;
1313

14-
use actix_web::{http::header, web, App, HttpResponse, HttpServer};
14+
use actix_web::{http::header, web, App, HttpResponseBuilder, HttpServer};
1515
pub use auth::{Authentication, GitHubAuthentication, GitHubUserResponse};
1616

1717
const LOG_TEMPLATE: &str = r#"{"method":"%{method}xi", "url":"%U", "status":%s, "duration":%T}"#;
@@ -40,36 +40,13 @@ where
4040
.await
4141
}
4242

43-
pub(crate) trait CommonResponse {
44-
fn ok() -> Self;
45-
fn json<S: serde::Serialize>(body: &S) -> actix_web::Result<Self>
46-
where
47-
Self: Sized;
48-
fn empty_json() -> Self;
49-
fn make_cors(self) -> Self;
43+
pub(crate) trait MakeCors {
44+
fn make_cors(&mut self) -> &mut Self;
5045
}
5146

52-
impl CommonResponse for HttpResponse {
53-
fn ok() -> Self {
54-
Self::Ok().finish()
55-
}
56-
fn json<S: serde::Serialize>(body: &S) -> actix_web::Result<Self>
57-
where
58-
Self: Sized,
59-
{
60-
let response = Self::Ok().json(body);
61-
Ok(response)
62-
}
63-
fn empty_json() -> Self {
64-
Self::Ok().json("{}")
65-
}
66-
fn make_cors(self) -> Self {
67-
let mut response = self;
68-
response.headers_mut().insert(
69-
header::ACCESS_CONTROL_ALLOW_ORIGIN,
70-
header::HeaderValue::from_str("*").unwrap(),
71-
);
72-
response
47+
impl MakeCors for HttpResponseBuilder {
48+
fn make_cors(&mut self) -> &mut Self {
49+
self.insert_header((header::ACCESS_CONTROL_ALLOW_ORIGIN, "*"))
7350
}
7451
}
7552

atcoder-problems-backend/src/server/problem_list.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::server::utils::GetAuthId;
2-
use crate::server::{AppData, Authentication, CommonResponse};
2+
use crate::server::{AppData, Authentication};
33

44
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
55
use serde::Deserialize;
@@ -15,7 +15,7 @@ pub(crate) async fn get_own_lists<A: Authentication + Clone + Send + Sync + 'sta
1515
.get_list(&user_id)
1616
.await
1717
.map_err(error::ErrorInternalServerError)?;
18-
let response = HttpResponse::json(&list)?;
18+
let response = HttpResponse::Ok().json(&list);
1919
Ok(response)
2020
}
2121

@@ -29,7 +29,7 @@ pub(crate) async fn get_single_list<A>(
2929
.get_single_list(&list_id)
3030
.await
3131
.map_err(error::ErrorInternalServerError)?;
32-
let response = HttpResponse::json(&list)?;
32+
let response = HttpResponse::Ok().json(&list);
3333
Ok(response)
3434
}
3535

@@ -50,7 +50,7 @@ pub(crate) async fn create_list<A: Authentication + Clone + Send + Sync + 'stati
5050
.await
5151
.map_err(error::ErrorInternalServerError)?;
5252
let body = serde_json::json!({ "internal_list_id": internal_list_id });
53-
let response = HttpResponse::json(&body)?;
53+
let response = HttpResponse::Ok().json(&body);
5454
Ok(response)
5555
}
5656

@@ -69,7 +69,7 @@ pub(crate) async fn delete_list<A: Authentication + Clone + Send + Sync + 'stati
6969
conn.delete_list(&query.internal_list_id)
7070
.await
7171
.map_err(error::ErrorInternalServerError)?;
72-
let response = HttpResponse::empty_json();
72+
let response = HttpResponse::Ok().finish();
7373
Ok(response)
7474
}
7575

@@ -89,7 +89,7 @@ pub(crate) async fn update_list<A: Authentication + Clone + Send + Sync + 'stati
8989
conn.update_list(&query.internal_list_id, &query.name)
9090
.await
9191
.map_err(error::ErrorInternalServerError)?;
92-
let response = HttpResponse::empty_json();
92+
let response = HttpResponse::Ok().finish();
9393
Ok(response)
9494
}
9595

@@ -109,7 +109,7 @@ pub(crate) async fn add_item<A: Authentication + Clone + Send + Sync + 'static>(
109109
conn.add_item(&query.internal_list_id, &query.problem_id)
110110
.await
111111
.map_err(error::ErrorInternalServerError)?;
112-
let response = HttpResponse::empty_json();
112+
let response = HttpResponse::Ok().finish();
113113
Ok(response)
114114
}
115115

@@ -130,7 +130,7 @@ pub(crate) async fn update_item<A: Authentication + Clone + Send + Sync + 'stati
130130
conn.update_item(&query.internal_list_id, &query.problem_id, &query.memo)
131131
.await
132132
.map_err(error::ErrorInternalServerError)?;
133-
let response = HttpResponse::empty_json();
133+
let response = HttpResponse::Ok().finish();
134134
Ok(response)
135135
}
136136

@@ -150,6 +150,6 @@ pub(crate) async fn delete_item<A: Authentication + Clone + Send + Sync + 'stati
150150
conn.delete_item(&query.internal_list_id, &query.problem_id)
151151
.await
152152
.map_err(error::ErrorInternalServerError)?;
153-
let response = HttpResponse::empty_json();
153+
let response = HttpResponse::Ok().finish();
154154
Ok(response)
155155
}

atcoder-problems-backend/src/server/progress_reset.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::server::utils::GetAuthId;
2-
use crate::server::{AppData, Authentication, CommonResponse};
2+
use crate::server::{AppData, Authentication};
33
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
44
use serde::Deserialize;
55
use sql_client::internal::progress_reset_manager::ProgressResetManager;
@@ -14,7 +14,7 @@ pub(crate) async fn get_progress_reset_list<A: Authentication + Clone + Send + S
1414
.get_progress_reset_list(&user_id)
1515
.await
1616
.map_err(error::ErrorInternalServerError)?;
17-
let response = HttpResponse::json(&list)?;
17+
let response = HttpResponse::Ok().json(&list);
1818
Ok(response)
1919
}
2020

atcoder-problems-backend/src/server/ranking/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::server::{AppData, CommonResponse};
1+
use crate::server::AppData;
22

33
use actix_web::{web, HttpRequest, HttpResponse, Result};
44
use async_trait::async_trait;
@@ -42,7 +42,7 @@ pub(crate) trait RankingSelector<A: Sync + Send + Clone + 'static> {
4242
return Ok(HttpResponse::BadRequest().finish());
4343
}
4444
let ranking = Self::fetch(data, query.into_inner()).await?;
45-
let response = HttpResponse::json(&ranking)?;
45+
let response = HttpResponse::Ok().json(&ranking);
4646
Ok(response)
4747
}
4848
}
@@ -69,7 +69,7 @@ pub(crate) trait UserRankSelector<A: Sync + Send + Clone + 'static> {
6969
// map と ok_or に書き換えられる
7070
match user_rank {
7171
Some(rank) => {
72-
let response = HttpResponse::json(&rank)?;
72+
let response = HttpResponse::Ok().json(&rank);
7373
Ok(response)
7474
}
7575
None => Ok(HttpResponse::NotFound().finish()),

atcoder-problems-backend/src/server/time_submissions.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::server::{AppData, CommonResponse};
1+
use crate::server::{AppData, MakeCors};
22
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
33
use sql_client::submission_client::{SubmissionClient, SubmissionRequest};
44

@@ -16,6 +16,6 @@ pub(crate) async fn get_time_submissions<A>(
1616
})
1717
.await
1818
.map_err(error::ErrorInternalServerError)?;
19-
let response = HttpResponse::json(&submissions)?.make_cors();
19+
let response = HttpResponse::Ok().make_cors().json(&submissions);
2020
Ok(response)
2121
}

atcoder-problems-backend/src/server/user_info.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::server::{AppData, CommonResponse};
1+
use crate::server::{AppData, MakeCors};
22

33
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
44
use serde::{Deserialize, Serialize};
@@ -43,6 +43,6 @@ pub(crate) async fn get_user_info<A>(
4343
rated_point_sum,
4444
rated_point_sum_rank,
4545
};
46-
let response = HttpResponse::json(&user_info)?.make_cors();
46+
let response = HttpResponse::Ok().make_cors().json(&user_info);
4747
Ok(response)
4848
}

atcoder-problems-backend/src/server/user_submissions.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::server::{AppData, CommonResponse};
1+
use crate::server::{AppData, MakeCors};
22
use actix_web::http::header::CACHE_CONTROL;
33
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
44
use serde::{Deserialize, Serialize};
@@ -25,9 +25,9 @@ pub(crate) async fn get_user_submissions<A>(
2525
.await
2626
.map_err(error::ErrorInternalServerError)?;
2727
let response = HttpResponse::Ok()
28+
.make_cors()
2829
.insert_header((CACHE_CONTROL, "max-age=300"))
29-
.json(&submissions)
30-
.make_cors();
30+
.json(&submissions);
3131
Ok(response)
3232
}
3333

@@ -51,7 +51,7 @@ pub(crate) async fn get_user_submissions_from_time<A>(
5151
})
5252
.await
5353
.map_err(error::ErrorInternalServerError)?;
54-
let response = HttpResponse::json(&submissions)?.make_cors();
54+
let response = HttpResponse::Ok().make_cors().json(&submissions);
5555
Ok(response)
5656
} else {
5757
Ok(HttpResponse::BadRequest().finish())
@@ -82,7 +82,7 @@ pub(crate) async fn get_user_submission_count<A>(
8282
count: usize,
8383
}
8484
let response = UserSubmissionCountResponse { count };
85-
let response = HttpResponse::json(&response)?.make_cors();
85+
let response = HttpResponse::Ok().make_cors().json(&response);
8686
Ok(response)
8787
} else {
8888
Ok(HttpResponse::BadRequest().finish())
@@ -98,7 +98,7 @@ pub(crate) async fn get_recent_submissions<A>(
9898
.get_submissions(SubmissionRequest::RecentAll { count: 1000 })
9999
.await
100100
.map_err(error::ErrorInternalServerError)?;
101-
let response = HttpResponse::json(&submissions)?;
101+
let response = HttpResponse::Ok().json(&submissions);
102102
Ok(response)
103103
}
104104

@@ -131,6 +131,6 @@ pub(crate) async fn get_users_time_submissions<A>(
131131
})
132132
.await
133133
.map_err(error::ErrorInternalServerError)?;
134-
let response = HttpResponse::json(&submissions)?;
134+
let response = HttpResponse::Ok().json(&submissions);
135135
Ok(response)
136136
}

atcoder-problems-backend/src/server/virtual_contest.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::server::utils::GetAuthId;
2-
use crate::server::{AppData, Authentication, CommonResponse};
2+
use crate::server::{AppData, Authentication};
33

44
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
55
use serde::{Deserialize, Serialize};
@@ -39,7 +39,7 @@ pub(crate) async fn create_contest<A: Authentication + Clone + Send + Sync + 'st
3939
.await
4040
.map_err(error::ErrorInternalServerError)?;
4141
let body = serde_json::json!({ "contest_id": contest_id });
42-
let response = HttpResponse::json(&body)?;
42+
let response = HttpResponse::Ok().json(&body);
4343
Ok(response)
4444
}
4545

@@ -74,7 +74,7 @@ pub(crate) async fn update_contest<A: Authentication + Clone + Send + Sync + 'st
7474
)
7575
.await
7676
.map_err(error::ErrorInternalServerError)?;
77-
let response = HttpResponse::empty_json();
77+
let response = HttpResponse::Ok().finish();
7878
Ok(response)
7979
}
8080

@@ -94,7 +94,7 @@ pub(crate) async fn update_items<A: Authentication + Clone + Send + Sync + 'stat
9494
conn.update_items(&query.contest_id, &query.problems, &user_id)
9595
.await
9696
.map_err(error::ErrorInternalServerError)?;
97-
let response = HttpResponse::empty_json();
97+
let response = HttpResponse::Ok().finish();
9898
Ok(response)
9999
}
100100

@@ -108,7 +108,7 @@ pub(crate) async fn get_my_contests<A: Authentication + Clone + Send + Sync + 's
108108
.get_own_contests(&user_id)
109109
.await
110110
.map_err(error::ErrorInternalServerError)?;
111-
let response = HttpResponse::json(&contests)?;
111+
let response = HttpResponse::Ok().json(&contests);
112112
Ok(response)
113113
}
114114

@@ -122,7 +122,7 @@ pub(crate) async fn get_participated<A: Authentication + Clone + Send + Sync + '
122122
.get_participated_contests(&user_id)
123123
.await
124124
.map_err(error::ErrorInternalServerError)?;
125-
let response = HttpResponse::json(&contests)?;
125+
let response = HttpResponse::Ok().json(&contests);
126126
Ok(response)
127127
}
128128

@@ -156,7 +156,7 @@ pub(crate) async fn get_single_contest<A>(
156156
problems,
157157
participants,
158158
};
159-
let response = HttpResponse::json(&contest)?;
159+
let response = HttpResponse::Ok().json(&contest);
160160
Ok(response)
161161
}
162162

@@ -169,7 +169,7 @@ pub(crate) async fn get_recent_contests<A>(
169169
.get_recent_contest_info()
170170
.await
171171
.map_err(error::ErrorInternalServerError)?;
172-
let response = HttpResponse::json(&contest)?;
172+
let response = HttpResponse::Ok().json(&contest);
173173
Ok(response)
174174
}
175175

@@ -188,7 +188,7 @@ pub(crate) async fn join_contest<A: Authentication + Clone + Send + Sync + 'stat
188188
conn.join_contest(&query.contest_id, &user_id)
189189
.await
190190
.map_err(error::ErrorInternalServerError)?;
191-
let response = HttpResponse::empty_json();
191+
let response = HttpResponse::Ok().finish();
192192
Ok(response)
193193
}
194194

@@ -202,6 +202,6 @@ pub(crate) async fn leave_contest<A: Authentication + Clone + Send + Sync + 'sta
202202
conn.leave_contest(&query.contest_id, &user_id)
203203
.await
204204
.map_err(error::ErrorInternalServerError)?;
205-
let response = HttpResponse::empty_json();
205+
let response = HttpResponse::Ok().finish();
206206
Ok(response)
207207
}

0 commit comments

Comments
 (0)