MCPcopy
hub / github.com/apache/caldera / _load_payloads

Method _load_payloads

app/service/data_svc.py:338–356  ·  view source on GitHub ↗
(self, plugin)

Source from the content-addressed store, hash-verified

336 await self.load_yaml_file(Objective, filename, plugin.access)
337
338 async def _load_payloads(self, plugin):
339 payload_config = dict(
340 standard_payloads=dict(),
341 special_payloads=dict(),
342 extensions=dict(),
343 )
344 for filename in glob.iglob('%s/payloads/*.yml' % plugin.data_dir, recursive=False):
345 data = self.strip_yml(filename)
346 special_payloads = data[0].get(PAYLOADS_CONFIG_SPECIAL_KEY, dict())
347 extensions = data[0].get(PAYLOADS_CONFIG_EXTENSIONS_KEY, dict())
348 standard_payloads = data[0].get(PAYLOADS_CONFIG_STANDARD_KEY, dict())
349 payload_config[PAYLOADS_CONFIG_STANDARD_KEY].update(standard_payloads)
350 if special_payloads:
351 await self._apply_special_payload_hooks(special_payloads)
352 payload_config[PAYLOADS_CONFIG_SPECIAL_KEY].update(special_payloads)
353 if extensions:
354 await self._apply_special_extension_hooks(extensions)
355 payload_config[PAYLOADS_CONFIG_EXTENSIONS_KEY].update(extensions)
356 self._update_payload_config(payload_config, plugin.name)
357
358 def _update_payload_config(self, updates, curr_plugin_name):
359 payload_config = self.get_config(name='payloads')

Callers 2

_loadMethod · 0.95
test_load_payloadsMethod · 0.80

Calls 5

strip_ymlMethod · 0.80
updateMethod · 0.80

Tested by 1

test_load_payloadsMethod · 0.64