本文整理汇总了Golang中github.com/google/cayley/query.HTTP.Parse方法的典型用法代码示例。如果您正苦于以下问题:Golang HTTP.Parse方法的具体用法?Golang HTTP.Parse怎么用?Golang HTTP.Parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/cayley/query.HTTP
的用法示例。
在下文中一共展示了HTTP.Parse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: runQuery
func runQuery(queryLang, code string) (interface{}, error) {
qs := &QuadStore{}
var ses query.HTTP
switch queryLang {
case "gremlin":
ses = gremlin.NewSession(qs, 100*time.Second, false)
case "mql":
ses = mql.NewSession(qs)
default:
}
result, err := ses.Parse(code)
switch result {
case query.Parsed:
output, err := Run(code, ses)
if err != nil {
return nil, err
}
return output, nil
case query.ParseFail:
ses = nil
return nil, err
default:
ses = nil
return nil, fmt.Errorf("Incomplete data?")
}
}
示例2: ServeV1Shape
func (api *API) ServeV1Shape(w http.ResponseWriter, r *http.Request, params httprouter.Params) int {
h, err := api.GetHandleForRequest(r)
var ses query.HTTP
switch params.ByName("query_lang") {
case "gremlin":
ses = gremlin.NewSession(h.QuadStore, api.config.Timeout, false)
case "mql":
ses = mql.NewSession(h.QuadStore)
default:
return jsonResponse(w, 400, "Need a query language.")
}
bodyBytes, err := ioutil.ReadAll(r.Body)
if err != nil {
return jsonResponse(w, 400, err)
}
code := string(bodyBytes)
result, err := ses.Parse(code)
switch result {
case query.Parsed:
var output []byte
var err error
output, err = GetQueryShape(code, ses)
if err != nil {
return jsonResponse(w, 400, err)
}
fmt.Fprint(w, string(output))
return 200
case query.ParseFail:
return jsonResponse(w, 400, err)
default:
return jsonResponse(w, 500, "Incomplete data?")
}
}