diff options
Diffstat (limited to 'license-generator/src')
| -rw-r--r-- | license-generator/src/main.rs | 18 | ||||
| -rw-r--r-- | license-generator/src/response.rs | 22 | 
2 files changed, 27 insertions, 13 deletions
| diff --git a/license-generator/src/main.rs b/license-generator/src/main.rs index f2beb26..296db0a 100644 --- a/license-generator/src/main.rs +++ b/license-generator/src/main.rs @@ -76,14 +76,7 @@ fn main() -> Result<()> {          match req.param("REQUEST_METHOD") {              Some(method) => {                  if method != "POST" { -                    response::set_405(&mut req.stdout(), "POST") -                        .unwrap_or(()); -                    write!(&mut req.stdout(), "Content-Type: text/plain - -405 Method Not Allowed") -                        .unwrap_or(()); - -                    return; +                    return response::error_405(&mut req.stdout(), "POST");                  }              },              None => { @@ -139,11 +132,10 @@ fn main() -> Result<()> {              );          } -        response::set_403(&mut req.stdout()).unwrap_or(()); -        write!(&mut req.stdout(), "Content-Type: text/plain - -403 Forbidden: Invalid request signature") -            .unwrap_or(()); +        response::error_403( +            &mut req.stdout(), +            Some("Invalid request signature") +        );      });      Ok(()) diff --git a/license-generator/src/response.rs b/license-generator/src/response.rs index aec2d22..a4e80bd 100644 --- a/license-generator/src/response.rs +++ b/license-generator/src/response.rs @@ -20,6 +20,28 @@ pub fn set_500<W: Write>(w: &mut W) -> Result<()> {      Ok(writeln!(w, "Status: 500")?)  } +pub fn error_403<W: Write>(w: &mut W, message: Option<&str>) { +    set_403(w).unwrap_or(()); +    write!( +        w, +        "Content-Type: text/plain + +403 Forbidden{}", +        message.map_or_else( +            || String::new(), +            |m| format!(": {}", m) +        ) +    ).unwrap_or(()); +} + +pub fn error_405<W: Write>(w: &mut W, allowed_methods: &str) { +    set_405(w, allowed_methods).unwrap_or(()); +    write!(w, "Content-Type: text/plain + +405 Method Not Allowed") +        .unwrap_or(()); +} +  pub fn error_500<W: Write>(w: &mut W, error: Option<Error>) {      if let Some(error) = error {          error!("{}", error); | 
