MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / initGateway

Method initGateway

module/service/iml.go:343–380  ·  view source on GitHub ↗
(ctx context.Context, clusterId string, clientDriver gateway.IClientDriver)

Source from the content-addressed store, hash-verified

341}
342
343func (i *imlServiceModule) initGateway(ctx context.Context, clusterId string, clientDriver gateway.IClientDriver) error {
344 services, err := i.serviceService.ServiceList(ctx)
345 if err != nil {
346 return err
347 }
348 subscribeReleases := make([]*gateway.SubscribeRelease, 0, len(services))
349 hashReleases := make([]*gateway.HashRelease, 0, len(services))
350 for _, s := range services {
351 subscribeReleases = append(subscribeReleases, &gateway.SubscribeRelease{
352 Service: s.Id,
353 Application: "apipark-global",
354 Expired: "0",
355 })
356
357 modelMap, err := i.serviceModelMappingService.Get(ctx, s.Id)
358 if err != nil {
359 return err
360 }
361 if modelMap.Content == "" {
362 continue
363 }
364 m := make(map[string]string)
365 err = json.Unmarshal([]byte(modelMap.Content), &m)
366 if err != nil {
367 return err
368 }
369 hashReleases = append(hashReleases, &gateway.HashRelease{
370 HashKey: fmt.Sprintf("%s:%s", gateway.KeyServiceMapping, s.Id),
371 HashMap: m,
372 })
373
374 }
375 err = clientDriver.Subscribe().Online(ctx, subscribeReleases...)
376 if err != nil {
377 return err
378 }
379 return clientDriver.Hash().Online(ctx, hashReleases...)
380}
381
382func (i *imlServiceModule) updateMCPServer(ctx context.Context, sid string, name string, version string) error {
383 r, err := i.releaseService.GetRunning(ctx, sid)

Callers

nothing calls this directly

Calls 5

ServiceListMethod · 0.65
GetMethod · 0.65
OnlineMethod · 0.65
SubscribeMethod · 0.65
HashMethod · 0.65

Tested by

no test coverage detected