1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-23 13:20:49 +00:00
Beego/docs.go

48 lines
1.0 KiB
Go
Raw Normal View History

2014-06-25 02:39:37 +00:00
// Beego (http://beego.me/)
2014-07-03 15:40:21 +00:00
//
2014-06-25 02:39:37 +00:00
// @description beego is an open-source, high-performance web framework for the Go programming language.
2014-07-03 15:40:21 +00:00
//
2014-06-25 02:39:37 +00:00
// @link http://github.com/astaxie/beego for the canonical source repository
2014-07-03 15:40:21 +00:00
//
2014-06-25 02:39:37 +00:00
// @license http://github.com/astaxie/beego/blob/master/LICENSE
2014-07-03 15:40:21 +00:00
//
2014-06-25 02:39:37 +00:00
// @authors astaxie
2014-06-16 08:05:15 +00:00
package beego
import (
"encoding/json"
"github.com/astaxie/beego/context"
)
var GlobalDocApi map[string]interface{}
2014-06-18 03:15:43 +00:00
func init() {
if EnableDocs {
GlobalDocApi = make(map[string]interface{})
}
}
2014-06-16 08:05:15 +00:00
func serverDocs(ctx *context.Context) {
var obj interface{}
if splat := ctx.Input.Param(":splat"); splat == "" {
obj = GlobalDocApi["Root"]
} else {
if v, ok := GlobalDocApi[splat]; ok {
obj = v
}
}
if obj != nil {
bt, err := json.Marshal(obj)
if err != nil {
ctx.Output.SetStatus(504)
return
}
ctx.Output.Header("Content-Type", "application/json;charset=UTF-8")
ctx.Output.Header("Access-Control-Allow-Origin", "*")
ctx.Output.Body(bt)
return
}
ctx.Output.SetStatus(404)
}