本文整理汇总了Golang中github.com/jaredwilkening/goweb.Context.RespondWithOK方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.RespondWithOK方法的具体用法?Golang Context.RespondWithOK怎么用?Golang Context.RespondWithOK使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jaredwilkening/goweb.Context
的用法示例。
在下文中一共展示了Context.RespondWithOK方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Delete
// DELETE: /node/{id}
func (cr *NodeController) Delete(id string, cx *goweb.Context) {
LogRequest(cx.Request)
u, err := AuthenticateRequest(cx.Request)
if err != nil && err.Error() != e.NoAuth {
handleAuthError(err, cx)
return
}
if u == nil {
cx.RespondWithErrorMessage(e.NoAuth, http.StatusUnauthorized)
return
}
// Load node and handle user unauthorized
node, err := store.LoadNode(id, u.Uuid)
if err != nil {
if err.Error() == e.UnAuth {
cx.RespondWithError(http.StatusUnauthorized)
return
} else if err.Error() == e.MongoDocNotFound {
cx.RespondWithNotFound()
return
} else {
// In theory the db connection could be lost between
// checking user and load but seems unlikely.
log.Error("[email protected]_Read:Delete: " + err.Error())
cx.RespondWithError(http.StatusInternalServerError)
return
}
}
if err := node.Delete(); err == nil {
cx.RespondWithOK()
return
} else {
log.Error("[email protected]_Delet:Delete: " + err.Error())
cx.RespondWithError(http.StatusInternalServerError)
}
return
}
示例2: Options
// Options: /node
func (cr *Controller) Options(cx *goweb.Context) {
request.Log(cx.Request)
cx.RespondWithOK()
return
}
示例3: Update
// PUT: /node/{id} -> multipart-form
func (cr *NodeController) Update(id string, cx *goweb.Context) {
// Log Request and check for Auth
LogRequest(cx.Request)
u, err := AuthenticateRequest(cx.Request)
if err != nil && err.Error() != e.NoAuth {
handleAuthError(err, cx)
return
}
// Gather query params
query := &Query{list: cx.Request.URL.Query()}
// Fake public user
if u == nil {
u = &user.User{Uuid: ""}
}
node, err := store.LoadNode(id, u.Uuid)
if err != nil {
if err.Error() == e.UnAuth {
cx.RespondWithError(http.StatusUnauthorized)
return
} else if err.Error() == e.MongoDocNotFound {
cx.RespondWithNotFound()
return
} else {
// In theory the db connection could be lost between
// checking user and load but seems unlikely.
log.Error("[email protected]_Update:LoadNode: " + err.Error())
cx.RespondWithError(http.StatusInternalServerError)
return
}
}
if query.Has("index") {
if !node.HasFile() {
cx.RespondWithErrorMessage("node file empty", http.StatusBadRequest)
return
}
if query.Value("index") == "bai" {
//bam index is created by the command-line tool samtools
if ext := node.FileExt(); ext == ".bam" {
if err := CreateBamIndex(node.FilePath()); err != nil {
cx.RespondWithErrorMessage("Error while creating bam index", http.StatusBadRequest)
return
}
return
} else {
cx.RespondWithErrorMessage("Index type bai requires .bam file", http.StatusBadRequest)
return
}
}
newIndexer := indexer.Indexer(query.Value("index"))
f, _ := os.Open(node.FilePath())
defer f.Close()
idxer := newIndexer(f)
err := idxer.Create()
if err != nil {
log.Error("err " + err.Error())
}
err = idxer.Dump(node.IndexPath() + "/record")
if err != nil {
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
} else {
cx.RespondWithOK()
return
}
} else {
params, files, err := ParseMultipartForm(cx.Request)
if err != nil {
log.Error("err " + err.Error())
cx.RespondWithError(http.StatusBadRequest)
return
}
err = node.Update(params, files)
if err != nil {
errors := []string{e.FileImut, e.AttrImut, "parts cannot be less than 1"}
for e := range errors {
if err.Error() == errors[e] {
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
}
log.Error("err " + err.Error())
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
cx.RespondWithData(node)
}
return
}
示例4: Options
// Options: /node
func (cr *NodeController) Options(cx *goweb.Context) {
LogRequest(cx.Request)
cx.RespondWithOK()
return
}
示例5: Update
//.........这里部分代码省略.........
if query.Has("index") {
if conf.PERF_LOG {
log.Perf("START indexing: " + id)
}
if !node.HasFile() {
cx.RespondWithErrorMessage("node file empty", http.StatusBadRequest)
return
}
if query.Value("index") == "bai" {
//bam index is created by the command-line tool samtools
if ext := node.FileExt(); ext == ".bam" {
if err := CreateBamIndex(node.FilePath()); err != nil {
cx.RespondWithErrorMessage("Error while creating bam index", http.StatusBadRequest)
return
}
return
} else {
cx.RespondWithErrorMessage("Index type bai requires .bam file", http.StatusBadRequest)
return
}
}
idxtype := query.Value("index")
if _, ok := indexer.Indexers[idxtype]; !ok {
cx.RespondWithErrorMessage("invalid index type", http.StatusBadRequest)
return
}
newIndexer := indexer.Indexer(idxtype)
f, _ := os.Open(node.FilePath())
defer f.Close()
idxer := newIndexer(f)
count, err := idxer.Create()
if err != nil {
log.Error("err " + err.Error())
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
if err := idxer.Dump(node.IndexPath() + "/" + query.Value("index") + ".idx"); err != nil {
log.Error("err " + err.Error())
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
idxInfo := store.IdxInfo{
Type: query.Value("index"),
TotalUnits: count,
AvgUnitSize: node.File.Size / count,
}
if idxtype == "chunkrecord" {
idxInfo.AvgUnitSize = conf.CHUNK_SIZE
}
if err := node.SetIndexInfo(query.Value("index"), idxInfo); err != nil {
log.Error("[email protected]: " + err.Error())
}
if conf.PERF_LOG {
log.Perf("END indexing: " + id)
}
cx.RespondWithOK()
return
} else {
if conf.PERF_LOG {
log.Perf("START PUT data: " + id)
}
params, files, err := ParseMultipartForm(cx.Request)
if err != nil {
log.Error("[email protected]_ParseMultipartForm: " + err.Error())
cx.RespondWithError(http.StatusBadRequest)
return
}
err = node.Update(params, files)
if err != nil {
errors := []string{e.FileImut, e.AttrImut, "parts cannot be less than 1"}
for e := range errors {
if err.Error() == errors[e] {
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
}
log.Error("[email protected]_Update: " + id + ":" + err.Error())
cx.RespondWithErrorMessage(err.Error(), http.StatusBadRequest)
return
}
cx.RespondWithData(node)
if conf.PERF_LOG {
log.Perf("END PUT data: " + id)
}
}
return
}
示例6: RespondOk
func RespondOk(cx *goweb.Context) {
LogRequest(cx.Request)
cx.RespondWithOK()
return
}