rocket_no_content/
lib.rs

1use rocket::{
2  response::{self, Responder},
3  Request, Response, http::Status,
4};
5
6pub struct EmptyResponse;
7
8impl<'r> Responder<'r, 'static> for EmptyResponse {
9  fn respond_to(self, _: &'r Request<'_>) -> response::Result<'static> {
10    Response::build()
11      .status(Status::NoContent)
12      .ok()
13  }
14}
15
16#[cfg(feature = "schema")]
17use okapi::openapi3::RefOr;
18
19#[cfg(feature = "schema")]
20use rocket_okapi::okapi::openapi3;
21
22#[cfg(feature = "schema")]
23impl rocket_okapi::response::OpenApiResponderInner for EmptyResponse {
24  fn responses(
25    _gen: &mut rocket_okapi::gen::OpenApiGenerator,
26  ) -> std::result::Result<openapi3::Responses, rocket_okapi::OpenApiError> {
27    let mut responses = okapi::Map::new();
28
29    responses.insert(
30      "204".to_string(),
31      RefOr::Object(openapi3::Response {
32        description: "Success".to_string(),
33        ..Default::default()
34      }),
35    );
36
37    Ok(openapi3::Responses {
38      responses,
39      ..Default::default()
40    })
41  }
42}