func()

in hugegraph-client-go/api/v1/gremlin/gemlin.go [135:187]


func (g GetRequest) Do(ctx context.Context, transport api.Transport) (*GetResponse, error) {

    url := "/gremlin"
    params := &url2.Values{}
    if len(g.gremlin) <= 0 {
        return nil, errors.New("please set gremlin")
    } else {
        params.Add("gremlin", g.gremlin)
    }
    if len(g.language) > 0 {
        params.Add("language", g.language)
    }

    if g.aliases != nil && len(g.aliases) >= 0 {
        aliasesJsonStr, err := json.Marshal(g.aliases)
        if err != nil {
            return nil, err
        }
        params.Add("aliases", string(aliasesJsonStr))
    }

    if g.bindings != nil && len(g.bindings) >= 0 {
        bindingsJsonStr, err := json.Marshal(g.bindings)
        if err != nil {
            return nil, err
        }
        params.Add("bindings", string(bindingsJsonStr))
    }

    req, err := api.NewRequest("GET", url, params, nil)
    if err != nil {
        return nil, err
    }
    if ctx != nil {
        req = req.WithContext(ctx)
    }

    res, err := transport.Perform(req)
    if err != nil {
        return nil, err
    }

    bytes, err := ioutil.ReadAll(res.Body)
    if err != nil {
        return nil, err
    }

    fmt.Println(string(bytes))

    gremlinGetResponse := &GetResponse{}
    gremlinGetResponse.StatusCode = res.StatusCode
    return gremlinGetResponse, nil
}