Responses 
Mantis provides a simple way to return responses to clients.
HTML Responses 
Return HTML content using response.html():
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
fn main() {
  app := create_app(
    routes: [
      route.get(
        name: "index"
        path: "/"
        callback: fn (app App) !Response {
          return app.response.html(content: "hello world") 
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}Status Codes 
Set HTTP status codes using the status field:
v
module main
import khalyomede.mantis.http { create_app, App, Response, Status }
import khalyomede.mantis.http.route
fn main() {
  app := create_app(
    routes: [
      route.post(
        name: "post.store"
        path: "/post"
        callback: fn (app App) !Response {
          return app.response.html(
            content: "Post created successfully"
            status: .created 
          )
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}Headers 
Add custom headers to your response:
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
fn main() {
  app := create_app(
    routes: [
      route.get(
        name: "cache.example"
        path: "/cached-page"
        callback: fn (app App) !Response {
          return app.response
            .html(content: "This page is cached")
            .set_header("Cache-Control", "max-age=3600") 
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}Redirects 
Redirect users to another URL:
v
module main
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
fn main() {
  app := create_app(
    routes: [
      route.get(
        name: "profile"
        path: "/profile"
        callback: fn (app App) !Response {
          return app.response.redirect(path: "/login") 
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}You can also add query parameters:
v
import khalyomede.mantis.http { create_app, App, Response }
import khalyomede.mantis.http.route
fn main() {
  app := create_app(
    routes: [
      route.get(
        name: "admin"
        path: "/admin"
        callback: fn (app App) !Response {
          return app.response.redirect(path: "/login", queries: { 
            'return_to': '/admin'
          })
        }
      )
    ]
  )
  app.serve() or { panic(err) }
}