openc3-cosmos-tool-docs 6.8.1 → 6.9.0
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.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/Rakefile +1 -1
- data/tools/staticdocs/404.html +2 -2
- data/tools/staticdocs/assets/css/styles.946be27d.css +1 -0
- data/tools/staticdocs/assets/js/019369f3.64763f3d.js +1 -0
- data/tools/staticdocs/assets/js/058ffc22.4be515f5.js +1 -0
- data/tools/staticdocs/assets/js/0686a885.3d58085e.js +1 -0
- data/tools/staticdocs/assets/js/078dbab0.f2cbcc66.js +1 -0
- data/tools/staticdocs/assets/js/{0f5d161c.0727eb1b.js → 0f5d161c.978b9fee.js} +1 -1
- data/tools/staticdocs/assets/js/0ff569c9.27128023.js +1 -0
- data/tools/staticdocs/assets/js/10209fc9.669ef887.js +1 -0
- data/tools/staticdocs/assets/js/103cc3be.1a538098.js +1 -0
- data/tools/staticdocs/assets/js/{13196248.9e1ebaa5.js → 13196248.f932d5bd.js} +1 -1
- data/tools/staticdocs/assets/js/{13c1b4e4.6446ccbc.js → 13c1b4e4.9735bb59.js} +1 -1
- data/tools/staticdocs/assets/js/1c0a0c05.427f2699.js +1 -0
- data/tools/staticdocs/assets/js/{1e02e6a3.a89f2446.js → 1e02e6a3.da7b7250.js} +1 -1
- data/tools/staticdocs/assets/js/{2047b354.0955283c.js → 2047b354.c86efa5f.js} +1 -1
- data/tools/staticdocs/assets/js/22b3ac48.1932e5a5.js +1 -0
- data/tools/staticdocs/assets/js/26b8abb2.858cb22d.js +1 -0
- data/tools/staticdocs/assets/js/2bb7bf90.78594fbb.js +1 -0
- data/tools/staticdocs/assets/js/2c15ad40.1b2d4730.js +1 -0
- data/tools/staticdocs/assets/js/3326.2db66e1b.js +4 -0
- data/tools/staticdocs/assets/js/3402.80344ef5.js +1 -0
- data/tools/staticdocs/assets/js/35398c5c.8a74eece.js +1 -0
- data/tools/staticdocs/assets/js/{3dd7ef3b.f43cd057.js → 3dd7ef3b.ceb26a04.js} +1 -1
- data/tools/staticdocs/assets/js/40365d27.f6769d57.js +1 -0
- data/tools/staticdocs/assets/js/4071.821f3b2b.js +1 -0
- data/tools/staticdocs/assets/js/{411898ad.28293824.js → 411898ad.8ed3452c.js} +1 -1
- data/tools/staticdocs/assets/js/42170351.7ff72adc.js +1 -0
- data/tools/staticdocs/assets/js/43652efd.ec6bb7e9.js +1 -0
- data/tools/staticdocs/assets/js/5072.9a0a2752.js +1 -0
- data/tools/staticdocs/assets/js/{53ca7c5b.9468b8ed.js → 53ca7c5b.3ae5bb0f.js} +1 -1
- data/tools/staticdocs/assets/js/54d0d530.2f7aa091.js +1 -0
- data/tools/staticdocs/assets/js/5525.dd1645b0.js +101 -0
- data/tools/staticdocs/assets/js/59ed27a4.695b2435.js +1 -0
- data/tools/staticdocs/assets/js/5b233ba7.b0d1a8b1.js +1 -0
- data/tools/staticdocs/assets/js/5bc719f6.c731b998.js +1 -0
- data/tools/staticdocs/assets/js/5c6ce5ec.211ced47.js +1 -0
- data/tools/staticdocs/assets/js/5e3ed378.821e5ed4.js +1 -0
- data/tools/staticdocs/assets/js/5fe211ef.9d68057c.js +1 -0
- data/tools/staticdocs/assets/js/6246.60dfff30.js +1 -0
- data/tools/staticdocs/assets/js/6831b732.dc5bae56.js +1 -0
- data/tools/staticdocs/assets/js/696b4199.d197d085.js +1 -0
- data/tools/staticdocs/assets/js/6b210247.d400f853.js +1 -0
- data/tools/staticdocs/assets/js/6b65133b.3550bdf0.js +1 -0
- data/tools/staticdocs/assets/js/6f92e431.0bc45585.js +1 -0
- data/tools/staticdocs/assets/js/72c6d8a8.7e6fb4fd.js +1 -0
- data/tools/staticdocs/assets/js/75e64983.338d2338.js +1 -0
- data/tools/staticdocs/assets/js/867640d5.555ba5ca.js +1 -0
- data/tools/staticdocs/assets/js/89e76475.a301b5e3.js +1 -0
- data/tools/staticdocs/assets/js/8b939c74.0ebaed2a.js +1 -0
- data/tools/staticdocs/assets/js/8f7843ee.e33ef7db.js +1 -0
- data/tools/staticdocs/assets/js/9424f0b3.4b6f004e.js +1 -0
- data/tools/staticdocs/assets/js/{8434.a3e5442b.js → 9623.44668503.js} +1 -1
- data/tools/staticdocs/assets/js/{964eb012.4253acd5.js → 964eb012.c7f626c5.js} +1 -1
- data/tools/staticdocs/assets/js/97535711.a6342866.js +1 -0
- data/tools/staticdocs/assets/js/99581c43.2bd0766d.js +1 -0
- data/tools/staticdocs/assets/js/{9d6e81d0.b9f15524.js → 9d6e81d0.879c9e9e.js} +1 -1
- data/tools/staticdocs/assets/js/9fb6059a.ce4de002.js +1 -0
- data/tools/staticdocs/assets/js/a677c089.758701f0.js +1 -0
- data/tools/staticdocs/assets/js/a9987364.e29e8a93.js +1 -0
- data/tools/staticdocs/assets/js/a9b2dc27.b7e66efd.js +1 -0
- data/tools/staticdocs/assets/js/aa6b6c1b.6bcbf484.js +1 -0
- data/tools/staticdocs/assets/js/b062d239.2cebb42b.js +1 -0
- data/tools/staticdocs/assets/js/b38a6d74.bb58fcec.js +1 -0
- data/tools/staticdocs/assets/js/b4596165.9e7f0be7.js +1 -0
- data/tools/staticdocs/assets/js/b6d70f94.5e40680e.js +1 -0
- data/tools/staticdocs/assets/js/{b9f60ba6.2c4823f0.js → b9f60ba6.63638354.js} +1 -1
- data/tools/staticdocs/assets/js/bd0034eb.9f460215.js +1 -0
- data/tools/staticdocs/assets/js/c24eae19.2ef0c706.js +1 -0
- data/tools/staticdocs/assets/js/cb8c3f08.28d962a4.js +1 -0
- data/tools/staticdocs/assets/js/cd879be4.782edb7f.js +1 -0
- data/tools/staticdocs/assets/js/cf1c01b8.7d5b6d66.js +1 -0
- data/tools/staticdocs/assets/js/d1b923aa.c012712f.js +1 -0
- data/tools/staticdocs/assets/js/d1bfc316.13a64896.js +1 -0
- data/tools/staticdocs/assets/js/d24bf9b6.bb93853a.js +1 -0
- data/tools/staticdocs/assets/js/d57a4b5d.e9712631.js +1 -0
- data/tools/staticdocs/assets/js/d59d8a14.79f4b29e.js +1 -0
- data/tools/staticdocs/assets/js/d5d77c37.6b4ab31e.js +1 -0
- data/tools/staticdocs/assets/js/d66bf9c0.ca34a583.js +1 -0
- data/tools/staticdocs/assets/js/d8ca4191.599a241b.js +1 -0
- data/tools/staticdocs/assets/js/d9b92eba.44fde84d.js +1 -0
- data/tools/staticdocs/assets/js/db8fa1d0.39b9fdb6.js +1 -0
- data/tools/staticdocs/assets/js/dbe31111.4e811739.js +1 -0
- data/tools/staticdocs/assets/js/{dc5f7beb.15b70d4b.js → dc5f7beb.c703e464.js} +1 -1
- data/tools/staticdocs/assets/js/e501b0d1.c00adfa4.js +1 -0
- data/tools/staticdocs/assets/js/f15615f1.8591b830.js +1 -0
- data/tools/staticdocs/assets/js/f75a5f33.f16b6dd5.js +1 -0
- data/tools/staticdocs/assets/js/{fd886806.f7bfd80c.js → fd886806.fb8a587e.js} +1 -1
- data/tools/staticdocs/assets/js/main.331b7e10.js +38 -0
- data/tools/staticdocs/assets/js/runtime~main.53a0c91e.js +1 -0
- data/tools/staticdocs/docs/configuration/accessors.html +46 -46
- data/tools/staticdocs/docs/configuration/command.html +97 -97
- data/tools/staticdocs/docs/configuration/conversions.html +53 -53
- data/tools/staticdocs/docs/configuration/format.html +22 -22
- data/tools/staticdocs/docs/configuration/interfaces.html +55 -55
- data/tools/staticdocs/docs/configuration/limits-response.html +10 -10
- data/tools/staticdocs/docs/configuration/plugins.html +127 -127
- data/tools/staticdocs/docs/configuration/processors.html +17 -17
- data/tools/staticdocs/docs/configuration/protocols.html +66 -66
- data/tools/staticdocs/docs/configuration/ssl-tls.html +15 -15
- data/tools/staticdocs/docs/configuration/table.html +53 -53
- data/tools/staticdocs/docs/configuration/target.html +21 -21
- data/tools/staticdocs/docs/configuration/telemetry-screens.html +289 -289
- data/tools/staticdocs/docs/configuration/telemetry.html +86 -86
- data/tools/staticdocs/docs/configuration.html +2 -2
- data/tools/staticdocs/docs/development/curl.html +14 -14
- data/tools/staticdocs/docs/development/developing.html +27 -27
- data/tools/staticdocs/docs/development/json-api.html +15 -15
- data/tools/staticdocs/docs/development/log-structure.html +13 -13
- data/tools/staticdocs/docs/development/roadmap.html +4 -4
- data/tools/staticdocs/docs/development/streaming-api.html +24 -24
- data/tools/staticdocs/docs/development/testing.html +20 -20
- data/tools/staticdocs/docs/development.html +2 -2
- data/tools/staticdocs/docs/getting-started/cli.html +39 -39
- data/tools/staticdocs/docs/getting-started/generators.html +25 -25
- data/tools/staticdocs/docs/getting-started/gettingstarted.html +19 -19
- data/tools/staticdocs/docs/getting-started/installation.html +23 -21
- data/tools/staticdocs/docs/getting-started/key-concepts.html +20 -20
- data/tools/staticdocs/docs/getting-started/podman.html +23 -23
- data/tools/staticdocs/docs/getting-started/requirements.html +19 -19
- data/tools/staticdocs/docs/getting-started/upgrading.html +47 -47
- data/tools/staticdocs/docs/getting-started.html +2 -2
- data/tools/staticdocs/docs/guides/bridges.html +19 -12
- data/tools/staticdocs/docs/guides/cfs.html +32 -32
- data/tools/staticdocs/docs/guides/custom-widgets.html +36 -36
- data/tools/staticdocs/docs/guides/dynamic-packets.html +8 -8
- data/tools/staticdocs/docs/guides/exposing-microservices.html +11 -11
- data/tools/staticdocs/docs/guides/little-endian-bitfields.html +4 -4
- data/tools/staticdocs/docs/guides/local-mode.html +13 -13
- data/tools/staticdocs/docs/guides/logging.html +9 -9
- data/tools/staticdocs/docs/guides/monitoring.html +18 -18
- data/tools/staticdocs/docs/guides/performance.html +10 -10
- data/tools/staticdocs/docs/guides/raspberrypi.html +4 -4
- data/tools/staticdocs/docs/guides/reference-architectures.html +6 -6
- data/tools/staticdocs/docs/guides/script-writing.html +80 -80
- data/tools/staticdocs/docs/guides/scripting-api.html +707 -635
- data/tools/staticdocs/docs/guides/troubleshooting.html +8 -7
- data/tools/staticdocs/docs/guides.html +2 -2
- data/tools/staticdocs/docs/meta/contributing.html +12 -12
- data/tools/staticdocs/docs/meta/licenses.html +9 -9
- data/tools/staticdocs/docs/meta/philosophy.html +3 -3
- data/tools/staticdocs/docs/meta/xtce.html +12 -12
- data/tools/staticdocs/docs/meta.html +2 -2
- data/tools/staticdocs/docs/privacy.html +17 -17
- data/tools/staticdocs/docs/tools/admin.html +24 -24
- data/tools/staticdocs/docs/tools/autonomic.html +19 -19
- data/tools/staticdocs/docs/tools/bucket-explorer.html +9 -9
- data/tools/staticdocs/docs/tools/calendar.html +18 -18
- data/tools/staticdocs/docs/tools/cmd-sender.html +14 -14
- data/tools/staticdocs/docs/tools/cmd-tlm-server.html +20 -20
- data/tools/staticdocs/docs/tools/command-history.html +6 -6
- data/tools/staticdocs/docs/tools/command-queue.html +8 -8
- data/tools/staticdocs/docs/tools/data-extractor.html +25 -25
- data/tools/staticdocs/docs/tools/data-viewer.html +11 -11
- data/tools/staticdocs/docs/tools/handbooks.html +4 -4
- data/tools/staticdocs/docs/tools/limits-monitor.html +16 -16
- data/tools/staticdocs/docs/tools/log-explorer.html +9 -9
- data/tools/staticdocs/docs/tools/packet-viewer.html +12 -12
- data/tools/staticdocs/docs/tools/script-runner.html +43 -43
- data/tools/staticdocs/docs/tools/systemhealth.html +21 -21
- data/tools/staticdocs/docs/tools/table-manager.html +11 -11
- data/tools/staticdocs/docs/tools/tlm-grapher.html +22 -22
- data/tools/staticdocs/docs/tools/tlm-viewer.html +16 -16
- data/tools/staticdocs/docs/tools.html +2 -2
- data/tools/staticdocs/docs.html +11 -11
- data/tools/staticdocs/index.html +2 -2
- data/tools/staticdocs/lunr-index-1759527994448.json +1 -0
- data/tools/staticdocs/lunr-index.json +1 -1
- data/tools/staticdocs/markdown-page.html +3 -3
- data/tools/staticdocs/search-doc-1759527994448.json +1 -0
- data/tools/staticdocs/search-doc.json +1 -1
- metadata +92 -92
- data/tools/staticdocs/assets/css/styles.0edf3032.css +0 -1
- data/tools/staticdocs/assets/js/019369f3.5366d64b.js +0 -1
- data/tools/staticdocs/assets/js/058ffc22.31b5fa22.js +0 -1
- data/tools/staticdocs/assets/js/0686a885.eb311155.js +0 -1
- data/tools/staticdocs/assets/js/078dbab0.974abc47.js +0 -1
- data/tools/staticdocs/assets/js/0ff569c9.c8815d72.js +0 -1
- data/tools/staticdocs/assets/js/10209fc9.ae369363.js +0 -1
- data/tools/staticdocs/assets/js/103cc3be.32c30401.js +0 -1
- data/tools/staticdocs/assets/js/1085.d1eba438.js +0 -1
- data/tools/staticdocs/assets/js/1319.d9ec0592.js +0 -101
- data/tools/staticdocs/assets/js/1c0a0c05.a24e9a5c.js +0 -1
- data/tools/staticdocs/assets/js/22b3ac48.81906212.js +0 -1
- data/tools/staticdocs/assets/js/26b8abb2.9d3cbdeb.js +0 -1
- data/tools/staticdocs/assets/js/2bb7bf90.a04c2a3c.js +0 -1
- data/tools/staticdocs/assets/js/2c15ad40.38a25aed.js +0 -1
- data/tools/staticdocs/assets/js/35398c5c.d3ee7838.js +0 -1
- data/tools/staticdocs/assets/js/40365d27.db29df30.js +0 -1
- data/tools/staticdocs/assets/js/42170351.c5a07a3b.js +0 -1
- data/tools/staticdocs/assets/js/43652efd.35825078.js +0 -1
- data/tools/staticdocs/assets/js/5074.653f3924.js +0 -1
- data/tools/staticdocs/assets/js/5410.60ab1dba.js +0 -1
- data/tools/staticdocs/assets/js/54d0d530.dfcfecc5.js +0 -1
- data/tools/staticdocs/assets/js/59ed27a4.8eb3444b.js +0 -1
- data/tools/staticdocs/assets/js/5b233ba7.814a9779.js +0 -1
- data/tools/staticdocs/assets/js/5bc719f6.ea5fa091.js +0 -1
- data/tools/staticdocs/assets/js/5c6ce5ec.dde1bfbc.js +0 -1
- data/tools/staticdocs/assets/js/5e3ed378.6deb22ed.js +0 -1
- data/tools/staticdocs/assets/js/5fe211ef.622c8b76.js +0 -1
- data/tools/staticdocs/assets/js/6242.bdac32c1.js +0 -4
- data/tools/staticdocs/assets/js/6831b732.7cf97282.js +0 -1
- data/tools/staticdocs/assets/js/696b4199.b96d263c.js +0 -1
- data/tools/staticdocs/assets/js/6b210247.75ed74f4.js +0 -1
- data/tools/staticdocs/assets/js/6b65133b.8ceb772d.js +0 -1
- data/tools/staticdocs/assets/js/6f92e431.11fea7a0.js +0 -1
- data/tools/staticdocs/assets/js/72c6d8a8.241ba59b.js +0 -1
- data/tools/staticdocs/assets/js/75e64983.c8cb1f1a.js +0 -1
- data/tools/staticdocs/assets/js/867640d5.a02df5f7.js +0 -1
- data/tools/staticdocs/assets/js/8851.4837d29a.js +0 -1
- data/tools/staticdocs/assets/js/89e76475.cdd88da3.js +0 -1
- data/tools/staticdocs/assets/js/8b939c74.c9ac09c3.js +0 -1
- data/tools/staticdocs/assets/js/8f7843ee.676b5d36.js +0 -1
- data/tools/staticdocs/assets/js/9424f0b3.a3b9746a.js +0 -1
- data/tools/staticdocs/assets/js/97535711.2a29c3e7.js +0 -1
- data/tools/staticdocs/assets/js/99581c43.791cdc39.js +0 -1
- data/tools/staticdocs/assets/js/9fb6059a.5f39bd90.js +0 -1
- data/tools/staticdocs/assets/js/a677c089.2695e35a.js +0 -1
- data/tools/staticdocs/assets/js/a9987364.71b17b00.js +0 -1
- data/tools/staticdocs/assets/js/a9b2dc27.c8eb51b6.js +0 -1
- data/tools/staticdocs/assets/js/aa6b6c1b.2d0fadd1.js +0 -1
- data/tools/staticdocs/assets/js/b062d239.e240f32e.js +0 -1
- data/tools/staticdocs/assets/js/b38a6d74.7363be85.js +0 -1
- data/tools/staticdocs/assets/js/b4596165.2a473696.js +0 -1
- data/tools/staticdocs/assets/js/b6d70f94.dda7b69f.js +0 -1
- data/tools/staticdocs/assets/js/bd0034eb.7282117c.js +0 -1
- data/tools/staticdocs/assets/js/c24eae19.60c8e0c8.js +0 -1
- data/tools/staticdocs/assets/js/cb8c3f08.2466362b.js +0 -1
- data/tools/staticdocs/assets/js/cd879be4.6a299bce.js +0 -1
- data/tools/staticdocs/assets/js/cf1c01b8.1913e9f8.js +0 -1
- data/tools/staticdocs/assets/js/d1b923aa.482b8f7b.js +0 -1
- data/tools/staticdocs/assets/js/d1bfc316.ada87033.js +0 -1
- data/tools/staticdocs/assets/js/d24bf9b6.2b9e8d63.js +0 -1
- data/tools/staticdocs/assets/js/d57a4b5d.bf08c8f5.js +0 -1
- data/tools/staticdocs/assets/js/d59d8a14.479869f6.js +0 -1
- data/tools/staticdocs/assets/js/d5d77c37.199e159b.js +0 -1
- data/tools/staticdocs/assets/js/d66bf9c0.210077a2.js +0 -1
- data/tools/staticdocs/assets/js/d8ca4191.57f74139.js +0 -1
- data/tools/staticdocs/assets/js/d9b92eba.015f5324.js +0 -1
- data/tools/staticdocs/assets/js/db8fa1d0.1c778ff1.js +0 -1
- data/tools/staticdocs/assets/js/dbe31111.37d6f071.js +0 -1
- data/tools/staticdocs/assets/js/e501b0d1.c42aad75.js +0 -1
- data/tools/staticdocs/assets/js/f15615f1.a8a415cb.js +0 -1
- data/tools/staticdocs/assets/js/f75a5f33.4d2501bc.js +0 -1
- data/tools/staticdocs/assets/js/main.994f9f74.js +0 -38
- data/tools/staticdocs/assets/js/runtime~main.44311138.js +0 -1
- data/tools/staticdocs/lunr-index-1757781681330.json +0 -1
- data/tools/staticdocs/search-doc-1757781681330.json +0 -1
@@ -1,29 +1,29 @@
|
|
1
|
-
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.
|
1
|
+
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-development/curl" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.9.1"><title data-rh=true>Testing with Curl | OpenC3 Docs</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true property=og:url content=https://docs.openc3.com/tools/staticdocs/docs/development/curl /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=docusaurus_version content=current /><meta data-rh=true name=docusaurus_tag content=docs-default-current /><meta data-rh=true name=docsearch:version content=current /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current /><meta data-rh=true property=og:title content="Testing with Curl | OpenC3 Docs"/><meta data-rh=true name=description content="How to use Curl to hit the COSMOS APIs"/><meta data-rh=true property=og:description content="How to use Curl to hit the COSMOS APIs"/><link data-rh=true rel=icon href=/tools/staticdocs/img/favicon.png /><link data-rh=true rel=canonical href=https://docs.openc3.com/tools/staticdocs/docs/development/curl /><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=en /><link data-rh=true rel=alternate href=https://docs.openc3.com/tools/staticdocs/docs/development/curl hreflang=x-default /><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/development","name":"Development","position":1},{"@type":"ListItem","item":"https://docs.openc3.com/tools/staticdocs/docs/development/curl","name":"Testing with Curl","position":2}]}</script><link rel=stylesheet href=/tools/staticdocs/assets/css/styles.946be27d.css /><script src=/tools/staticdocs/assets/js/runtime~main.53a0c91e.js defer></script><script src=/tools/staticdocs/assets/js/main.331b7e10.js defer></script></head><body class=navigation-with-keyboard><svg style="display: none;"><defs>
|
2
2
|
<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
|
3
3
|
</defs></svg>
|
4
|
-
<script>!function(){var t
|
4
|
+
<script>!function(){var t;document.documentElement.setAttribute("data-theme",t||"dark"),document.documentElement.setAttribute("data-theme-choice",t||"dark")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/tools/staticdocs/img/logo.svg /><div role=region aria-label="Skip to main content"><a class=skipToContent_TKVD href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/tools/staticdocs/><div class=navbar__logo><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_hQOn themedComponent--light_cpFH"/><img src=/tools/staticdocs/img/logo.svg alt="OpenC3 Logo" class="themedComponent_hQOn themedComponent--dark_whA_"/></div><b class="navbar__title text--truncate">OpenC3 Docs</b></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tools/staticdocs/docs>Documentation</a><a href=https://openc3.com/enterprise/ target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">Enterprise</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class=navbarSearchContainer_YWZZ><div class=navbar__search><span aria-label="expand searchbar" role=button class=search-icon tabindex=0></span><input id=search_input_react type=search placeholder=Loading... aria-label=Search class="navbar__search-input search-bar" disabled/></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_E2as"><div class=docsWrapper_helv><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_C8jb" type=button></button><div class=docRoot_qfDj><aside class="theme-doc-sidebar-container docSidebarContainer_akt7"><div class=sidebarViewport__oqk><div class=sidebar_mbPS><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_cdbq"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs><span title=Introduction class=linkLabel_THKR>Introduction</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist" href=/tools/staticdocs/docs/getting-started><span title="Getting Started" class=categoryLinkLabel_gwYM>Getting Started</span></a><button aria-label="Expand sidebar category 'Getting Started'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist" href=/tools/staticdocs/docs/configuration><span title=Configuration class=categoryLinkLabel_gwYM>Configuration</span></a><button aria-label="Expand sidebar category 'Configuration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist" href=/tools/staticdocs/docs/tools><span title=Tools class=categoryLinkLabel_gwYM>Tools</span></a><button aria-label="Expand sidebar category 'Tools'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist" href=/tools/staticdocs/docs/guides><span title=Guides class=categoryLinkLabel_gwYM>Guides</span></a><button aria-label="Expand sidebar category 'Guides'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist menu__link--active" href=/tools/staticdocs/docs/development><span title=Development class=categoryLinkLabel_gwYM>Development</span></a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/tools/staticdocs/docs/development/curl><span title="Testing with Curl" class=linkLabel_THKR>Testing with Curl</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/developing><span title="Developing COSMOS" class=linkLabel_THKR>Developing COSMOS</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/json-api><span title="JSON API" class=linkLabel_THKR>JSON API</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/log-structure><span title="Log Structure" class=linkLabel_THKR>Log Structure</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/roadmap><span title=Roadmap class=linkLabel_THKR>Roadmap</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/streaming-api><span title="Streaming API" class=linkLabel_THKR>Streaming API</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/tools/staticdocs/docs/development/testing><span title="Testing COSMOS" class=linkLabel_THKR>Testing COSMOS</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_m86C menu__link menu__link--sublist" href=/tools/staticdocs/docs/meta><span title=Meta class=categoryLinkLabel_gwYM>Meta</span></a><button aria-label="Expand sidebar category 'Meta'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/tools/staticdocs/docs/privacy><span title="OpenC3, Inc. Privacy Policy" class=linkLabel_THKR>OpenC3, Inc. Privacy Policy</span></a></ul></nav></div></div></aside><main class=docMainContainer_Aig4><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_rdr9"><div class=docItemContainer_jIg7><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_rdSc" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/tools/staticdocs/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_u_XA><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><a class=breadcrumbs__link href=/tools/staticdocs/docs/development><span>Development</span></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Testing with Curl</span></ul></nav><div class="tocCollapsible_xgee theme-doc-toc-mobile tocMobile_JnGb"><button type=button class="clean-btn tocCollapsibleButton_c5np">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Testing with Curl</h1></header><div class="theme-admonition theme-admonition-note admonition_AUqJ alert alert--secondary"><div class=admonitionHeading_V_Ab><span class=admonitionIcon_ZQS8><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg></span>This documentation is for COSMOS Developers</div><div class=admonitionContent_ISwi><p>This information is just generally used behind the scenes in COSMOS tools</div></div>
|
5
5
|
<p>The COSMOS APIs are all served over HTTP, which means you can use curl to experiment with them. Curl is a great tool for seeing exactly how the API responds to any given request.</p>
|
6
|
-
<h2 class="anchor
|
6
|
+
<h2 class="anchor anchorWithStickyNavbar_TUrh" id=curl-example-with-openc3-cosmos-core>Curl Example with OpenC3 COSMOS Core<a href=#curl-example-with-openc3-cosmos-core class=hash-link aria-label="Direct link to Curl Example with OpenC3 COSMOS Core" title="Direct link to Curl Example with OpenC3 COSMOS Core" translate=no></a></h2>
|
7
7
|
<p>OpenC3 COSMOS Core just has a single user account, so all you need to do is pass the single password as the token with your requests like this.</p>
|
8
8
|
<p>Request:</p>
|
9
|
-
<div class="language-bash
|
9
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-i</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Content-Type: application/json-rpc"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Authorization: password"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}'</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> POST http://127.0.0.1:2900/openc3-api/api</span><br/></span></code></pre></div></div>
|
10
10
|
<p>Response:</p>
|
11
|
-
<div class="language-bash
|
12
|
-
<h2 class="anchor
|
11
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Cache-Control: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain">, private, must-revalidate</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Length: </span><span class="token number" style="color:rgb(247, 140, 108)">51</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Type: application/json-rpc</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Etag: W/</span><span class="token string" style="color:rgb(173, 219, 103)">"e806aacfdbed0b325e7a5928e3bb5cf4"</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Vary: Origin</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Request-Id: bbad6c6b-6d22-4374-a86f-b5b0b95e6939</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Runtime: </span><span class="token number" style="color:rgb(247, 140, 108)">0.059044</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Date: Sat, 04 Nov </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> </span><span class="token number" style="color:rgb(247, 140, 108)">21</span><span class="token plain">:34:47 GMT</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"2.0"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token plain">:8,</span><span class="token string" style="color:rgb(173, 219, 103)">"result"</span><span class="token plain">:53.26555000000001</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br/></span></code></pre></div></div>
|
12
|
+
<h2 class="anchor anchorWithStickyNavbar_TUrh" id=curl-example-with-openc3-cosmos-enterprise>Curl Example with OpenC3 COSMOS Enterprise<a href=#curl-example-with-openc3-cosmos-enterprise class=hash-link aria-label="Direct link to Curl Example with OpenC3 COSMOS Enterprise" title="Direct link to Curl Example with OpenC3 COSMOS Enterprise" translate=no></a></h2>
|
13
13
|
<p>OpenC3 COSMOS Enterprise uses the Keycloak Single Sign-on system, so you must first request a token from Keycloak using a username and password pair, before you make requests. By default this token will expire in 5 minutes, and will need to be refreshed if it expires before your next request.</p>
|
14
14
|
<p>Keycloak Request:</p>
|
15
|
-
<div class="language-bash
|
15
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Get tokens from Keycloak - You will need to update the username and password with your account</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-i</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Content-Type: application/x-www-form-urlencoded"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'username=operator&password=operator&client_id=api&grant_type=password&scope=openid'</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> POST http://127.0.0.1:2900/auth/realms/openc3/protocol/openid-connect/token</span><br/></span></code></pre></div></div>
|
16
16
|
<p>Keycloak Response:</p>
|
17
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Cache-Control: no-store</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Length: </span><span class="token number" style="color:rgb(247, 140, 108)">3207</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Type: application/json</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Pragma: no-cache</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Referrer-Policy: no-referrer</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KEYCLOAK_LOCALE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Comment</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Expiring cookie</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KC_RESTART</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Strict-Transport-Security: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">31536000</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> includeSubDomains</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Content-Type-Options: nosniff</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Frame-Options: SAMEORIGIN</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Xss-Protection: </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">mode</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">block</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">10</span><span class="token plain"> May </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> 00:40:40 GMT</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"access_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"expires_in"</span><span class="token plain">:300,</span><span class="token string" style="color:rgb(173, 219, 103)">"refresh_expires_in"</span><span class="token plain">:1800,</span><span class="token string" style="color:rgb(173, 219, 103)">"refresh_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"token_type"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"Bearer"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"id_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"not-before-policy"</span><span class="token plain">:0,</span><span class="token string" style="color:rgb(173, 219, 103)">"session_state"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"f3785967-2a46-4c12-ad0c-cff7fc477df9"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"openid profile email"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br></span></code></pre></div></div>
|
17
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Cache-Control: no-store</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Length: </span><span class="token number" style="color:rgb(247, 140, 108)">3207</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Type: application/json</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Pragma: no-cache</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Referrer-Policy: no-referrer</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KEYCLOAK_LOCALE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Comment</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Expiring cookie</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Set-Cookie: </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">KC_RESTART</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Version</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Expires</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">Thu, 01-Jan-1970 00:00:10 GMT</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> Max-Age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">Path</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">/auth/realms/openc3/</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> HttpOnly</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Strict-Transport-Security: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">31536000</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> includeSubDomains</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Content-Type-Options: nosniff</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Frame-Options: SAMEORIGIN</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Xss-Protection: </span><span class="token number" style="color:rgb(247, 140, 108)">1</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">mode</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token plain">block</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">10</span><span class="token plain"> May </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> 00:40:40 GMT</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"access_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"expires_in"</span><span class="token plain">:300,</span><span class="token string" style="color:rgb(173, 219, 103)">"refresh_expires_in"</span><span class="token plain">:1800,</span><span class="token string" style="color:rgb(173, 219, 103)">"refresh_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5NjNlMjJiMS0wZmYwLTRmZjktYTg0Zi1hOGI4MzcxOWFiMDEifQ.eyJleHAiOjE2ODM2ODEwNDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiMmQyYjIyNmItNjJkOS00YjRjLWI3YTYtMGEwYjk4MGQyMjMwIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjkwMC9hdXRoL3JlYWxtcy9vcGVuYzMiLCJzdWIiOiJhY2UxZTZhMS05MzE5LTQ3NmUtYmY0My02ZjNjYWI5ZWUyZGUiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiYXBpIiwic2Vzc2lvbl9zdGF0ZSI6ImYzNzg1OTY3LTJhNDYtNGMxMi1hZDBjLWNmZjdmYzQ3N2RmOSIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkifQ.1HlKdxQkaL5tYuHTXsOceLZFmNNLl9BjoA4oUl70x9M"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"token_type"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"Bearer"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"id_token"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwiYXV0aF90aW1lIjowLCJqdGkiOiJhNDJkOTY1ZS1lMzU0LTRiM2QtOTIyYS1hOWE0ZDgwZWYxMTkiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjI5MDAvYXV0aC9yZWFsbXMvb3BlbmMzIiwiYXVkIjoiYXBpIiwic3ViIjoiYWNlMWU2YTEtOTMxOS00NzZlLWJmNDMtNmYzY2FiOWVlMmRlIiwidHlwIjoiSUQiLCJhenAiOiJhcGkiLCJzZXNzaW9uX3N0YXRlIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiYXRfaGFzaCI6IjNBWE9ISkFKYzFPVldLd2Y0a0Q4TkEiLCJhY3IiOiIxIiwic2lkIjoiZjM3ODU5NjctMmE0Ni00YzEyLWFkMGMtY2ZmN2ZjNDc3ZGY5IiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJuYW1lIjoiVGhlIE9wZXJhdG9yIiwicHJlZmVycmVkX3VzZXJuYW1lIjoib3BlcmF0b3IiLCJnaXZlbl9uYW1lIjoiVGhlIiwiZmFtaWx5X25hbWUiOiJPcGVyYXRvciJ9.gdLl6KOKIIAdl6jYEuAXQrGCNvuwLQb3RDnwrHJdqyFXshiwofBiLMFreRsIE-33xXWNBU6pnSLQHPVlQU5Vmzlk0IOfk-b4yNq0dNa1TV1kmnxRl8w1ulTQYVZjdsN-oyLNwe0v3aJcYtbvIA3DP8rgO6bVv0ogkjWtlda6MbkyZN-har8x3raUVSlUPRP2Basy1xSMNNA1jvB-nEM-aubrUZE6r0PjI6PE1hbLPmuPbcX3uuIwXu2-UoXepkB8H7omUuMm-S98aHpRarwszC0mmHD5b_wiXusMVw4xYw8eavFue4zfw-T2IKuTVtxbMTygXIah6iqi4gkpL8Mx1w"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"not-before-policy"</span><span class="token plain">:0,</span><span class="token string" style="color:rgb(173, 219, 103)">"session_state"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"f3785967-2a46-4c12-ad0c-cff7fc477df9"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"scope"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"openid profile email"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br/></span></code></pre></div></div>
|
18
18
|
<p>COSMOS Request:</p>
|
19
|
-
<div class="language-bash
|
19
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># COSMOS Request now looks like this:</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-i</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Content-Type: application/json-rpc"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ0cDlERmpNZGFXMy16WXptdlBqVTZnNTVqMVNhWGhkZHJqU0szQVNvaDhVIn0.eyJleHAiOjE2ODM2Nzk1NDAsImlhdCI6MTY4MzY3OTI0MCwianRpIjoiZmVlOTQwYWYtZDY3Ny00MWUyLWIzNWYtZDI5ODhiM2RhZGQ2IiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyOTAwL2F1dGgvcmVhbG1zL29wZW5jMyIsInN1YiI6ImFjZTFlNmExLTkzMTktNDc2ZS1iZjQzLTZmM2NhYjllZTJkZSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaSIsInNlc3Npb25fc3RhdGUiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImRlZmF1bHQtcm9sZXMtb3BlbmMzIiwiQUxMU0NPUEVTX19vcGVyYXRvciIsIm9mZmxpbmVfYWNjZXNzIiwiQUxMU0NPUEVTX192aWV3ZXIiXX0sInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzaWQiOiJmMzc4NTk2Ny0yYTQ2LTRjMTItYWQwYy1jZmY3ZmM0NzdkZjkiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsIm5hbWUiOiJUaGUgT3BlcmF0b3IiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvcGVyYXRvciIsImdpdmVuX25hbWUiOiJUaGUiLCJmYW1pbHlfbmFtZSI6Ik9wZXJhdG9yIn0.eSqSeZrmCTahwltz5jsu5r3w6W15T5h0BvIdqKWQBDcnxAcxKuT-Nwziw_ewySSgHeC172CIWJUpHVp8ACDQG-dfW4KkvA6AcGfSF_f8TBH_rZrVQwlvwwzdA_egGKzhZWcnAC8TDjXRxuaWmnOgWT0aaHZAoW8EvwmKp-1IVz2l0B-hqzfC7dkjMrCI1udLfDvDBza9OtuR-FnKGt8h4nYnRzr8pO2jwebPFyZlR00gVsyK-b411XqprpT-qpRObYZwH5womA-8xIiwRZj9dsfQ1TaHGFkp1LNzxcj_r6pfwVO263bohbeU7ImezQdbvGLJ9NHaglzVNroTui4BXA"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-d</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'{"jsonrpc": "2.0", "method": "tlm", "params": ["INST HEALTH_STATUS TEMP1"], "keyword_params": {"scope": "DEFAULT"}, "id": 8}'</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> POST http://127.0.0.1:2900/openc3-api/api</span><br/></span></code></pre></div></div>
|
20
20
|
<p>COSMOS Response:</p>
|
21
|
-
<div class="language-bash
|
22
|
-
<h2 class="anchor
|
21
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token plain">HTTP/1.1 </span><span class="token number" style="color:rgb(247, 140, 108)">200</span><span class="token plain"> OK</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Cache-Control: max-age</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token plain">, private, must-revalidate</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Content-Type: application/json-rpc</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Etag: W/</span><span class="token string" style="color:rgb(173, 219, 103)">"1e44c0878528687014e1e60a1cbebdae"</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Vary: Origin</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Request-Id: 47a8dd26-1348-4693-8df1-5375f60abc6c</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">X-Runtime: </span><span class="token number" style="color:rgb(247, 140, 108)">0.046477</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Date: Wed, </span><span class="token number" style="color:rgb(247, 140, 108)">10</span><span class="token plain"> May </span><span class="token number" style="color:rgb(247, 140, 108)">2023</span><span class="token plain"> 00:41:33 GMT</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain">Transfer-Encoding: chunked</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token string" style="color:rgb(173, 219, 103)">"jsonrpc"</span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">:</span><span class="token string" style="color:rgb(173, 219, 103)">"2.0"</span><span class="token plain">,</span><span class="token string" style="color:rgb(173, 219, 103)">"id"</span><span class="token plain">:8,</span><span class="token string" style="color:rgb(173, 219, 103)">"result"</span><span class="token plain">:29.204100000000007</span><span class="token punctuation" style="color:rgb(199, 146, 234)">}</span><br/></span></code></pre></div></div>
|
22
|
+
<h2 class="anchor anchorWithStickyNavbar_TUrh" id=suite-runner-example>Suite Runner Example<a href=#suite-runner-example class=hash-link aria-label="Direct link to Suite Runner Example" title="Direct link to Suite Runner Example" translate=no></a></h2>
|
23
23
|
<p>It can be very useful to run the a suite or script remotely from a continuous testing server. COSMOS' REST API allows for this. To figure out what is required to run a certain task on the web GUI you can open up your browser's developer tools to monitor the network traffic. You will see all the requests and responses required to run a command and you can reformat them yourself to suit your own purposes. Below is an example of running a test script from a Chromium-based browser:
|
24
|
-
<img decoding=async loading=lazy src=https://github.com/OpenC3/cosmos/assets/55999897/df642d42-43e0-47f9-9b52-d42746d9746b alt="Network Traffic in browser developer tools" class=
|
24
|
+
<img decoding=async loading=lazy src=https://github.com/OpenC3/cosmos/assets/55999897/df642d42-43e0-47f9-9b52-d42746d9746b alt="Network Traffic in browser developer tools" class=img_m1Wr /></p>
|
25
25
|
<p>You can see that there are 5 transactions total. To investigate just right-click on the network transaction and click "copy as <code>curl</code>" (depends on the browser). Here is an example of the second one:</p>
|
26
|
-
<div class="language-bash
|
26
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900/script-api/scripts/TARGET/procedures/cmd_tlm_test.rb/lock?scope=DEFAULT'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'POST'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: pass'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Length: 0'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Origin: http://ascportal:2900'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Referer: http://localhost:2900/tools/scriptrunner/?file=TARGET%2Fprocedures%2Fcmd_tlm_test.rb'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><br/></span></code></pre></div></div>
|
27
27
|
<p>Many of the browser-specific headers are not required. The important thing to notice here is the URL and the request (in this case <code>POST</code>). If we inspect all of these we'll find out what each one does:</p>
|
28
28
|
<ol>
|
29
29
|
<li>Set the script contents<!-- -->
|
@@ -38,4 +38,4 @@
|
|
38
38
|
<li>Request Result (this URL is a little different because the results are saved in redis)</li>
|
39
39
|
</ol>
|
40
40
|
<p>Below is a bash script which does all the above given some options. It requires <code>curl</code> for the web requests and <code>jq</code> for JSON parsing and formatting. It locks and runs the script, continually checks its status, then requests the result.</p>
|
41
|
-
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_kX1v><pre tabindex=0 class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_AdAo><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<<</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</span><br></span></code></pre></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_UohW aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_g62E"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Development</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/developing><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Developing COSMOS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_TN1Q thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#curl-example-with-openc3-cosmos-core class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Core</a><li><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true class=iconExternalLink_awgD><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div>
|
41
|
+
<div class="language-bash codeBlockContainer_pOyF theme-code-block" style=--prism-color:#d6deeb;--prism-background-color:#011627><div class=codeBlockContent_OnWH><pre tabindex=0 class="prism-code language-bash codeBlock_mQyU thin-scrollbar" style=color:#d6deeb;background-color:#011627><code class=codeBlockLines_oRU6><span class=token-line style=color:#d6deeb><span class="token shebang important">#!/bin/bash</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">set</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-e</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">TARGET</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${1</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TARGET'}</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${2</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'procedures</span><span class="token variable operator" style="color:rgb(127, 219, 202)">/</span><span class="token variable" style="color:rgb(214, 222, 235)">cmd_tlm_test.rb'}</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SUITE</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">${3</span><span class="token variable operator" style="color:rgb(127, 219, 202)">:-</span><span class="token variable" style="color:rgb(214, 222, 235)">'TestSuite'}</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">COSMOS_HOST</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">'http://localhost:2900'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_API</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/script-api"</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"scripts/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$TARGET</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">CURL_ARGS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token punctuation" style="color:rgb(199, 146, 234)">(</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept: application/json'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Authorization: password'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Accept-Language: en-US,en;q=0.9'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Connection: keep-alive'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-H</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">'Content-Type: application/json'</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--insecure</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">--silent</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Lock script #</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token function" style="color:rgb(130, 170, 255)">curl</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">/lock?scope=DEFAULT"</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(214, 222, 235)">-X</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"POST"</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Run script #</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">cat</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<-</span><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">{</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "environment": [],</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suiteRunner": {</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "method": "start",</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "suite": "</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SUITE</span><span class="token variable string" style="color:rgb(173, 219, 103)">",</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "options": [</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> "continueAfterError"</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> ]</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)"> }</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">}</span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable string" style="color:rgb(173, 219, 103)">json</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"></span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">RUN_OPTS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable operator" style="color:rgb(127, 219, 202)"><<<</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-rc</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable builtin class-name" style="color:rgb(255, 203, 139)">.</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">ID</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token variable string" style="color:rgb(173, 219, 103)">/run?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> --data-raw </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$RUN_OPTS</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain" style=display:inline-block></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"Starting Script '</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_PATH</span><span class="token string" style="color:rgb(173, 219, 103)">' at </span><span class="token string variable" style="color:rgb(214, 222, 235)">$(</span><span class="token string variable function" style="color:rgb(130, 170, 255)">date</span><span class="token string variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)"> (may take up to 15 minutes)"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(255, 203, 139)">echo</span><span class="token plain"> </span><span class="token string" style="color:rgb(173, 219, 103)">"You can monitor it in Script Runner here: </span><span class="token string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token string" style="color:rgb(173, 219, 103)">/tools/scriptrunner/</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">></span><span class="token plain"> /dev/stderr</span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token comment" style="color:rgb(99, 119, 119);font-style:italic"># Loop while Script ID is still running #</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"></span><span class="token keyword" style="color:rgb(127, 219, 202)">while</span><span class="token plain"> </span><span class="token boolean" style="color:rgb(255, 88, 116)">true</span><span class="token punctuation" style="color:rgb(199, 146, 234)">;</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(127, 219, 202)">do</span><span class="token plain"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(214, 222, 235)">SCRIPT_STATUS</span><span class="token operator" style="color:rgb(127, 219, 202)">=</span><span class="token string" style="color:rgb(173, 219, 103)">"$(curl "</span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token string" style="color:rgb(173, 219, 103)">/running-script?scope=DEFAULT" "</span><span class="token string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token string variable" style="color:rgb(214, 222, 235)">@</span><span class="token string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token string variable" style="color:rgb(214, 222, 235)">}</span><span class="token string" style="color:rgb(173, 219, 103)">" | jq ".[]|select(.id==</span><span class="token string variable" style="color:rgb(214, 222, 235)">$ID</span><span class="token string" style="color:rgb(173, 219, 103)">)"</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> if [[ -z </span><span class="token string variable" style="color:rgb(214, 222, 235)">$SCRIPT_STATUS</span><span class="token string" style="color:rgb(173, 219, 103)"> ]]; then</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> break;</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> fi</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"> sleep 2</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">done</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"># Request results #</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">BUCKET_FILE_URI="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$SCRIPT_API</span><span class="token variable string" style="color:rgb(173, 219, 103)">/completed-scripts?scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">\</span><span class="token variable" style="color:rgb(214, 222, 235)"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token variable" style="color:rgb(214, 222, 235)"> jq </span><span class="token variable string" style="color:rgb(173, 219, 103)">'[.[]|select(.name | test("'</span><span class="token variable" style="color:rgb(214, 222, 235)">"$</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token variable" style="color:rgb(214, 222, 235)">SCRIPT_PATH</span><span class="token variable comment" style="color:rgb(99, 119, 119);font-style:italic">#scripts/}"' ")</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token number" style="color:rgb(247, 140, 108)">0</span><span class="token punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token plain"> </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> .log </span><span class="token operator" style="color:rgb(127, 219, 202)">|</span><span class="token plain"> @uri' -r</span><span class="token punctuation" style="color:rgb(199, 146, 234)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">URL="</span><span class="token variable" style="color:rgb(214, 222, 235)">$(</span><span class="token variable function" style="color:rgb(130, 170, 255)">curl</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable string" style="color:rgb(173, 219, 103)">/openc3-api/storage/download/</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">$BUCKET_FILE_URI</span><span class="token variable string" style="color:rgb(173, 219, 103)">?bucket=OPENC3_LOGS_BUCKET&scope=DEFAULT"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable string variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable string variable" style="color:rgb(214, 222, 235)">}</span><span class="token variable string" style="color:rgb(173, 219, 103)">"</span><span class="token variable" style="color:rgb(214, 222, 235)"> </span><span class="token variable operator" style="color:rgb(127, 219, 202)">|</span><span class="token variable" style="color:rgb(214, 222, 235)">jq .url </span><span class="token variable parameter variable" style="color:rgb(214, 222, 235)">-r</span><span class="token variable" style="color:rgb(214, 222, 235)">)</span><span class="token string" style="color:rgb(173, 219, 103)">"</span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)"></span><br/></span><span class=token-line style=color:#d6deeb><span class="token string" style="color:rgb(173, 219, 103)">curl "</span><span class="token variable" style="color:rgb(214, 222, 235)">$COSMOS_HOST</span><span class="token variable" style="color:rgb(214, 222, 235)">$URL</span><span class="token string" style="color:rgb(173, 219, 103)">" "</span><span class="token variable" style="color:rgb(214, 222, 235)">${CURL_ARGS</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">[</span><span class="token variable" style="color:rgb(214, 222, 235)">@</span><span class="token variable punctuation" style="color:rgb(199, 146, 234)">]</span><span class="token variable" style="color:rgb(214, 222, 235)">}</span><span class="token plain">"</span><br/></span></code></pre></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/curl.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_CuGa aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_h4bd"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/tools/staticdocs/docs/development><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Development</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/tools/staticdocs/docs/development/developing><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Developing COSMOS</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_rhgf thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#curl-example-with-openc3-cosmos-core class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Core</a><li><a href=#curl-example-with-openc3-cosmos-enterprise class="table-of-contents__link toc-highlight">Curl Example with OpenC3 COSMOS Enterprise</a><li><a href=#suite-runner-example class="table-of-contents__link toc-highlight">Suite Runner Example</a></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Homepage</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://openc3.com target=_blank rel="noopener noreferrer" class=footer__link-item>Home</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs>Documentation</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.linkedin.com/company/openc3 target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_mMqu><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/OpenC3/cosmos target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_mMqu><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/tools/staticdocs/docs/privacy>Privacy</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 OpenC3, Inc.</div></div></div></footer></div></body>
|