wrangler 0.0.0-e95e5a0 → 0.0.0-e98613f8
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.
- package/Cloudflare_CA.pem +18 -0
- package/README.md +26 -4
- package/bin/wrangler.js +166 -34
- package/kv-asset-handler.js +1 -0
- package/miniflare-dist/index.mjs +1456 -21
- package/package.json +191 -148
- package/src/__tests__/access.test.ts +25 -0
- package/src/__tests__/api-dev.test.ts +209 -0
- package/src/__tests__/api-devregistry.test.js +56 -0
- package/src/__tests__/api.test.ts +80 -0
- package/src/__tests__/config-cache-without-cache-dir.test.ts +38 -0
- package/src/__tests__/config-cache.test.ts +30 -24
- package/src/__tests__/configuration.test.ts +3970 -3114
- package/src/__tests__/d1.test.ts +80 -0
- package/src/__tests__/delete.test.ts +263 -0
- package/src/__tests__/deployments.test.ts +91 -0
- package/src/__tests__/dev.test.tsx +1528 -737
- package/src/__tests__/dialogs.test.tsx +40 -0
- package/src/__tests__/generate.test.ts +235 -0
- package/src/__tests__/get-host-from-url.test.ts +16 -0
- package/src/__tests__/guess-worker-format.test.ts +68 -68
- package/src/__tests__/helpers/cmd-shim.d.ts +6 -6
- package/src/__tests__/helpers/mock-account-id.ts +24 -24
- package/src/__tests__/helpers/mock-bin.ts +20 -20
- package/src/__tests__/helpers/mock-cfetch.ts +216 -94
- package/src/__tests__/helpers/mock-console.ts +58 -39
- package/src/__tests__/helpers/mock-dialogs.ts +114 -51
- package/src/__tests__/helpers/mock-get-zone-from-host.ts +8 -0
- package/src/__tests__/helpers/mock-http-server.ts +30 -30
- package/src/__tests__/helpers/mock-istty.ts +65 -18
- package/src/__tests__/helpers/mock-known-routes.ts +7 -0
- package/src/__tests__/helpers/mock-kv.ts +27 -27
- package/src/__tests__/helpers/mock-oauth-flow.ts +229 -228
- package/src/__tests__/helpers/mock-process.ts +39 -0
- package/src/__tests__/helpers/mock-stdin.ts +82 -77
- package/src/__tests__/helpers/mock-web-socket.ts +21 -21
- package/src/__tests__/helpers/msw/handlers/access.ts +13 -0
- package/src/__tests__/helpers/msw/handlers/deployments.ts +59 -0
- package/src/__tests__/helpers/msw/handlers/namespaces.ts +104 -0
- package/src/__tests__/helpers/msw/handlers/oauth.ts +31 -0
- package/src/__tests__/helpers/msw/handlers/r2.ts +80 -0
- package/src/__tests__/helpers/msw/handlers/script.ts +75 -0
- package/src/__tests__/helpers/msw/handlers/user.ts +63 -0
- package/src/__tests__/helpers/msw/handlers/zones.ts +22 -0
- package/src/__tests__/helpers/msw/index.ts +21 -0
- package/src/__tests__/helpers/run-in-tmp.ts +27 -28
- package/src/__tests__/helpers/run-wrangler.ts +8 -8
- package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +1 -0
- package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +5 -0
- package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +1 -0
- package/src/__tests__/helpers/worker-scripts/parent-worker.js +8 -0
- package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +5 -0
- package/src/__tests__/helpers/write-worker-source.ts +16 -16
- package/src/__tests__/helpers/write-wrangler-toml.ts +9 -9
- package/src/__tests__/https-options.test.ts +142 -109
- package/src/__tests__/index.test.ts +246 -231
- package/src/__tests__/init.test.ts +2887 -1488
- package/src/__tests__/jest.setup.ts +163 -30
- package/src/__tests__/kv.test.ts +1660 -1439
- package/src/__tests__/logger.test.ts +100 -74
- package/src/__tests__/logout.test.ts +47 -0
- package/src/__tests__/metrics.test.ts +450 -0
- package/src/__tests__/middleware.scheduled.test.ts +135 -0
- package/src/__tests__/middleware.test.ts +726 -0
- package/src/__tests__/package-manager.test.ts +312 -165
- package/src/__tests__/pages-deployment-tail.test.ts +820 -0
- package/src/__tests__/pages.test.ts +2435 -322
- package/src/__tests__/parse.test.ts +253 -245
- package/src/__tests__/paths.test.ts +39 -0
- package/src/__tests__/publish.test.ts +7536 -4778
- package/src/__tests__/pubsub.test.ts +370 -0
- package/src/__tests__/queues.test.ts +522 -0
- package/src/__tests__/r2.test.ts +388 -209
- package/src/__tests__/route.test.ts +18 -18
- package/src/__tests__/secret.test.ts +624 -426
- package/src/__tests__/tail.test.ts +776 -567
- package/src/__tests__/test-old-node-version.js +31 -0
- package/src/__tests__/type-generation.test.ts +226 -0
- package/src/__tests__/user.test.ts +117 -119
- package/src/__tests__/utils-collectKeyValues.test.ts +47 -0
- package/src/__tests__/validate-dev-props.test.ts +56 -0
- package/src/__tests__/version.test.ts +35 -0
- package/src/__tests__/whoami.test.tsx +264 -91
- package/src/__tests__/worker-namespace.test.ts +326 -0
- package/src/abort.d.ts +3 -0
- package/src/api/dev.ts +210 -0
- package/src/api/index.ts +2 -0
- package/src/bundle-reporter.tsx +68 -0
- package/src/bundle.ts +789 -135
- package/src/cfetch/index.ts +123 -67
- package/src/cfetch/internal.ts +216 -90
- package/src/cli.ts +23 -8
- package/src/config/config.ts +236 -195
- package/src/config/diagnostics.ts +61 -61
- package/src/config/environment.ts +506 -339
- package/src/config/index.ts +309 -38
- package/src/config/validation-helpers.ts +379 -357
- package/src/config/validation.ts +1942 -1263
- package/src/config-cache.ts +81 -41
- package/src/create-worker-preview.ts +239 -132
- package/src/create-worker-upload-form.ts +300 -224
- package/src/d1/backups.tsx +223 -0
- package/src/d1/constants.ts +2 -0
- package/src/d1/create.tsx +63 -0
- package/src/d1/delete.tsx +56 -0
- package/src/d1/execute.tsx +352 -0
- package/src/d1/formatTimeAgo.ts +14 -0
- package/src/d1/index.ts +101 -0
- package/src/d1/list.tsx +48 -0
- package/src/d1/migrations/apply.tsx +184 -0
- package/src/d1/migrations/create.tsx +77 -0
- package/src/d1/migrations/helpers.ts +147 -0
- package/src/d1/migrations/index.tsx +3 -0
- package/src/d1/migrations/list.tsx +79 -0
- package/src/d1/migrations/options.ts +18 -0
- package/src/d1/options.ts +22 -0
- package/src/d1/types.tsx +24 -0
- package/src/d1/utils.ts +48 -0
- package/src/delete.ts +108 -0
- package/src/deployments.ts +77 -0
- package/src/deprecated/index.ts +438 -0
- package/src/dev/dev-vars.ts +20 -17
- package/src/dev/dev.tsx +549 -353
- package/src/dev/get-local-persistence-path.tsx +31 -0
- package/src/dev/local.tsx +870 -292
- package/src/dev/remote.tsx +591 -201
- package/src/dev/start-server.ts +539 -0
- package/src/dev/use-esbuild.ts +183 -97
- package/src/dev/validate-dev-props.ts +31 -0
- package/src/dev-registry.tsx +201 -0
- package/src/dev.tsx +913 -0
- package/src/dialogs.tsx +146 -65
- package/src/dispatch-namespace.ts +207 -0
- package/src/durable.ts +102 -0
- package/src/entry.ts +248 -186
- package/src/environment-variables.ts +38 -23
- package/src/errors.ts +6 -6
- package/src/git-client.ts +135 -0
- package/src/global-wrangler-config-path.ts +26 -0
- package/src/https-options.ts +84 -80
- package/src/index.tsx +636 -2617
- package/src/init.ts +970 -0
- package/src/inspect.ts +706 -562
- package/src/intl-polyfill.d.ts +123 -123
- package/src/is-ci.ts +14 -0
- package/src/is-interactive.ts +16 -0
- package/src/kv/helpers.ts +430 -0
- package/src/kv/index.ts +596 -0
- package/src/logger.ts +67 -41
- package/src/metrics/index.ts +5 -0
- package/src/metrics/metrics-config.ts +239 -0
- package/src/metrics/metrics-dispatcher.ts +96 -0
- package/src/metrics/metrics-usage-headers.ts +24 -0
- package/src/metrics/send-event.ts +96 -0
- package/src/miniflare-cli/assets.ts +220 -0
- package/src/miniflare-cli/index.ts +205 -33
- package/src/miniflare-cli/request-context.ts +18 -18
- package/src/module-collection.ts +221 -212
- package/src/open-in-browser.ts +5 -14
- package/src/package-manager.ts +182 -90
- package/src/pages/build.tsx +270 -0
- package/src/pages/constants.ts +18 -0
- package/src/pages/deployment-tails.tsx +284 -0
- package/src/pages/deployments.tsx +84 -0
- package/src/pages/dev.tsx +706 -0
- package/src/pages/errors.ts +66 -0
- package/src/pages/functions/buildPlugin.ts +107 -0
- package/src/pages/functions/buildWorker.ts +166 -0
- package/{pages → src/pages}/functions/filepath-routing.test.ts +113 -113
- package/src/pages/functions/filepath-routing.ts +189 -0
- package/src/pages/functions/identifiers.ts +78 -0
- package/src/pages/functions/routes-consolidation.test.ts +250 -0
- package/src/pages/functions/routes-consolidation.ts +73 -0
- package/src/pages/functions/routes-transformation.test.ts +282 -0
- package/src/pages/functions/routes-transformation.ts +115 -0
- package/src/pages/functions/routes-validation.test.ts +403 -0
- package/src/pages/functions/routes-validation.ts +202 -0
- package/src/pages/functions/routes.ts +151 -0
- package/src/pages/functions.tsx +82 -0
- package/src/pages/hash.tsx +13 -0
- package/src/pages/index.tsx +102 -0
- package/src/pages/projects.tsx +169 -0
- package/src/pages/prompt-select-project.tsx +31 -0
- package/src/pages/publish.tsx +451 -0
- package/src/pages/types.ts +41 -0
- package/src/pages/upload.tsx +426 -0
- package/src/pages/utils.ts +23 -0
- package/src/parse.ts +223 -120
- package/src/paths.ts +53 -8
- package/src/proxy.ts +628 -383
- package/src/publish/index.ts +270 -0
- package/src/publish/publish.ts +1035 -0
- package/src/pubsub/index.ts +286 -0
- package/src/pubsub/pubsub-commands.tsx +624 -0
- package/src/queues/cli/commands/consumer/add.ts +71 -0
- package/src/queues/cli/commands/consumer/index.ts +22 -0
- package/src/queues/cli/commands/consumer/remove.ts +38 -0
- package/src/queues/cli/commands/create.ts +25 -0
- package/src/queues/cli/commands/delete.ts +26 -0
- package/src/queues/cli/commands/index.ts +36 -0
- package/src/queues/cli/commands/list.ts +25 -0
- package/src/queues/client.ts +135 -0
- package/src/queues/utils.ts +18 -0
- package/src/r2/constants.ts +4 -0
- package/src/r2/helpers.ts +131 -0
- package/src/r2/index.ts +289 -0
- package/src/routes.ts +140 -0
- package/src/secret/index.ts +378 -0
- package/src/selfsigned.d.ts +23 -23
- package/src/sites.tsx +281 -202
- package/src/tail/createTail.ts +379 -0
- package/src/tail/filters.ts +108 -110
- package/src/tail/index.ts +211 -296
- package/src/tail/printing.ts +86 -46
- package/src/type-generation.ts +173 -0
- package/src/update-check.ts +11 -11
- package/src/user/access.ts +69 -0
- package/src/user/choose-account.tsx +69 -0
- package/src/user/env-vars.ts +46 -0
- package/src/user/generate-auth-url.ts +33 -0
- package/src/user/generate-random-state.ts +16 -0
- package/src/user/index.ts +3 -0
- package/src/user/user.tsx +1198 -0
- package/src/utils/collectKeyValues.ts +14 -0
- package/src/whoami.tsx +141 -42
- package/src/worker.ts +174 -101
- package/src/yargs-types.ts +24 -0
- package/src/zones.ts +191 -0
- package/templates/__tests__/pages-dev-util.test.ts +128 -0
- package/templates/checked-fetch.js +17 -0
- package/templates/d1-beta-facade.js +205 -0
- package/templates/first-party-worker-module-facade.ts +18 -0
- package/templates/format-dev-errors.ts +32 -0
- package/templates/init-tests/test-jest-new-worker.js +25 -0
- package/templates/init-tests/test-vitest-new-worker.js +26 -0
- package/templates/middleware/common.ts +62 -0
- package/templates/middleware/loader-modules.ts +84 -0
- package/templates/middleware/loader-sw.ts +227 -0
- package/templates/middleware/middleware-miniflare3-json-error.ts +20 -0
- package/templates/middleware/middleware-pretty-error.ts +40 -0
- package/templates/middleware/middleware-scheduled.ts +15 -0
- package/templates/new-worker-scheduled.js +17 -0
- package/templates/new-worker-scheduled.ts +32 -0
- package/templates/new-worker.js +3 -3
- package/templates/new-worker.ts +18 -3
- package/templates/no-op-worker.js +10 -0
- package/templates/pages-dev-pipeline.ts +28 -0
- package/templates/pages-dev-util.ts +52 -0
- package/templates/pages-shim.ts +9 -0
- package/templates/pages-template-plugin.ts +171 -0
- package/templates/pages-template-worker.ts +189 -0
- package/templates/serve-static-assets.ts +63 -0
- package/templates/service-bindings-module-facade.js +54 -0
- package/templates/service-bindings-sw-facade.js +42 -0
- package/templates/tsconfig.json +96 -95
- package/wrangler-dist/cli.d.ts +893 -0
- package/wrangler-dist/cli.js +95201 -44118
- package/pages/functions/buildPlugin.ts +0 -92
- package/pages/functions/buildWorker.ts +0 -138
- package/pages/functions/filepath-routing.ts +0 -189
- package/pages/functions/identifiers.ts +0 -78
- package/pages/functions/routes.ts +0 -156
- package/pages/functions/template-plugin.ts +0 -146
- package/pages/functions/template-worker.ts +0 -143
- package/src/__tests__/helpers/faye-websocket.d.ts +0 -6
- package/src/kv.ts +0 -319
- package/src/miniflare-cli/enum-keys.ts +0 -17
- package/src/pages.tsx +0 -1866
- package/src/publish.ts +0 -469
- package/src/r2.ts +0 -50
- package/src/user.tsx +0 -1193
- package/templates/static-asset-facade.js +0 -47
- package/vendor/@cloudflare/kv-asset-handler/CHANGELOG.md +0 -332
- package/vendor/@cloudflare/kv-asset-handler/LICENSE_APACHE +0 -176
- package/vendor/@cloudflare/kv-asset-handler/LICENSE_MIT +0 -25
- package/vendor/@cloudflare/kv-asset-handler/README.md +0 -245
- package/vendor/@cloudflare/kv-asset-handler/dist/index.d.ts +0 -32
- package/vendor/@cloudflare/kv-asset-handler/dist/index.js +0 -354
- package/vendor/@cloudflare/kv-asset-handler/dist/mocks.d.ts +0 -13
- package/vendor/@cloudflare/kv-asset-handler/dist/mocks.js +0 -148
- package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.d.ts +0 -1
- package/vendor/@cloudflare/kv-asset-handler/dist/test/getAssetFromKV.js +0 -436
- package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.d.ts +0 -1
- package/vendor/@cloudflare/kv-asset-handler/dist/test/mapRequestToAsset.js +0 -40
- package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.d.ts +0 -1
- package/vendor/@cloudflare/kv-asset-handler/dist/test/serveSinglePageApp.js +0 -42
- package/vendor/@cloudflare/kv-asset-handler/dist/types.d.ts +0 -26
- package/vendor/@cloudflare/kv-asset-handler/dist/types.js +0 -31
- package/vendor/@cloudflare/kv-asset-handler/package.json +0 -52
- package/vendor/@cloudflare/kv-asset-handler/src/index.ts +0 -296
- package/vendor/@cloudflare/kv-asset-handler/src/mocks.ts +0 -136
- package/vendor/@cloudflare/kv-asset-handler/src/test/getAssetFromKV.ts +0 -464
- package/vendor/@cloudflare/kv-asset-handler/src/test/mapRequestToAsset.ts +0 -33
- package/vendor/@cloudflare/kv-asset-handler/src/test/serveSinglePageApp.ts +0 -42
- package/vendor/@cloudflare/kv-asset-handler/src/types.ts +0 -39
- package/vendor/wrangler-mime/CHANGELOG.md +0 -289
- package/vendor/wrangler-mime/LICENSE +0 -21
- package/vendor/wrangler-mime/Mime.js +0 -97
- package/vendor/wrangler-mime/README.md +0 -187
- package/vendor/wrangler-mime/cli.js +0 -46
- package/vendor/wrangler-mime/index.js +0 -4
- package/vendor/wrangler-mime/lite.js +0 -4
- package/vendor/wrangler-mime/package.json +0 -52
- package/vendor/wrangler-mime/types/other.js +0 -1
- package/vendor/wrangler-mime/types/standard.js +0 -1
package/src/tail/filters.ts
CHANGED
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
* CLI description or see the documentation for `ApiFilter`.
|
|
18
18
|
*/
|
|
19
19
|
export type TailCLIFilters = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
status?: ("ok" | "error" | "canceled")[];
|
|
21
|
+
header?: string;
|
|
22
|
+
method?: string[];
|
|
23
|
+
search?: string;
|
|
24
|
+
samplingRate?: number;
|
|
25
|
+
clientIp?: string[];
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -33,12 +33,12 @@ export type TailCLIFilters = {
|
|
|
33
33
|
* TailAPIFilter to be the union of those types.
|
|
34
34
|
*/
|
|
35
35
|
export type TailAPIFilter =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
| SamplingRateFilter
|
|
37
|
+
| OutcomeFilter
|
|
38
|
+
| MethodFilter
|
|
39
|
+
| HeaderFilter
|
|
40
|
+
| ClientIPFilter
|
|
41
|
+
| QueryFilter;
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* Filters logs based on a given sampling rate.
|
|
@@ -46,33 +46,34 @@ export type TailAPIFilter =
|
|
|
46
46
|
* logs through.
|
|
47
47
|
*/
|
|
48
48
|
type SamplingRateFilter = {
|
|
49
|
-
|
|
49
|
+
sampling_rate: number;
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Filters logs based on the outcome of the worker's event handler.
|
|
54
54
|
*/
|
|
55
55
|
type OutcomeFilter = {
|
|
56
|
-
|
|
56
|
+
outcome: Outcome[];
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* There are five possible outcomes we can get, three of which
|
|
61
|
-
* (exception, exceededCpu, and unknown) are considered errors
|
|
61
|
+
* (exception, exceededCpu, exceededMemory, and unknown) are considered errors
|
|
62
62
|
*/
|
|
63
63
|
export type Outcome =
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
| "ok"
|
|
65
|
+
| "canceled"
|
|
66
|
+
| "exception"
|
|
67
|
+
| "exceededCpu"
|
|
68
|
+
| "exceededMemory"
|
|
69
|
+
| "unknown";
|
|
69
70
|
|
|
70
71
|
/**
|
|
71
72
|
* Filters logs based on the HTTP method used for the request
|
|
72
73
|
* that triggered the worker.
|
|
73
74
|
*/
|
|
74
75
|
type MethodFilter = {
|
|
75
|
-
|
|
76
|
+
method: string[];
|
|
76
77
|
};
|
|
77
78
|
|
|
78
79
|
/**
|
|
@@ -80,21 +81,21 @@ type MethodFilter = {
|
|
|
80
81
|
* triggered the worker.
|
|
81
82
|
*/
|
|
82
83
|
type HeaderFilter = {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
84
|
+
header: {
|
|
85
|
+
/**
|
|
86
|
+
* Filters on the header "key", e.g. "X-CLOUDFLARE-HEADER"
|
|
87
|
+
* or "X-CUSTOM-HEADER"
|
|
88
|
+
*/
|
|
89
|
+
key: string;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Filters on the header "value", e.g. if this is set to
|
|
93
|
+
* "filter-for-me" and the "key" is "X-SHOULD-LOG", only
|
|
94
|
+
* events triggered by requests with the header
|
|
95
|
+
* "X-SHOULD-LOG:filter-for-me" will be logged.
|
|
96
|
+
*/
|
|
97
|
+
query?: string;
|
|
98
|
+
};
|
|
98
99
|
};
|
|
99
100
|
|
|
100
101
|
/**
|
|
@@ -103,7 +104,7 @@ type HeaderFilter = {
|
|
|
103
104
|
* address that is running `wrangler tail`
|
|
104
105
|
*/
|
|
105
106
|
type ClientIPFilter = {
|
|
106
|
-
|
|
107
|
+
client_ip: string[];
|
|
107
108
|
};
|
|
108
109
|
|
|
109
110
|
/**
|
|
@@ -112,7 +113,7 @@ type ClientIPFilter = {
|
|
|
112
113
|
* that don't will be discarded by the tail worker.
|
|
113
114
|
*/
|
|
114
115
|
type QueryFilter = {
|
|
115
|
-
|
|
116
|
+
query: string;
|
|
116
117
|
};
|
|
117
118
|
|
|
118
119
|
/**
|
|
@@ -120,8 +121,7 @@ type QueryFilter = {
|
|
|
120
121
|
* filters and a debug flag.
|
|
121
122
|
*/
|
|
122
123
|
export type TailFilterMessage = {
|
|
123
|
-
|
|
124
|
-
debug: boolean;
|
|
124
|
+
filters: TailAPIFilter[];
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -129,43 +129,40 @@ export type TailFilterMessage = {
|
|
|
129
129
|
* into a message that we can send to the tail worker.
|
|
130
130
|
*
|
|
131
131
|
* @param cliFilters An object containing all the filters passed in from the CLI
|
|
132
|
-
* @param debug Whether or not we should be in debug mode
|
|
133
132
|
* @returns A filter message ready to be sent to the tail worker
|
|
134
133
|
*/
|
|
135
134
|
export function translateCLICommandToFilterMessage(
|
|
136
|
-
|
|
137
|
-
debug: boolean
|
|
135
|
+
cliFilters: TailCLIFilters
|
|
138
136
|
): TailFilterMessage {
|
|
139
|
-
|
|
137
|
+
const apiFilters: TailAPIFilter[] = [];
|
|
140
138
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
139
|
+
if (cliFilters.samplingRate) {
|
|
140
|
+
apiFilters.push(parseSamplingRate(cliFilters.samplingRate));
|
|
141
|
+
}
|
|
144
142
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
if (cliFilters.status) {
|
|
144
|
+
apiFilters.push(parseOutcome(cliFilters.status));
|
|
145
|
+
}
|
|
148
146
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
147
|
+
if (cliFilters.method) {
|
|
148
|
+
apiFilters.push(parseMethod(cliFilters.method));
|
|
149
|
+
}
|
|
152
150
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
151
|
+
if (cliFilters.header) {
|
|
152
|
+
apiFilters.push(parseHeader(cliFilters.header));
|
|
153
|
+
}
|
|
156
154
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
155
|
+
if (cliFilters.clientIp) {
|
|
156
|
+
apiFilters.push(parseIP(cliFilters.clientIp));
|
|
157
|
+
}
|
|
160
158
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
159
|
+
if (cliFilters.search) {
|
|
160
|
+
apiFilters.push(parseQuery(cliFilters.search));
|
|
161
|
+
}
|
|
164
162
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
};
|
|
163
|
+
return {
|
|
164
|
+
filters: apiFilters,
|
|
165
|
+
};
|
|
169
166
|
}
|
|
170
167
|
|
|
171
168
|
/**
|
|
@@ -176,13 +173,13 @@ export function translateCLICommandToFilterMessage(
|
|
|
176
173
|
* @returns a SamplingRateFilter for use with the API
|
|
177
174
|
*/
|
|
178
175
|
function parseSamplingRate(sampling_rate: number): SamplingRateFilter {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
if (sampling_rate <= 0 || sampling_rate >= 1) {
|
|
177
|
+
throw new Error(
|
|
178
|
+
"A sampling rate must be between 0 and 1 in order to have any effect.\nFor example, a sampling rate of 0.25 means 25% of events will be logged."
|
|
179
|
+
);
|
|
180
|
+
}
|
|
184
181
|
|
|
185
|
-
|
|
182
|
+
return { sampling_rate };
|
|
186
183
|
}
|
|
187
184
|
|
|
188
185
|
/**
|
|
@@ -193,34 +190,35 @@ function parseSamplingRate(sampling_rate: number): SamplingRateFilter {
|
|
|
193
190
|
* @returns an OutcomeFilter for use with the API
|
|
194
191
|
*/
|
|
195
192
|
function parseOutcome(
|
|
196
|
-
|
|
193
|
+
statuses: ("ok" | "error" | "canceled")[]
|
|
197
194
|
): OutcomeFilter {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
195
|
+
const outcomes = new Set<Outcome>();
|
|
196
|
+
|
|
197
|
+
for (const status of statuses) {
|
|
198
|
+
switch (status) {
|
|
199
|
+
case "ok":
|
|
200
|
+
outcomes.add("ok");
|
|
201
|
+
break;
|
|
202
|
+
|
|
203
|
+
case "canceled":
|
|
204
|
+
outcomes.add("canceled");
|
|
205
|
+
break;
|
|
206
|
+
|
|
207
|
+
case "error":
|
|
208
|
+
outcomes.add("exception");
|
|
209
|
+
outcomes.add("exceededCpu");
|
|
210
|
+
outcomes.add("exceededMemory");
|
|
211
|
+
outcomes.add("unknown");
|
|
212
|
+
break;
|
|
213
|
+
|
|
214
|
+
default:
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return {
|
|
220
|
+
outcome: Array.from(outcomes),
|
|
221
|
+
};
|
|
224
222
|
}
|
|
225
223
|
|
|
226
224
|
/**
|
|
@@ -231,7 +229,7 @@ function parseOutcome(
|
|
|
231
229
|
* @returns a MethodFilter for use with the API
|
|
232
230
|
*/
|
|
233
231
|
function parseMethod(method: string[]): MethodFilter {
|
|
234
|
-
|
|
232
|
+
return { method };
|
|
235
233
|
}
|
|
236
234
|
|
|
237
235
|
/**
|
|
@@ -243,14 +241,14 @@ function parseMethod(method: string[]): MethodFilter {
|
|
|
243
241
|
* @returns a HeaderFilter for use with the API
|
|
244
242
|
*/
|
|
245
243
|
function parseHeader(header: string): HeaderFilter {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
244
|
+
const [headerKey, headerQuery] = header.split(":", 2);
|
|
245
|
+
|
|
246
|
+
return {
|
|
247
|
+
header: {
|
|
248
|
+
key: headerKey.trim(),
|
|
249
|
+
query: headerQuery?.trim(),
|
|
250
|
+
},
|
|
251
|
+
};
|
|
254
252
|
}
|
|
255
253
|
|
|
256
254
|
/**
|
|
@@ -263,7 +261,7 @@ function parseHeader(header: string): HeaderFilter {
|
|
|
263
261
|
* @returns a ClientIPFilter for use with the API
|
|
264
262
|
*/
|
|
265
263
|
function parseIP(client_ip: string[]): ClientIPFilter {
|
|
266
|
-
|
|
264
|
+
return { client_ip };
|
|
267
265
|
}
|
|
268
266
|
|
|
269
267
|
/**
|
|
@@ -275,5 +273,5 @@ function parseIP(client_ip: string[]): ClientIPFilter {
|
|
|
275
273
|
* @returns a QueryFilter for use with the API
|
|
276
274
|
*/
|
|
277
275
|
function parseQuery(query: string): QueryFilter {
|
|
278
|
-
|
|
276
|
+
return { query };
|
|
279
277
|
}
|