本文整理汇总了Golang中github.com/labstack/echo.Context.Param方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Param方法的具体用法?Golang Context.Param怎么用?Golang Context.Param使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/labstack/echo.Context
的用法示例。
在下文中一共展示了Context.Param方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RemoveTodo
func RemoveTodo(c echo.Context) error {
id := c.Param("id")
tododao.DeleteTodo(id)
return c.String(http.StatusOK, "")
}
示例2: deleteBot
// deleteBot получает команду от веб-клиента (удалить бота) и перенаправляет ее менеджеру ботов
func deleteBot(c *echo.Context) error {
id := c.Param("id")
action := "delete"
MB.SendActionToBot(id, action, nil)
return c.String(http.StatusOK, "ok\n")
}
示例3: getPunchesHandler
func getPunchesHandler(c echo.Context) error {
id, err := strconv.ParseInt(c.Param("userID"), 10, 64)
if err != nil {
return err
}
return nil
}
示例4: handleGetTransferResultsByIP
func (s *Server) handleGetTransferResultsByIP(c echo.Context) error {
ip := net.ParseIP(c.Param("IP"))
res := s.registry.TransferResultsByIP(ip)
return c.JSON(200, res)
}
示例5: Update
// Update inserts a new friendship in database
func Update(c *echo.Context) (int, interface{}) {
digitsID, ok := c.Get("digitsID").(int64)
if !ok {
return msg.Forbidden("session required")
}
friendID, err := strconv.Atoi(c.Param("id"))
if err != nil {
return msg.BadRequest(err)
}
// Bind body request to friend
var friend models.FriendUpdate
err = c.Bind(&friend)
if err != nil {
return msg.BadRequest(err)
}
// Validate input
err = validator.Validate(friend)
if err != nil {
return msg.BadRequest(err)
}
// Insert into database
err = mangos.Update(constants.CFriends, bson.M{"friend_id": int64(friendID), "digits_id": digitsID}, friend)
if err != nil {
return msg.InternalError(err)
}
return msg.Ok(friend)
}
示例6: postDevicePairing
func postDevicePairing(c *echo.Context) error {
groupID := c.Get("GroupID").(string)
deviceID := c.Param("device-id")
_, _ = groupID, deviceID
var pairingKey struct {
Key string
}
err := c.Bind(&pairingKey) // читаем ключ из запроса
if err != nil || len(pairingKey.Key) < 4 {
return echo.NewHTTPError(http.StatusBadRequest)
}
var deviceIDResp string
err = nce.Request(serviceNamePairingKey, pairingKey.Key, &deviceIDResp, natsRequestTimeout)
if err != nil {
llog.Error("NATS Pairing Key response error: %v", err)
return err
}
if deviceIDResp == "" {
return echo.NewHTTPError(http.StatusNotFound)
}
if deviceIDResp == deviceID {
// TODO: реально связать в базе
return echo.NewHTTPError(http.StatusOK)
}
if deviceID == "" {
return c.JSON(http.StatusOK, map[string]string{"ID": deviceIDResp})
}
return echo.NewHTTPError(http.StatusBadRequest)
}
示例7: Update
func (r *EnvironmentResource) Update(c echo.Context) error {
name := c.Param("name")
environment, err := r.store.GetEnvironmentByName(name)
if err != nil {
if err == store.ErrNoRows {
return NotFound(c)
}
return InternalServerError(c, err)
}
input := struct {
Name string `json:"name"`
}{}
if err := c.Bind(&input); err != nil {
return BadRequest(c, "Payload must be a valid JSON object")
}
if input.Name != "" {
environment.Name = input.Name
}
if err := r.store.UpdateEnvironment(environment); err != nil {
return InternalServerError(c, err)
}
return OK(c, environment)
}
示例8: Delete
// Delete deletes the resume.
//
// Method POST
//
// Route /resume/delete/:id
//
// Restrictions Yes
//
// Template None
func Delete(ctx *echo.Context) error {
var flashMessages = flash.New()
id, err := utils.GetInt(ctx.Param("id"))
if err != nil {
utils.SetData(ctx, "Message", tmpl.BadRequestMessage)
return ctx.Render(http.StatusBadRequest, tmpl.ErrBadRequest, utils.GetData(ctx))
}
user := ctx.Get("User").(*models.Person)
resume, err := query.GetResumeByID(id)
if err != nil {
utils.SetData(ctx, "Message", tmpl.NotFoundMessage)
return ctx.Render(http.StatusNotFound, tmpl.ErrNotFoundTpl, tmpl.NotFoundMessage)
}
// Users are allowed to delete resumes that they don't own.
if resume.PersonID != user.ID {
utils.SetData(ctx, "Message", tmpl.BadRequestMessage)
return ctx.Render(http.StatusBadRequest, tmpl.ErrBadRequest, utils.GetData(ctx))
}
err = query.Delete(resume)
if err != nil {
utils.SetData(ctx, "Message", tmpl.ServerErrorMessage)
return ctx.Render(http.StatusInternalServerError, tmpl.ErrServerTpl, utils.GetData(ctx))
}
flashMessages.Success("resume successful deleted")
flashMessages.Save(ctx)
ctx.Redirect(http.StatusFound, "/resume/")
return nil
}
示例9: DelAdmin
// DelAdmin removes a member from an existing group
func DelAdmin(c *echo.Context) (int, interface{}) {
digitsID, ok := c.Get("digitsID").(int64)
if !ok {
return msg.Forbidden("session required")
}
// Get group id and convert from string to objectId
rawMID := c.Param("mid")
if !bson.IsObjectIdHex(rawMID) {
return msg.BadRequest("bad id: not a ObjectId")
}
// find the group
memberID := bson.ObjectIdHex(rawMID)
// Get group id and convert from string to objectId
rawGID := c.Param("gid")
if !bson.IsObjectIdHex(rawGID) {
return msg.BadRequest("bad id: not a ObjectId")
}
// find the group
groupID := bson.ObjectIdHex(rawGID)
err := mangos.Update(constants.CGroups, bson.M{
"$and": []bson.M{
bson.M{"_id": groupID},
bson.M{"admins": digitsID},
},
}, bson.M{"$pull": bson.M{"admins": memberID}})
if err != nil {
return msg.InternalError(err)
}
return msg.Ok("deleted admin")
}
示例10: UnpublishApplication
// Make an application unusable
func UnpublishApplication(c *echo.Context) error {
appId := c.Param("app_id")
if len(appId) < 1 {
return c.JSON(http.StatusBadRequest, hash{
"error": [1]hash{
hash{
"detail": "App id must be specified",
},
},
})
}
err := apps.UnpublishApp(appId)
if err == apps.UnpublishFailed {
return c.JSON(http.StatusInternalServerError, hash{
"error": [1]hash{
hash{
"detail": err.Error(),
},
},
})
}
return c.JSON(http.StatusOK, hash{
"data": hash{
"success": true,
},
})
}
示例11: Update
// Update patches a group in database
func Update(c *echo.Context) (int, interface{}) {
digitsID, ok := c.Get("digitsID").(int64)
if !ok {
return msg.Forbidden("session required")
}
// Bind request body to a group update
var group models.GroupUpdate
err := c.Bind(&group)
if err != nil {
return msg.BadRequest(err)
}
// Get group id and convert from string to objectId
rawGID := c.Param("gid")
if !bson.IsObjectIdHex(rawGID) {
return msg.BadRequest("bad id: not a ObjectId")
}
// Update the object, only if its a admin
groupID := bson.ObjectIdHex(rawGID)
err = mangos.Update(constants.CGroups, bson.M{
"$and": []bson.M{
bson.M{"_id": groupID},
bson.M{"admins": digitsID},
},
}, bson.M{"$set": group})
if err != nil {
return msg.InternalError(err)
}
return msg.Ok(group)
}
示例12: putValues
func (app *App) putValues(ctx *echo.Context) (err error) {
key := ctx.Param("key")
value, err := readBody(ctx.Request())
if err != nil {
return err
}
app.Lock()
entry, ok := app.store[key]
if !ok {
entry = newEntry()
entry.Lock()
app.store[key] = entry
} else {
entry.Lock()
}
app.Unlock()
entry.value = value
entry.lockID = generateID(32)
app.cond.Broadcast()
entry.Unlock()
response := map[string]interface{}{}
response["lock_id"] = entry.lockID
ctx.JSON(200, response)
return
}
示例13: getGroupHandler
func getGroupHandler(ctx *echo.Context) error {
g, err := getGroup(dbFromContext(ctx), ctx.Param("id"))
if err != nil {
return err
}
return ctx.JSON(200, g)
}
示例14: UnpublishApplication
// Make an application unusable
func UnpublishApplication(c *echo.Context) error {
user := c.Get("user").(*users.User)
appId := c.Param("app_id")
if len(appId) < 1 {
return c.JSON(http.StatusBadRequest, hash{
"error": [1]hash{
hash{
"detail": "App id must be specified",
},
},
})
}
err := apps.UnpublishApp(user, appId)
if err == apps.UnpublishFailed {
return c.JSON(http.StatusInternalServerError, hash{
"error": [1]hash{
hash{
"detail": err.Error(),
},
},
})
}
return c.JSON(http.StatusOK, hash{
"meta": hash{},
})
}
示例15: Update
/**
* @api {put} /topics/{id} Updates a topic
* @apiName UpdateTopic
* @apiGroup Topics
*
* @apiParam {Number} id The id of the topic to update
* @apiParam {String} [name] The new name of the topic
*/
func (tc *TopicsController) Update(c *echo.Context) error {
resp := response.New(c)
defer resp.Render()
// Getting params
id, err := strconv.ParseInt(c.Param("id"), 10, 64)
if err != nil {
resp.SetResponse(http.StatusBadRequest, nil)
return nil
}
// Loading the topic
topic := new(models.Topic)
err = topic.Load(id)
if err != nil {
resp.SetResponse(http.StatusNotFound, nil)
return nil
}
name := c.Form("name")
if name != "" {
topic.Name = name
}
err = topic.Update()
if err != nil {
resp.SetResponse(http.StatusInternalServerError, nil)
return nil
}
resp.SetResponse(http.StatusOK, topic)
return nil
}