func()

in internal/gitlabnet/lfstransfer/client.go [336:382]


func (c *Client) ListLocksVerify(path, id, cursor string, limit int, ref string) (*ListLocksVerifyResponse, error) {
	url, err := url.Parse(c.href)
	if err != nil {
		return nil, err
	}
	url = url.JoinPath("locks/verify")
	query := url.Query()
	if path != "" {
		query.Add("path", path)
	}
	if id != "" {
		query.Add("id", id)
	}
	url.RawQuery = query.Encode()

	body := listLocksVerifyRequest{
		Cursor: cursor,
		Limit:  limit,
		Ref: &batchRef{
			Name: ref,
		},
	}
	jsonData, err := json.Marshal(&body)
	if err != nil {
		return nil, err
	}
	jsonReader := bytes.NewReader(jsonData)

	req, _ := newHTTPRequest(http.MethodPost, url.String(), jsonReader)
	req.Header.Set("Content-Type", c.header)
	req.Header.Set("Authorization", c.auth)

	client := newHTTPClient()
	res, err := client.Do(req)
	if err != nil {
		return nil, err
	}

	defer func() { _ = res.Body.Close() }()

	response := &ListLocksVerifyResponse{}
	if err := gitlabnet.ParseJSON(res, response); err != nil {
		return nil, err
	}

	return response, nil
}