mirror of
https://github.com/kataras/iris.git
synced 2025-01-24 03:01:03 +01:00
60 lines
1.5 KiB
Go
60 lines
1.5 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"encoding/xml"
|
||
|
|
||
|
"gopkg.in/kataras/iris.v6"
|
||
|
"gopkg.in/kataras/iris.v6/adaptors/gorillamux"
|
||
|
"gopkg.in/kataras/iris.v6/adaptors/view"
|
||
|
)
|
||
|
|
||
|
// ExampleXML just a test struct to view represents xml content-type
|
||
|
type ExampleXML struct {
|
||
|
XMLName xml.Name `xml:"example"`
|
||
|
One string `xml:"one,attr"`
|
||
|
Two string `xml:"two,attr"`
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
app := iris.New()
|
||
|
app.Adapt(iris.DevLogger())
|
||
|
app.Adapt(gorillamux.New())
|
||
|
|
||
|
app.Get("/data", func(ctx *iris.Context) {
|
||
|
ctx.Data(iris.StatusOK, []byte("Some binary data here."))
|
||
|
})
|
||
|
|
||
|
app.Get("/text", func(ctx *iris.Context) {
|
||
|
ctx.Text(iris.StatusOK, "Plain text here")
|
||
|
})
|
||
|
|
||
|
app.Get("/json", func(ctx *iris.Context) {
|
||
|
ctx.JSON(iris.StatusOK, map[string]string{"hello": "json"}) // or myjsonStruct{hello:"json}
|
||
|
})
|
||
|
|
||
|
app.Get("/jsonp", func(ctx *iris.Context) {
|
||
|
ctx.JSONP(iris.StatusOK, "callbackName", map[string]string{"hello": "jsonp"})
|
||
|
})
|
||
|
|
||
|
app.Get("/xml", func(ctx *iris.Context) {
|
||
|
ctx.XML(iris.StatusOK, ExampleXML{One: "hello", Two: "xml"}) // or iris.Map{"One":"hello"...}
|
||
|
})
|
||
|
|
||
|
app.Get("/markdown", func(ctx *iris.Context) {
|
||
|
ctx.Markdown(iris.StatusOK, "# Hello Dynamic Markdown Iris")
|
||
|
})
|
||
|
|
||
|
app.Adapt(view.HTML("./templates", ".html"))
|
||
|
app.Get("/template", func(ctx *iris.Context) {
|
||
|
|
||
|
ctx.MustRender(
|
||
|
"hi.html", // the file name of the template relative to the './templates'
|
||
|
iris.Map{"Name": "Iris"}, // the .Name inside the ./templates/hi.html
|
||
|
iris.Map{"gzip": false}, // enable gzip for big files
|
||
|
)
|
||
|
|
||
|
})
|
||
|
|
||
|
app.Listen(":8080")
|
||
|
}
|