2015-05-11 20:52:43 -07:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
|
|
|
|
"github.com/labstack/echo"
|
|
|
|
mw "github.com/labstack/echo/middleware"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Handler
|
2015-05-20 15:59:36 -07:00
|
|
|
func hello(c *echo.Context) error {
|
2015-05-11 20:52:43 -07:00
|
|
|
return c.String(http.StatusOK, "Hello, World!\n")
|
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
// Echo instance
|
|
|
|
e := echo.New()
|
|
|
|
|
2015-05-17 22:54:29 -07:00
|
|
|
// Debug mode
|
2015-05-19 18:59:05 -07:00
|
|
|
e.SetDebug(true)
|
2015-05-17 22:54:29 -07:00
|
|
|
|
2015-05-11 20:52:43 -07:00
|
|
|
//------------
|
|
|
|
// Middleware
|
|
|
|
//------------
|
|
|
|
|
|
|
|
// Logger
|
2015-05-15 12:29:14 -07:00
|
|
|
e.Use(mw.Logger())
|
2015-05-11 20:52:43 -07:00
|
|
|
|
2015-05-18 11:33:11 -07:00
|
|
|
// Recover
|
|
|
|
e.Use(mw.Recover())
|
|
|
|
|
2015-05-11 20:52:43 -07:00
|
|
|
// Basic auth
|
2015-06-07 19:57:49 -07:00
|
|
|
e.Use(mw.BasicAuth(func(usr, pwd string) bool {
|
|
|
|
if usr == "joe" && pwd == "secret" {
|
2015-05-11 20:52:43 -07:00
|
|
|
return true
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}))
|
|
|
|
|
2015-05-14 16:29:26 -07:00
|
|
|
//-------
|
|
|
|
// Slash
|
|
|
|
//-------
|
|
|
|
|
|
|
|
e.Use(mw.StripTrailingSlash())
|
|
|
|
|
|
|
|
// or
|
|
|
|
|
|
|
|
// e.Use(mw.RedirectToSlash())
|
|
|
|
|
2015-05-15 12:29:14 -07:00
|
|
|
// Gzip
|
|
|
|
e.Use(mw.Gzip())
|
|
|
|
|
2015-05-11 20:52:43 -07:00
|
|
|
// Routes
|
|
|
|
e.Get("/", hello)
|
|
|
|
|
|
|
|
// Start server
|
|
|
|
e.Run(":1323")
|
|
|
|
}
|