howler-api 2.10.0.dev160__tar.gz → 2.10.0.dev166__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/PKG-INFO +1 -1
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/hit_service.py +4 -8
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/dict_utils.py +9 -6
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/pyproject.toml +1 -1
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/README.md +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/add_label.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/change_field.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/demote.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/example_plugin.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/prioritization.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/promote.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/remove_label.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/actions/transition.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/base.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/socket.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/action.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/analytic.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/auth.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/borealis.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/configs.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/dossier.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/help.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/hit.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/notebook.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/overview.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/search.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/template.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/tool.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/user.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/api/v1/view.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/app.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/README.md +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/classification.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/classification.yml +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/exceptions.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/hexdump.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/iprange.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/loader.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/logging/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/logging/audit.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/logging/format.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/net.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/net_static.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/random_user.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/common/swagger.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/config.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/cronjobs/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/cronjobs/retention.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/cronjobs/rules.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/README.md +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/bulk.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/collection.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/constants.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/exceptions.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/howler_store.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/migrations/fix_process.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/operations.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/schemas.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/store.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/support/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/support/build.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/support/schemas.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/types.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/error.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/generate_mitre.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/generate_tlds.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/reindex_data.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/wipe_databases.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/gunicorn_config.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/healthz.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/azure.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/discover.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/hit.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/oauth.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/search.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/workflow.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/helper/ws.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/README.md +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/base.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/charter.txt +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/helper.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/howler_enum.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/action.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/analytic.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/aws.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/azure.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/cbs.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/config.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/dossier.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/gcp.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/hit.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/howler_data.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/lead.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/localized_label.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/overview.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/pivot.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/template.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/user.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/view.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/random_data.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/randomizer.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/patched.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/plugins/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/plugins/config.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/README.md +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/events.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/set.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/security/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/security/socket.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/security/utils.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/action_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/analytic_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/auth_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/config_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/dossier_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/event_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/jwt_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/lucene_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/notebook_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/services/user_service.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/__init__.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/annotations.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/chunk.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/isotime.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/list_utils.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/lucene.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/path.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/socket_utils.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/str_utils.py +0 -0
- {howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/utils/uid.py +0 -0
|
@@ -316,18 +316,14 @@ def convert_hit(data: dict[str, Any], unique: bool, ignore_extra_values: bool =
|
|
|
316
316
|
|
|
317
317
|
if re.search(r"^([A-Za-z ])+$", odm.howler.analytic) is None:
|
|
318
318
|
warnings.append(
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
"See howler's documentation for more information."
|
|
322
|
-
)
|
|
319
|
+
f"The value {odm.howler.analytic} does not match best practices for Howler analytic names. "
|
|
320
|
+
"See howler's documentation for more information."
|
|
323
321
|
)
|
|
324
322
|
|
|
325
323
|
if odm.howler.detection and re.search(r"^([A-Za-z ])+$", odm.howler.detection) is None:
|
|
326
324
|
warnings.append(
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
"See howler's documentation for more information."
|
|
330
|
-
)
|
|
325
|
+
f"The value {odm.howler.detection} does not match best practices for Howler detection names. "
|
|
326
|
+
"See howler's documentation for more information."
|
|
331
327
|
)
|
|
332
328
|
|
|
333
329
|
if odm.event:
|
|
@@ -136,25 +136,28 @@ def unflatten(data: _Mapping) -> _Mapping:
|
|
|
136
136
|
|
|
137
137
|
def extra_keys(odm: type["Model"], data: _Mapping) -> set[str]:
|
|
138
138
|
"Geta list of extra keys when compared to a list of permitted keys"
|
|
139
|
-
from howler.odm.base import Mapping
|
|
139
|
+
from howler.odm.base import Mapping, Optional
|
|
140
140
|
|
|
141
141
|
data = flatten_deep(data)
|
|
142
142
|
|
|
143
143
|
result: set[str] = set()
|
|
144
144
|
for key in data.keys():
|
|
145
145
|
parts = key.split(".")
|
|
146
|
-
|
|
147
146
|
current_odm = odm
|
|
148
147
|
for part in parts:
|
|
149
148
|
sub_fields: dict[str, Any] = current_odm.fields()
|
|
150
149
|
|
|
151
150
|
if part in sub_fields:
|
|
152
151
|
current_odm = sub_fields[part]
|
|
153
|
-
elif isinstance(current_odm, Mapping):
|
|
154
|
-
current_odm = current_odm.child_type
|
|
155
152
|
else:
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
if isinstance(current_odm, Optional):
|
|
154
|
+
current_odm = current_odm.child_type
|
|
155
|
+
|
|
156
|
+
if isinstance(current_odm, Mapping):
|
|
157
|
+
current_odm = current_odm.child_type
|
|
158
|
+
else:
|
|
159
|
+
result.add(key)
|
|
160
|
+
break
|
|
158
161
|
|
|
159
162
|
return result
|
|
160
163
|
|
|
@@ -148,7 +148,7 @@ suppress-none-returning = true
|
|
|
148
148
|
[tool.poetry]
|
|
149
149
|
package-mode = true
|
|
150
150
|
name = "howler-api"
|
|
151
|
-
version = "2.10.0.
|
|
151
|
+
version = "2.10.0.dev166"
|
|
152
152
|
description = "Howler - API server"
|
|
153
153
|
authors = [
|
|
154
154
|
"Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/datastore/migrations/fix_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/external/generate_sigma_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/autonomous_system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/code_signature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/odm/models/ecs/vulnerability.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/__init__.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/comms.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/multi.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/named.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev160 → howler_api-2.10.0.dev166}/howler/remote/datatypes/user_quota_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|