本文整理汇总了Golang中github.com/gamegos/jsend.JResponseWriter类的典型用法代码示例。如果您正苦于以下问题:Golang JResponseWriter类的具体用法?Golang JResponseWriter怎么用?Golang JResponseWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了JResponseWriter类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: AddChannel
func AddChannel(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
var f interface{}
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&f); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
m := f.(map[string]interface{})
if app, err := ctx.Storage.GetApp(appID); app == nil {
if err != nil {
jw.Status(500).Message(err.Error())
} else {
jw.Status(404).Message("App not found.")
}
return
}
err := ctx.Storage.AddChannel(appID, m["id"].(string))
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(201).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:33,代码来源:channel.go
示例2: AddSubscriber
func AddSubscriber(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
channelID := vars["channelId"]
var f addSubscriberRequest
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&f); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
if app, err := ctx.Storage.GetApp(appID); app == nil {
if err != nil {
jw.Status(500).Message(err.Error())
} else {
jw.Status(404).Message("App not found.")
}
return
}
err := ctx.Storage.AddSubscriber(appID, channelID, f.SubscriberIds)
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(201).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:32,代码来源:channel.go
示例3: PublishMessage
func PublishMessage(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
app, err := ctx.Storage.GetApp(vars["appId"])
if app == nil {
log.Println("App not found:", app, err)
jw.Status(404).Message("App not found").Send()
return
}
publishReq := new(publishRequest)
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&publishReq); err != nil {
log.Println("Could not decode message, ", err)
jw.Status(400).Message("Could not decode message: " + err.Error()).Send()
return
}
deviceTokens := make([]string, 0, len(publishReq.Subscribers))
for _, subscriberID := range publishReq.Subscribers {
log.Println(subscriberID)
subscriberDevices, err := ctx.Storage.GetSubscriberDevices(app.ID, subscriberID)
if err != nil {
log.Println("Error, ", err)
}
for _, device := range subscriberDevices {
deviceTokens = append(deviceTokens, device.Token)
}
log.Printf("Devices %#v\n", deviceTokens)
}
client := gcmlib.NewClient(gcmlib.Config{
APIKey: app.GCM.APIKey,
})
msg := publishReq.Message
msg.RegistrationIDs = deviceTokens
if err := msg.Validate(); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
result, gcmErr := client.Send(msg)
log.Printf("GCM Request: %#v, %#v\n", result, err)
if gcmErr != nil {
jw.Status(400).Message(gcmErr.Error()).Send()
return
}
jw.Data(result).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:57,代码来源:publish.go
示例4: DeleteChannel
func DeleteChannel(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
channelID := vars["channelId"]
err := ctx.Storage.DeleteChannel(appID, channelID)
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(200).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:14,代码来源:channel.go
示例5: AddDevice
func AddDevice(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
var postData addDeviceRequest
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&postData); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
if app, err := ctx.Storage.GetApp(appID); app == nil {
if err != nil {
jw.Status(500).Message(err.Error())
} else {
jw.Status(404).Message("App not found.")
}
return
}
device := storage.Device{
Platform: postData.Platform,
Token: postData.Token,
CreatedAt: int(time.Now().Unix()),
}
err := ctx.Storage.AddSubscriberDevice(appID, postData.SubscriberID, &device)
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(201).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:36,代码来源:app.go
示例6: GetApp
func GetApp(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
app, err := ctx.Storage.GetApp(appID)
if err != nil {
jw.Status(500).Message(err.Error())
return
}
if app == nil {
jw.Status(404).Message("App not found.")
return
}
jw.Data(app)
}
开发者ID:gamegos,项目名称:scotty,代码行数:18,代码来源:app.go
示例7: CreateApp
func CreateApp(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
var app *storage.App
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&app); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
err := ctx.Storage.PutApp(app)
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(201).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:19,代码来源:app.go
示例8: GetHealth
func GetHealth(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
jw.Status(200).Data("ok")
}
开发者ID:gamegos,项目名称:scotty,代码行数:3,代码来源:general.go
示例9: NotfoundHandler
func NotfoundHandler(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
jw.Status(404).Message("route not found")
}
开发者ID:gamegos,项目名称:scotty,代码行数:3,代码来源:general.go
示例10: UpdateApp
func UpdateApp(jw jsend.JResponseWriter, r *http.Request, ctx *context.Context) {
vars := mux.Vars(r)
appID := vars["appId"]
if app, err := ctx.Storage.GetApp(appID); app == nil {
if err != nil {
jw.Status(500).Message(err.Error())
} else {
jw.Status(404).Message("App not found.")
}
return
}
var app *storage.App
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&app); err != nil {
jw.Status(400).Message(err.Error()).Send()
return
}
if appID != app.ID {
jw.Status(400).Message("AppID mismatch").Send()
return
}
err := ctx.Storage.PutApp(app)
if err != nil {
jw.Status(500).Message(err.Error()).Send()
return
}
jw.Status(200).Send()
}
开发者ID:gamegos,项目名称:scotty,代码行数:35,代码来源:app.go
注:本文中的github.com/gamegos/jsend.JResponseWriter类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论