Skip to content

Commit 7d6773d

Browse files
committed
Return 400 (bad request) instead of 500 (internal error) for some errors
1 parent c78f761 commit 7d6773d

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/gha_logs.rs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,15 @@ async fn process_logs(
100100
.context("unable to retrieve team repos")?;
101101

102102
let Some(repos) = repos.repos.get(owner) else {
103-
anyhow::bail!("Organization `{owner}` is not part of team repos")
103+
return Ok(bad_request(format!(
104+
"organization `{owner}` is not part of the Rust Project team repos"
105+
)));
104106
};
105107

106108
if !repos.iter().any(|r| r.name == repo) {
107-
anyhow::bail!("Repository `{repo}` is not part of team repos");
109+
return Ok(bad_request(format!(
110+
"repository `{owner}` is not part of the Rust Project team repos"
111+
)));
108112
}
109113

110114
let log_uuid = format!("{owner}/{repo}${log_id}");
@@ -345,3 +349,10 @@ pub fn failure_svg() -> anyhow::Result<Response<Body>, hyper::Error> {
345349
.body(Body::from(FAILURE_SVG))
346350
.unwrap())
347351
}
352+
353+
fn bad_request(body: String) -> Response<Body> {
354+
Response::builder()
355+
.status(StatusCode::BAD_REQUEST)
356+
.body(Body::from(body))
357+
.unwrap()
358+
}

0 commit comments

Comments
 (0)