Features

Go way of doing things.

cidre embraces Go standard library APIs as APIs. cidre Apps, Middlewares and URL Handlers are just http.Handler.

Modular and extensible.

Middleware provide additional optional functionality for cidre. Middleware is just http.Handler, so it is easy to write your own middleware. And what is more well-designed hook points are available. Hooks allow you to add your own code to cidre that runs when specific events or actions occur inside cidre.

Thin, but well-chosen.

cidre is simple and thin, but includes functions that might be optional in other tiny frameworks: Sessions, Loggings, Configuration file.

Quick Start

1. Install

go get github.com/yuin/cidre

2. Create first app.go

package main

import (
  "github.com/yuin/cidre"
  "net/http"
)

func main() {
    app := cidre.NewApp(cidre.DefaultAppConfig())
    root := app.MountPoint("/")

    root.Get("show_welcome", "welcome", func(w http.ResponseWriter, r *http.Request) {
        app.Renderer.Text(w, "Welcome!")
    })

    app.Run()
}

 

3. Build it

go build app.go

4. Run it

./app
Open your browser to http://localhost:8080/welcome. For further information please visit the Docs page and the Examples page.