clue-api 1.4.0.dev171__tar.gz → 1.4.0.dev174__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.
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/PKG-INFO +1 -1
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/static.py +6 -8
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/pyproject.toml +1 -1
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/LICENSE +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/README.md +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/.gitignore +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/base.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/actions.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/auth.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/configs.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/fetchers.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/lookup.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/api/v1/registration.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/app.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/cache/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/bytes_utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/classification.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/classification.yml +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/dict_utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/exceptions.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/forge.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/json_utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/list_utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/logging/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/logging/audit.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/logging/format.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/regex.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/str_utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/swagger.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/common/uid.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/config.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/constants/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/constants/env.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/constants/supported_types.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/cronjobs/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/cronjobs/plugins.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/error.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/extensions/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/extensions/config.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/gunicorn_config.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/healthz.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/helper/discover.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/helper/headers.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/helper/oauth.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/actions.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/config.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/fetchers.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/graph.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/model_list.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/network.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/base.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/file.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/graph.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/image.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/status.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/results/validation.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/selector.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/models/validators.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/patched.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/celery_app.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/helpers/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/helpers/central_server.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/helpers/email_render.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/helpers/token.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/helpers/trino.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/models.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/plugin/utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/py.typed +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/cache.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/events.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/hash.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/queues/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/queues/comms.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/set.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/remote/datatypes/user_quota_tracker.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/security/__init__.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/security/obo.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/security/utils.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/action_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/auth_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/config_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/fetcher_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/jwt_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/lookup_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/type_service.py +0 -0
- {clue_api-1.4.0.dev171 → clue_api-1.4.0.dev174}/clue/services/user_service.py +0 -0
|
@@ -80,19 +80,17 @@ def serve_documentation_file(filename: str, **kwargs) -> dict[str, str]:
|
|
|
80
80
|
{"markdown": "Markdown documentation of howler-docs.md"}
|
|
81
81
|
|
|
82
82
|
"""
|
|
83
|
-
docs_path = (DOCUMENTATION_FOLDER / filename).resolve()
|
|
83
|
+
# docs_path = (DOCUMENTATION_FOLDER / filename).resolve()
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
# # Assume it's markdown
|
|
87
|
-
# filename = filename + ".md"
|
|
85
|
+
documentation_folder = Path.cwd() / "docs" / filename
|
|
88
86
|
|
|
89
|
-
# if is_path_traversal(
|
|
87
|
+
# if is_path_traversal(documentation_folder, docs_path):
|
|
90
88
|
# return not_found(err="The file does not exist or is typed incorrectly.")
|
|
91
89
|
|
|
92
|
-
if
|
|
93
|
-
content =
|
|
90
|
+
if documentation_folder.exists():
|
|
91
|
+
content = documentation_folder.read_text(encoding="utf-8")
|
|
94
92
|
|
|
95
93
|
return ok({"markdown": content})
|
|
96
94
|
|
|
97
|
-
logger.info("File %s does not exist",
|
|
95
|
+
logger.info("File %s does not exist", documentation_folder)
|
|
98
96
|
return not_found(err="The file does not exist or is typed incorrectly.")
|
|
@@ -139,7 +139,7 @@ log_cli_level = "WARN"
|
|
|
139
139
|
[tool.poetry]
|
|
140
140
|
package-mode = true
|
|
141
141
|
name = "clue-api"
|
|
142
|
-
version = "1.4.0.
|
|
142
|
+
version = "1.4.0.dev174"
|
|
143
143
|
description = "Clue distributed enrichment service"
|
|
144
144
|
authors = ["Canadian Centre for Cyber Security <contact@cyber.gc.ca>"]
|
|
145
145
|
license = "MIT"
|
|
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
|
|
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
|