当前位置: 首页>>代码示例>>Golang>>正文


Golang Context.Param方法代码示例

本文整理汇总了Golang中github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Param方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Param方法的具体用法?Golang Context.Param怎么用?Golang Context.Param使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context的用法示例。


在下文中一共展示了Context.Param方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: ListEvents

// ListEvents should return a JSON list of events for a particular stadium.
func ListEvents(c *gin.Context) {
	stadium := c.Param("stadium")

	if stadium == "" {
		errMsg := "Error: no stadium specified when requesting events!"
		fmt.Println(errMsg)
		c.JSON(http.StatusBadRequest, map[string]string{"status": errMsg})
	}

	// Store the new event in the DB
	dbConn, dbErr := db.GetDBConnection()
	if dbErr != nil {
		fmt.Printf("Found err: %s\n", dbErr.Error())
		c.JSON(http.StatusInternalServerError,
			map[string]string{"status": "Error cannot connect to DB!"})
		return
	}

	// Find the `sid` by which the events will be selected
	var outStadium model.Stadium
	dbConn.Table("stadiums").Where("name = ?", stadium).First(&outStadium)

	fmt.Printf("Found sid=%d\n", outStadium.Sid)
	fmt.Printf("Getting events for stadium: %s\n", stadium)

	// Select all events in the events table by the `sid`
	eventList := make([]model.Event, 0, 3)
	dbConn.Where(&model.Event{Sid: outStadium.Sid}).Find(&eventList)

	response := make(map[string][]model.Event)
	response["events"] = eventList

	c.JSON(http.StatusOK, response)
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:35,代码来源:handlers.go

示例2: roomGET

func roomGET(c *gin.Context) {
	roomid := c.Param("roomid")
	userid := fmt.Sprint(rand.Int31())
	c.HTML(200, "chat_room", gin.H{
		"roomid": roomid,
		"userid": userid,
	})
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:8,代码来源:main.go

示例3: stream

func stream(c *gin.Context) {
	roomid := c.Param("roomid")
	listener := openListener(roomid)
	defer closeListener(roomid, listener)

	c.Stream(func(w io.Writer) bool {
		c.SSEvent("message", <-listener)
		return true
	})
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:10,代码来源:main.go

示例4: roomPOST

func roomPOST(c *gin.Context) {
	roomid := c.Param("roomid")
	userid := c.PostForm("user")
	message := c.PostForm("message")
	room(roomid).Submit(userid + ": " + message)

	c.JSON(200, gin.H{
		"status":  "success",
		"message": message,
	})
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:11,代码来源:main.go

示例5: roomGET

func roomGET(c *gin.Context) {
	roomid := c.Param("roomid")
	nick := c.Query("nick")
	if len(nick) < 2 {
		nick = ""
	}
	if len(nick) > 13 {
		nick = nick[0:12] + "..."
	}
	c.HTML(200, "room_login.templ.html", gin.H{
		"roomid":    roomid,
		"nick":      nick,
		"timestamp": time.Now().Unix(),
	})

}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:16,代码来源:routes.go

示例6: streamRoom

func streamRoom(c *gin.Context) {
	roomid := c.Param("roomid")
	listener := openListener(roomid)
	ticker := time.NewTicker(1 * time.Second)
	users.Add("connected", 1)
	defer func() {
		closeListener(roomid, listener)
		ticker.Stop()
		users.Add("disconnected", 1)
	}()

	c.Stream(func(w io.Writer) bool {
		select {
		case msg := <-listener:
			messages.Add("outbound", 1)
			c.SSEvent("message", msg)
		case <-ticker.C:
			c.SSEvent("stats", Stats())
		}
		return true
	})
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:22,代码来源:routes.go

示例7: roomPOST

func roomPOST(c *gin.Context) {
	roomid := c.Param("roomid")
	nick := c.Query("nick")
	message := c.PostForm("message")
	message = strings.TrimSpace(message)

	validMessage := len(message) > 1 && len(message) < 200
	validNick := len(nick) > 1 && len(nick) < 14
	if !validMessage || !validNick {
		c.JSON(400, gin.H{
			"status": "failed",
			"error":  "the message or nickname is too long",
		})
		return
	}

	post := gin.H{
		"nick":    html.EscapeString(nick),
		"message": html.EscapeString(message),
	}
	messages.Add("inbound", 1)
	room(roomid).Submit(post)
	c.JSON(200, post)
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:24,代码来源:routes.go

示例8: roomDELETE

func roomDELETE(c *gin.Context) {
	roomid := c.Param("roomid")
	deleteBroadcast(roomid)
}
开发者ID:Rking788,项目名称:hotseats-api,代码行数:4,代码来源:main.go


注:本文中的github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Param方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。