From 1e148c27f0dbe20761aaac0c0b2328e33ec23112 Mon Sep 17 00:00:00 2001 From: John Stone Date: Thu, 18 Dec 2025 14:10:18 -0500 Subject: [PATCH 1/3] Updates complex inputs example to reflect a Foundry app and how to integrate with Fusion --- examples/complex_inputs/README.md | 11 ++++ .../complex_inputs/complex_inputs_example.py | 33 ---------- .../complex_input_tester}/lorem-ipsum-1.txt | 0 .../complex_input_tester}/lorem-ipsum-2.txt | 0 .../complex_input_tester}/lorem-ipsum-3.txt | 0 .../functions/complex_input_tester/main.py | 35 +++++++++++ .../complex_input_tester/request_schema.json | 33 ++++++++++ .../complex_input_tester/requirements.txt | 1 + .../complex_input_tester/response_schema.json | 16 +++++ .../complex_input_tester}/test.sh | 2 +- examples/complex_inputs/fusion_screenshot.png | Bin 0 -> 92368 bytes examples/complex_inputs/manifest.yml | 57 ++++++++++++++++++ 12 files changed, 154 insertions(+), 34 deletions(-) create mode 100644 examples/complex_inputs/README.md delete mode 100644 examples/complex_inputs/complex_inputs_example.py rename examples/complex_inputs/{ => functions/complex_input_tester}/lorem-ipsum-1.txt (100%) rename examples/complex_inputs/{ => functions/complex_input_tester}/lorem-ipsum-2.txt (100%) rename examples/complex_inputs/{ => functions/complex_input_tester}/lorem-ipsum-3.txt (100%) create mode 100644 examples/complex_inputs/functions/complex_input_tester/main.py create mode 100644 examples/complex_inputs/functions/complex_input_tester/request_schema.json create mode 100644 examples/complex_inputs/functions/complex_input_tester/requirements.txt create mode 100644 examples/complex_inputs/functions/complex_input_tester/response_schema.json rename examples/complex_inputs/{ => functions/complex_input_tester}/test.sh (92%) create mode 100644 examples/complex_inputs/fusion_screenshot.png create mode 100644 examples/complex_inputs/manifest.yml diff --git a/examples/complex_inputs/README.md b/examples/complex_inputs/README.md new file mode 100644 index 0000000..9b9bb6b --- /dev/null +++ b/examples/complex_inputs/README.md @@ -0,0 +1,11 @@ +# Complex Inputs with Multiple Files + +In this example, we see how to author a Foundry Function authored in Python which can accept a JSON payload and a +collection of files as input. +The files are provided in two ways. The first is as an array and the second is as an individual field. +The files are read in full and then concatenated and returned. +JSON schemas are provided which show how to integrate successfully with Fusion. + +### Fusion Workflow + + diff --git a/examples/complex_inputs/complex_inputs_example.py b/examples/complex_inputs/complex_inputs_example.py deleted file mode 100644 index ec1e007..0000000 --- a/examples/complex_inputs/complex_inputs_example.py +++ /dev/null @@ -1,33 +0,0 @@ -"""Example Foundry Function with POST handler.""" -from crowdstrike.foundry.function import Function, Request, Response - -func = Function.instance() - - -@func.handler(method='POST', path='/my-endpoint') -def handle_complex_inputs(request: Request) -> Response: - """Implement example function handler to showcase how to handle complex inputs. - - This example demonstrates how to provide multiple inputs to a function, some of which happen to be files. - In this case, it simply echoes back the contents of those files concatenated together with spaces. - This could easily be changed to something more advanced to work with arbitrary binary. - - :param request: :class:`Request` to handle. - :return: :class:`Response` - """ - greeting = f'Welcome {request.body.get("name", "")}, age {request.body.get("age", "")}' - file_contents = [] - for v in request.files.values(): - file_contents.append(v.decode('utf-8').strip()) - - return Response( - body={ - 'allText': ' '.join(file_contents), - 'greeting': greeting, - }, - code=200, - ) - - -if __name__ == '__main__': - func.run() diff --git a/examples/complex_inputs/lorem-ipsum-1.txt b/examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-1.txt similarity index 100% rename from examples/complex_inputs/lorem-ipsum-1.txt rename to examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-1.txt diff --git a/examples/complex_inputs/lorem-ipsum-2.txt b/examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-2.txt similarity index 100% rename from examples/complex_inputs/lorem-ipsum-2.txt rename to examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-2.txt diff --git a/examples/complex_inputs/lorem-ipsum-3.txt b/examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-3.txt similarity index 100% rename from examples/complex_inputs/lorem-ipsum-3.txt rename to examples/complex_inputs/functions/complex_input_tester/lorem-ipsum-3.txt diff --git a/examples/complex_inputs/functions/complex_input_tester/main.py b/examples/complex_inputs/functions/complex_input_tester/main.py new file mode 100644 index 0000000..2e3c574 --- /dev/null +++ b/examples/complex_inputs/functions/complex_input_tester/main.py @@ -0,0 +1,35 @@ +from crowdstrike.foundry.function import Function, Request, Response, APIError +from logging import Logger + +func = Function.instance() + + +@func.handler(method='POST', path='/complex-test') +def complex_handler(request: Request, config: [dict[str, any], None], logger: Logger) -> Response: + """ + Implement example function handler to showcase how to handle complex inputs. + + This example demonstrates how to provide multiple inputs to a function, some of which happen to be files. + In this case, it simply echoes back the contents of those files concatenated together with spaces. + This could easily be changed to something more advanced to work with arbitrary binary. + + :param request: :class:`Request` to handle. + :return: :class:`Response` + """ + greeting = f'Welcome {request.body.get("name", "")}, age {request.body.get("age", "")}' + file_contents = [] + for v in request.files.values(): + file_contents.append(v.decode('utf-8').strip()) + + all_text = ' '.join(file_contents) + return Response( + body={ + 'allText': all_text[0:max(len(all_text), 10000)], # returns up to the first 10,000 characters + 'greeting': greeting, + }, + code=200, + ) + + +if __name__ == '__main__': + func.run() diff --git a/examples/complex_inputs/functions/complex_input_tester/request_schema.json b/examples/complex_inputs/functions/complex_input_tester/request_schema.json new file mode 100644 index 0000000..afcd59e --- /dev/null +++ b/examples/complex_inputs/functions/complex_input_tester/request_schema.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "files": { + "type": "array", + "title": "Files", + "description": "LogScale files to process. Expected to be JSON.", + "items": { + "type": "string", + "format": "downloadableFile" + } + }, + "file2": { + "title": "Other File", + "description": "Some other file field.", + "type": "string", + "format": "downloadableFile" + }, + "name": { + "type": "string", + "title": "Name", + "description": "First name of the user." + }, + "age": { + "type": "integer", + "title": "Age", + "description": "Age of the user." + } + }, + "required": [ + ] +} \ No newline at end of file diff --git a/examples/complex_inputs/functions/complex_input_tester/requirements.txt b/examples/complex_inputs/functions/complex_input_tester/requirements.txt new file mode 100644 index 0000000..f86856f --- /dev/null +++ b/examples/complex_inputs/functions/complex_input_tester/requirements.txt @@ -0,0 +1 @@ +crowdstrike-foundry-function==1.1.2 diff --git a/examples/complex_inputs/functions/complex_input_tester/response_schema.json b/examples/complex_inputs/functions/complex_input_tester/response_schema.json new file mode 100644 index 0000000..a582d0e --- /dev/null +++ b/examples/complex_inputs/functions/complex_input_tester/response_schema.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "allText": { + "type": "string", + "title": "File Contents" + }, + "greeting": { + "type": "string", + "title": "Greeting" + } + }, + "required": [ + ] +} \ No newline at end of file diff --git a/examples/complex_inputs/test.sh b/examples/complex_inputs/functions/complex_input_tester/test.sh similarity index 92% rename from examples/complex_inputs/test.sh rename to examples/complex_inputs/functions/complex_input_tester/test.sh index 6dddafd..ba7a3e6 100755 --- a/examples/complex_inputs/test.sh +++ b/examples/complex_inputs/functions/complex_input_tester/test.sh @@ -1,7 +1,7 @@ curl -X POST --location "http://localhost:8081" \ -H "Content-Type: multipart/form-data" \ -F meta='{ - "url": "/my-endpoint", + "url": "/complex-test", "method": "POST" }' \ -F body='{ diff --git a/examples/complex_inputs/fusion_screenshot.png b/examples/complex_inputs/fusion_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7a5c9045378ae16e2d0f103cfced74a7131ca0 GIT binary patch literal 92368 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

QrT!&u}Rxro$4gu3ZbfOZgi1d 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 XUsO0ccp189O8sKHb1TVaPs+amu6|B- literal 0 HcmV?d00001 diff --git a/examples/complex_inputs/manifest.yml b/examples/complex_inputs/manifest.yml new file mode 100644 index 0000000..bba52a3 --- /dev/null +++ b/examples/complex_inputs/manifest.yml @@ -0,0 +1,57 @@ +app_id: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +name: complex-fn-python-example +description: "" +logo: "" +vendor: "" +vendor_products: [] +use_case: Cloud security +manifest_version: "2023-05-09" +ignored: + - .+/node_modules$ + - .+/node_modules/.+ + - .+/venv$ + - .+/venv/.+ +ui: + homepage: "" + extensions: [] + pages: {} + dashboards: {} + navigation: {} +api_integrations: [] +rtr_scripts: [] +collections: [] +auth: + scopes: [] + permissions: {} + roles: [] +functions: + - id: cccccccccccccccccccccccccccccccc + name: complex_input_tester + config: null + description: Exercises reading in a variety of input types, including an array of files. + path: functions/complex_input_tester + environment_variables: {} + handlers: + - name: handle_complex_inputs + description: Exercises reading in a variety of input types, including an array of files. + method: POST + api_path: /complex-test + payload_type: complex + request_schema: request_schema.json + response_schema: response_schema.json + workflow_integration: + id: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + disruptive: false + system_action: false + tags: + - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - complex-fn-python-example + - Utility + permissions: [] + language: python +workflows: [] +parsers: [] +logscale: + saved_searches: [] +lookup_files: [] +docs: {} From e6c387d38965a3e7ae43aa31803ad527ec3f2ea1 Mon Sep 17 00:00:00 2001 From: John Stone Date: Thu, 18 Dec 2025 15:54:41 -0500 Subject: [PATCH 2/3] changes per pr --- .../functions/complex_input_tester/requirements.txt | 2 +- examples/complex_inputs/manifest.yml | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/examples/complex_inputs/functions/complex_input_tester/requirements.txt b/examples/complex_inputs/functions/complex_input_tester/requirements.txt index f86856f..78be074 100644 --- a/examples/complex_inputs/functions/complex_input_tester/requirements.txt +++ b/examples/complex_inputs/functions/complex_input_tester/requirements.txt @@ -1 +1 @@ -crowdstrike-foundry-function==1.1.2 +crowdstrike-foundry-function==1.1.3 diff --git a/examples/complex_inputs/manifest.yml b/examples/complex_inputs/manifest.yml index bba52a3..a46bca9 100644 --- a/examples/complex_inputs/manifest.yml +++ b/examples/complex_inputs/manifest.yml @@ -1,4 +1,3 @@ -app_id: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa name: complex-fn-python-example description: "" logo: "" @@ -25,8 +24,7 @@ auth: permissions: {} roles: [] functions: - - id: cccccccccccccccccccccccccccccccc - name: complex_input_tester + - name: complex_input_tester config: null description: Exercises reading in a variety of input types, including an array of files. path: functions/complex_input_tester @@ -40,7 +38,6 @@ functions: request_schema: request_schema.json response_schema: response_schema.json workflow_integration: - id: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb disruptive: false system_action: false tags: From a98b0866a073796c65f6291fdbd0e7b2f31dbd9f Mon Sep 17 00:00:00 2001 From: John Stone Date: Thu, 18 Dec 2025 15:55:44 -0500 Subject: [PATCH 3/3] changes per pr --- examples/complex_inputs/manifest.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/complex_inputs/manifest.yml b/examples/complex_inputs/manifest.yml index a46bca9..5083d8d 100644 --- a/examples/complex_inputs/manifest.yml +++ b/examples/complex_inputs/manifest.yml @@ -41,7 +41,6 @@ functions: disruptive: false system_action: false tags: - - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - complex-fn-python-example - Utility permissions: []