MCPcopy Index your code
hub / github.com/apache/devlake / exec

Method exec

backend/helpers/pluginhelper/api/api_collector.go:241–266  ·  view source on GitHub ↗
(input interface{})

Source from the content-addressed store, hash-verified

239}
240
241func (collector *ApiCollector) exec(input interface{}) {
242 inputJson, err := json.Marshal(input)
243 if err != nil {
244 panic(err)
245 }
246 reqData := new(RequestData)
247 reqData.Input = input
248 reqData.InputJSON = inputJson
249 reqData.Pager = &Pager{
250 Page: 1,
251 Size: collector.args.PageSize,
252 }
253 // fetch the detail
254 if collector.args.PageSize <= 0 {
255 collector.fetchAsync(reqData, nil)
256 // fetch pages sequentially
257 } else if collector.args.GetNextPageCustomData != nil {
258 collector.fetchPagesSequentially(reqData)
259 // fetch pages in parallel with number of total pages can be determined from the first page
260 } else if collector.args.GetTotalPages != nil {
261 collector.fetchPagesDetermined(reqData)
262 // fetch pages in parallel without number of total pages
263 } else {
264 collector.fetchPagesUndetermined(reqData, false)
265 }
266}
267
268// fetchPagesSequentially fetches data of all pages in order to build RequestData by prev response
269func (collector *ApiCollector) fetchPagesSequentially(reqData *RequestData) {

Callers 2

ExecuteMethod · 0.95
_get_last_stateMethod · 0.45

Calls 4

fetchAsyncMethod · 0.95
fetchPagesDeterminedMethod · 0.95

Tested by

no test coverage detected