From 01a5e5426409e47d277ed7c798fb63a0009b90c6 Mon Sep 17 00:00:00 2001 From: astaxie Date: Thu, 10 Sep 2015 15:40:46 +0800 Subject: [PATCH] delete example from the source code --- example/beeapi/conf/app.conf | 5 - example/beeapi/controllers/default.go | 63 --------- example/beeapi/main.go | 30 ----- example/beeapi/models/object.go | 58 --------- example/chat/conf/app.conf | 3 - example/chat/controllers/default.go | 20 --- example/chat/controllers/ws.go | 180 -------------------------- example/chat/main.go | 17 --- example/chat/views/index.tpl | 92 ------------- 9 files changed, 468 deletions(-) delete mode 100644 example/beeapi/conf/app.conf delete mode 100644 example/beeapi/controllers/default.go delete mode 100644 example/beeapi/main.go delete mode 100644 example/beeapi/models/object.go delete mode 100644 example/chat/conf/app.conf delete mode 100644 example/chat/controllers/default.go delete mode 100644 example/chat/controllers/ws.go delete mode 100644 example/chat/main.go delete mode 100644 example/chat/views/index.tpl diff --git a/example/beeapi/conf/app.conf b/example/beeapi/conf/app.conf deleted file mode 100644 index fd1681a2..00000000 --- a/example/beeapi/conf/app.conf +++ /dev/null @@ -1,5 +0,0 @@ -appname = beeapi -httpport = 8080 -runmode = dev -autorender = false -copyrequestbody = true diff --git a/example/beeapi/controllers/default.go b/example/beeapi/controllers/default.go deleted file mode 100644 index a2184075..00000000 --- a/example/beeapi/controllers/default.go +++ /dev/null @@ -1,63 +0,0 @@ -// Beego (http://beego.me/) -// @description beego is an open-source, high-performance web framework for the Go programming language. -// @link http://github.com/astaxie/beego for the canonical source repository -// @license http://github.com/astaxie/beego/blob/master/LICENSE -// @authors astaxie - -package controllers - -import ( - "encoding/json" - - "github.com/astaxie/beego" - "github.com/astaxie/beego/example/beeapi/models" -) - -type ObjectController struct { - beego.Controller -} - -func (o *ObjectController) Post() { - var ob models.Object - json.Unmarshal(o.Ctx.Input.RequestBody, &ob) - objectid := models.AddOne(ob) - o.Data["json"] = map[string]string{"ObjectId": objectid} - o.ServeJson() -} - -func (o *ObjectController) Get() { - objectId := o.Ctx.Input.Params[":objectId"] - if objectId != "" { - ob, err := models.GetOne(objectId) - if err != nil { - o.Data["json"] = err - } else { - o.Data["json"] = ob - } - } else { - obs := models.GetAll() - o.Data["json"] = obs - } - o.ServeJson() -} - -func (o *ObjectController) Put() { - objectId := o.Ctx.Input.Params[":objectId"] - var ob models.Object - json.Unmarshal(o.Ctx.Input.RequestBody, &ob) - - err := models.Update(objectId, ob.Score) - if err != nil { - o.Data["json"] = err - } else { - o.Data["json"] = "update success!" - } - o.ServeJson() -} - -func (o *ObjectController) Delete() { - objectId := o.Ctx.Input.Params[":objectId"] - models.Delete(objectId) - o.Data["json"] = "delete success!" - o.ServeJson() -} diff --git a/example/beeapi/main.go b/example/beeapi/main.go deleted file mode 100644 index c1250e03..00000000 --- a/example/beeapi/main.go +++ /dev/null @@ -1,30 +0,0 @@ -// Beego (http://beego.me/) - -// @description beego is an open-source, high-performance web framework for the Go programming language. - -// @link http://github.com/astaxie/beego for the canonical source repository - -// @license http://github.com/astaxie/beego/blob/master/LICENSE - -// @authors astaxie - -package main - -import ( - "github.com/astaxie/beego" - "github.com/astaxie/beego/example/beeapi/controllers" -) - -// Objects - -// URL HTTP Verb Functionality -// /object POST Creating Objects -// /object/ GET Retrieving Objects -// /object/ PUT Updating Objects -// /object GET Queries -// /object/ DELETE Deleting Objects - -func main() { - beego.RESTRouter("/object", &controllers.ObjectController{}) - beego.Run() -} diff --git a/example/beeapi/models/object.go b/example/beeapi/models/object.go deleted file mode 100644 index 46109c50..00000000 --- a/example/beeapi/models/object.go +++ /dev/null @@ -1,58 +0,0 @@ -// Beego (http://beego.me/) -// @description beego is an open-source, high-performance web framework for the Go programming language. -// @link http://github.com/astaxie/beego for the canonical source repository -// @license http://github.com/astaxie/beego/blob/master/LICENSE -// @authors astaxie - -package models - -import ( - "errors" - "strconv" - "time" -) - -var ( - Objects map[string]*Object -) - -type Object struct { - ObjectId string - Score int64 - PlayerName string -} - -func init() { - Objects = make(map[string]*Object) - Objects["hjkhsbnmn123"] = &Object{"hjkhsbnmn123", 100, "astaxie"} - Objects["mjjkxsxsaa23"] = &Object{"mjjkxsxsaa23", 101, "someone"} -} - -func AddOne(object Object) (ObjectId string) { - object.ObjectId = "astaxie" + strconv.FormatInt(time.Now().UnixNano(), 10) - Objects[object.ObjectId] = &object - return object.ObjectId -} - -func GetOne(ObjectId string) (object *Object, err error) { - if v, ok := Objects[ObjectId]; ok { - return v, nil - } - return nil, errors.New("ObjectId Not Exist") -} - -func GetAll() map[string]*Object { - return Objects -} - -func Update(ObjectId string, Score int64) (err error) { - if v, ok := Objects[ObjectId]; ok { - v.Score = Score - return nil - } - return errors.New("ObjectId Not Exist") -} - -func Delete(ObjectId string) { - delete(Objects, ObjectId) -} diff --git a/example/chat/conf/app.conf b/example/chat/conf/app.conf deleted file mode 100644 index 9d5a823f..00000000 --- a/example/chat/conf/app.conf +++ /dev/null @@ -1,3 +0,0 @@ -appname = chat -httpport = 8080 -runmode = dev diff --git a/example/chat/controllers/default.go b/example/chat/controllers/default.go deleted file mode 100644 index 95ef8a9b..00000000 --- a/example/chat/controllers/default.go +++ /dev/null @@ -1,20 +0,0 @@ -// Beego (http://beego.me/) -// @description beego is an open-source, high-performance web framework for the Go programming language. -// @link http://github.com/astaxie/beego for the canonical source repository -// @license http://github.com/astaxie/beego/blob/master/LICENSE -// @authors Unknwon - -package controllers - -import ( - "github.com/astaxie/beego" -) - -type MainController struct { - beego.Controller -} - -func (m *MainController) Get() { - m.Data["host"] = m.Ctx.Request.Host - m.TplNames = "index.tpl" -} diff --git a/example/chat/controllers/ws.go b/example/chat/controllers/ws.go deleted file mode 100644 index 9e405513..00000000 --- a/example/chat/controllers/ws.go +++ /dev/null @@ -1,180 +0,0 @@ -// Beego (http://beego.me/) -// @description beego is an open-source, high-performance web framework for the Go programming language. -// @link http://github.com/astaxie/beego for the canonical source repository -// @license http://github.com/astaxie/beego/blob/master/LICENSE -// @authors Unknwon - -package controllers - -import ( - "io/ioutil" - "math/rand" - "net/http" - "time" - - "github.com/astaxie/beego" - "github.com/gorilla/websocket" -) - -const ( - // Time allowed to write a message to the client. - writeWait = 10 * time.Second - - // Time allowed to read the next message from the client. - readWait = 60 * time.Second - - // Send pings to client with this period. Must be less than readWait. - pingPeriod = (readWait * 9) / 10 - - // Maximum message size allowed from client. - maxMessageSize = 512 -) - -func init() { - rand.Seed(time.Now().UTC().UnixNano()) - go h.run() -} - -// connection is an middleman between the websocket connection and the hub. -type connection struct { - username string - - // The websocket connection. - ws *websocket.Conn - - // Buffered channel of outbound messages. - send chan []byte -} - -// readPump pumps messages from the websocket connection to the hub. -func (c *connection) readPump() { - defer func() { - h.unregister <- c - c.ws.Close() - }() - c.ws.SetReadLimit(maxMessageSize) - c.ws.SetReadDeadline(time.Now().Add(readWait)) - c.ws.SetPongHandler(func(string) error { c.ws.SetReadDeadline(time.Now().Add(readWait)); return nil }) - for { - op, r, err := c.ws.NextReader() - if err != nil { - break - } - switch op { - case websocket.TextMessage: - message, err := ioutil.ReadAll(r) - if err != nil { - break - } - h.broadcast <- []byte(c.username + "_" + time.Now().Format("15:04:05") + ":" + string(message)) - } - } -} - -// write writes a message with the given opCode and payload. -func (c *connection) write(opCode int, payload []byte) error { - c.ws.SetWriteDeadline(time.Now().Add(writeWait)) - return c.ws.WriteMessage(opCode, payload) -} - -// writePump pumps messages from the hub to the websocket connection. -func (c *connection) writePump() { - ticker := time.NewTicker(pingPeriod) - defer func() { - ticker.Stop() - c.ws.Close() - }() - for { - select { - case message, ok := <-c.send: - if !ok { - c.write(websocket.CloseMessage, []byte{}) - return - } - if err := c.write(websocket.TextMessage, message); err != nil { - return - } - case <-ticker.C: - if err := c.write(websocket.PingMessage, []byte{}); err != nil { - return - } - } - } -} - -type hub struct { - // Registered connections. - connections map[*connection]bool - - // Inbound messages from the connections. - broadcast chan []byte - - // Register requests from the connections. - register chan *connection - - // Unregister requests from connections. - unregister chan *connection -} - -var h = &hub{ - broadcast: make(chan []byte, maxMessageSize), - register: make(chan *connection, 1), - unregister: make(chan *connection, 1), - connections: make(map[*connection]bool), -} - -func (h *hub) run() { - for { - select { - case c := <-h.register: - h.connections[c] = true - case c := <-h.unregister: - delete(h.connections, c) - close(c.send) - case m := <-h.broadcast: - for c := range h.connections { - select { - case c.send <- m: - default: - close(c.send) - delete(h.connections, c) - } - } - } - } -} - -type WSController struct { - beego.Controller -} - -var upgrader = websocket.Upgrader{ - ReadBufferSize: 1024, - WriteBufferSize: 1024, -} - -func (w *WSController) Get() { - ws, err := upgrader.Upgrade(w.Ctx.ResponseWriter, w.Ctx.Request, nil) - if _, ok := err.(websocket.HandshakeError); ok { - http.Error(w.Ctx.ResponseWriter, "Not a websocket handshake", 400) - return - } else if err != nil { - return - } - c := &connection{send: make(chan []byte, 256), ws: ws, username: randomString(10)} - h.register <- c - go c.writePump() - c.readPump() -} - -func randomString(l int) string { - bytes := make([]byte, l) - for i := 0; i < l; i++ { - bytes[i] = byte(randInt(65, 90)) - } - return string(bytes) -} - -func randInt(min int, max int) int { - return min + rand.Intn(max-min) -} diff --git a/example/chat/main.go b/example/chat/main.go deleted file mode 100644 index be055b25..00000000 --- a/example/chat/main.go +++ /dev/null @@ -1,17 +0,0 @@ -// Beego (http://beego.me/) -// @description beego is an open-source, high-performance web framework for the Go programming language. -// @link http://github.com/astaxie/beego for the canonical source repository -// @license http://github.com/astaxie/beego/blob/master/LICENSE -// @authors Unknwon -package main - -import ( - "github.com/astaxie/beego" - "github.com/astaxie/beego/example/chat/controllers" -) - -func main() { - beego.Router("/", &controllers.MainController{}) - beego.Router("/ws", &controllers.WSController{}) - beego.Run() -} diff --git a/example/chat/views/index.tpl b/example/chat/views/index.tpl deleted file mode 100644 index 3a9d8838..00000000 --- a/example/chat/views/index.tpl +++ /dev/null @@ -1,92 +0,0 @@ - - - -Chat Example - - - - - -
-
- - -
- - \ No newline at end of file