本文整理匯總了Golang中github.com/eris-ltd/eris-db/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Param方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.Param方法的具體用法?Golang Context.Param怎麽用?Golang Context.Param使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/eris-ltd/eris-db/Godeps/_workspace/src/github.com/gin-gonic/gin.Context
的用法示例。
在下文中一共展示了Context.Param方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: subIdParam
func subIdParam(c *gin.Context) {
subId := c.Param("id")
if len(subId) != 64 || !util.IsHex(subId) {
c.AbortWithError(400, fmt.Errorf("Malformed event id"))
}
c.Set("id", subId)
c.Next()
}
示例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,
})
}
示例3: keyParam
func keyParam(c *gin.Context) {
key := c.Param("key")
bts, err := hex.DecodeString(key)
if err != nil {
c.AbortWithError(400, err)
}
c.Set("keyBts", bts)
c.Next()
}
示例4: addressParam
func addressParam(c *gin.Context) {
addr := c.Param("address")
if !util.IsAddress(addr) {
c.AbortWithError(400, fmt.Errorf("Malformed address param: "+addr))
}
bts, _ := hex.DecodeString(addr)
c.Set("addrBts", bts)
c.Next()
}
示例5: 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
})
}
示例6: heightParam
func heightParam(c *gin.Context) {
h, err := strconv.Atoi(c.Param("height"))
if err != nil {
c.AbortWithError(400, err)
}
if h < 0 {
c.AbortWithError(400, fmt.Errorf("Negative number used as height."))
}
c.Set("height", h)
c.Next()
}
示例7: 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,
})
}
示例8: 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(),
})
}
示例9: 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
})
}
示例10: 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)
}
示例11: peerAddressParam
// TODO
func peerAddressParam(c *gin.Context) {
subId := c.Param("address")
c.Set("address", subId)
c.Next()
}
示例12: nameParam
func nameParam(c *gin.Context) {
name := c.Param("key")
c.Set("name", name)
c.Next()
}
示例13: roomDELETE
func roomDELETE(c *gin.Context) {
roomid := c.Param("roomid")
deleteBroadcast(roomid)
}