@wirebench/engine 2.1.1
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/LICENSE +201 -0
- package/README.md +3 -0
- package/dist/assert/contract.d.ts +3 -0
- package/dist/assert/contract.js +17 -0
- package/dist/assert/index.d.ts +4 -0
- package/dist/assert/index.js +27 -0
- package/dist/assert/match.d.ts +3 -0
- package/dist/assert/match.js +58 -0
- package/dist/assert/model.d.ts +73 -0
- package/dist/assert/model.js +8 -0
- package/dist/assert/schema.d.ts +34 -0
- package/dist/assert/schema.js +46 -0
- package/dist/assert/sla.d.ts +3 -0
- package/dist/assert/sla.js +8 -0
- package/dist/assert/soap-fault.d.ts +3 -0
- package/dist/assert/soap-fault.js +20 -0
- package/dist/assert/status.d.ts +3 -0
- package/dist/assert/status.js +14 -0
- package/dist/errors.d.ts +77 -0
- package/dist/errors.js +121 -0
- package/dist/fs.d.ts +35 -0
- package/dist/fs.js +64 -0
- package/dist/generate.d.ts +12 -0
- package/dist/generate.js +14 -0
- package/dist/grpc/browser.d.ts +11 -0
- package/dist/grpc/browser.js +9 -0
- package/dist/grpc/cache.d.ts +113 -0
- package/dist/grpc/cache.js +244 -0
- package/dist/grpc/call.d.ts +64 -0
- package/dist/grpc/call.js +72 -0
- package/dist/grpc/codec.d.ts +29 -0
- package/dist/grpc/codec.js +416 -0
- package/dist/grpc/command.d.ts +23 -0
- package/dist/grpc/command.js +91 -0
- package/dist/grpc/expand.d.ts +25 -0
- package/dist/grpc/expand.js +52 -0
- package/dist/grpc/framing.d.ts +28 -0
- package/dist/grpc/framing.js +61 -0
- package/dist/grpc/import.d.ts +47 -0
- package/dist/grpc/import.js +88 -0
- package/dist/grpc/model.d.ts +179 -0
- package/dist/grpc/model.js +91 -0
- package/dist/grpc/proto/describe.d.ts +92 -0
- package/dist/grpc/proto/describe.js +205 -0
- package/dist/grpc/proto/load.d.ts +35 -0
- package/dist/grpc/proto/load.js +112 -0
- package/dist/grpc/proto/sample.d.ts +21 -0
- package/dist/grpc/proto/sample.js +79 -0
- package/dist/grpc/proto/well-known.d.ts +42 -0
- package/dist/grpc/proto/well-known.js +143 -0
- package/dist/grpc/reconcile.d.ts +42 -0
- package/dist/grpc/reconcile.js +153 -0
- package/dist/grpc/reflection/client.d.ts +70 -0
- package/dist/grpc/reflection/client.js +197 -0
- package/dist/grpc/reflection/descriptors.d.ts +69 -0
- package/dist/grpc/reflection/descriptors.js +140 -0
- package/dist/grpc/reflection/proto.d.ts +33 -0
- package/dist/grpc/reflection/proto.js +144 -0
- package/dist/grpc/send.d.ts +132 -0
- package/dist/grpc/send.js +435 -0
- package/dist/grpc/shape.d.ts +29 -0
- package/dist/grpc/shape.js +36 -0
- package/dist/grpc/status.d.ts +21 -0
- package/dist/grpc/status.js +62 -0
- package/dist/grpc/target.d.ts +21 -0
- package/dist/grpc/target.js +66 -0
- package/dist/http/auth/apply.d.ts +37 -0
- package/dist/http/auth/apply.js +74 -0
- package/dist/http/auth/basic.d.ts +36 -0
- package/dist/http/auth/basic.js +69 -0
- package/dist/http/auth/md4.d.ts +13 -0
- package/dist/http/auth/md4.js +81 -0
- package/dist/http/auth/ntlm-transport.d.ts +61 -0
- package/dist/http/auth/ntlm-transport.js +97 -0
- package/dist/http/auth/ntlm.d.ts +190 -0
- package/dist/http/auth/ntlm.js +377 -0
- package/dist/http/client.d.ts +73 -0
- package/dist/http/client.js +403 -0
- package/dist/http/curl-flags.d.ts +15 -0
- package/dist/http/curl-flags.js +95 -0
- package/dist/http/curl.d.ts +94 -0
- package/dist/http/curl.js +245 -0
- package/dist/http/decompress.d.ts +7 -0
- package/dist/http/decompress.js +22 -0
- package/dist/http/errors.d.ts +22 -0
- package/dist/http/errors.js +144 -0
- package/dist/http/failed-request.d.ts +27 -0
- package/dist/http/failed-request.js +48 -0
- package/dist/http/headers.d.ts +15 -0
- package/dist/http/headers.js +50 -0
- package/dist/http/heredoc.d.ts +25 -0
- package/dist/http/heredoc.js +74 -0
- package/dist/http/proxy.d.ts +103 -0
- package/dist/http/proxy.js +168 -0
- package/dist/http/raw-capture.d.ts +23 -0
- package/dist/http/raw-capture.js +57 -0
- package/dist/http/timings.d.ts +79 -0
- package/dist/http/timings.js +212 -0
- package/dist/http/tls.d.ts +111 -0
- package/dist/http/tls.js +167 -0
- package/dist/http/types.d.ts +125 -0
- package/dist/http/types.js +6 -0
- package/dist/import-detect.d.ts +26 -0
- package/dist/import-detect.js +169 -0
- package/dist/import.d.ts +20 -0
- package/dist/import.js +163 -0
- package/dist/index.d.ts +272 -0
- package/dist/index.js +157 -0
- package/dist/json/cursor.d.ts +43 -0
- package/dist/json/cursor.js +168 -0
- package/dist/operations.d.ts +12 -0
- package/dist/operations.js +52 -0
- package/dist/project/attachments-cache.d.ts +80 -0
- package/dist/project/attachments-cache.js +186 -0
- package/dist/project/endpoints.d.ts +23 -0
- package/dist/project/endpoints.js +47 -0
- package/dist/project/environments.d.ts +68 -0
- package/dist/project/environments.js +124 -0
- package/dist/project/fs.d.ts +45 -0
- package/dist/project/fs.js +78 -0
- package/dist/project/history.d.ts +171 -0
- package/dist/project/history.js +179 -0
- package/dist/project/keystores.d.ts +24 -0
- package/dist/project/keystores.js +66 -0
- package/dist/project/load.d.ts +44 -0
- package/dist/project/load.js +634 -0
- package/dist/project/migrate.d.ts +27 -0
- package/dist/project/migrate.js +46 -0
- package/dist/project/model.d.ts +401 -0
- package/dist/project/model.js +126 -0
- package/dist/project/paths.d.ts +134 -0
- package/dist/project/paths.js +259 -0
- package/dist/project/preferences.d.ts +318 -0
- package/dist/project/preferences.js +239 -0
- package/dist/project/properties.d.ts +97 -0
- package/dist/project/properties.js +356 -0
- package/dist/project/save.d.ts +65 -0
- package/dist/project/save.js +295 -0
- package/dist/project/schema.d.ts +1329 -0
- package/dist/project/schema.js +737 -0
- package/dist/project/serialize.d.ts +42 -0
- package/dist/project/serialize.js +385 -0
- package/dist/project/wss-configs.d.ts +40 -0
- package/dist/project/wss-configs.js +142 -0
- package/dist/project/yaml.d.ts +17 -0
- package/dist/project/yaml.js +39 -0
- package/dist/redact/index.d.ts +77 -0
- package/dist/redact/index.js +328 -0
- package/dist/redact/literal.d.ts +12 -0
- package/dist/redact/literal.js +68 -0
- package/dist/rest/auth.d.ts +53 -0
- package/dist/rest/auth.js +80 -0
- package/dist/rest/body.d.ts +61 -0
- package/dist/rest/body.js +184 -0
- package/dist/rest/browser.d.ts +12 -0
- package/dist/rest/browser.js +11 -0
- package/dist/rest/cookies.d.ts +41 -0
- package/dist/rest/cookies.js +102 -0
- package/dist/rest/curl.d.ts +75 -0
- package/dist/rest/curl.js +417 -0
- package/dist/rest/expand.d.ts +35 -0
- package/dist/rest/expand.js +104 -0
- package/dist/rest/model.d.ts +247 -0
- package/dist/rest/model.js +118 -0
- package/dist/rest/oauth2.d.ts +118 -0
- package/dist/rest/oauth2.js +212 -0
- package/dist/rest/openapi/cache.d.ts +54 -0
- package/dist/rest/openapi/cache.js +128 -0
- package/dist/rest/openapi/import.d.ts +67 -0
- package/dist/rest/openapi/import.js +91 -0
- package/dist/rest/openapi/map.d.ts +102 -0
- package/dist/rest/openapi/map.js +477 -0
- package/dist/rest/openapi/model.d.ts +203 -0
- package/dist/rest/openapi/model.js +37 -0
- package/dist/rest/openapi/parse.d.ts +44 -0
- package/dist/rest/openapi/parse.js +1530 -0
- package/dist/rest/openapi/refs.d.ts +63 -0
- package/dist/rest/openapi/refs.js +258 -0
- package/dist/rest/openapi/sample.d.ts +68 -0
- package/dist/rest/openapi/sample.js +336 -0
- package/dist/rest/postman/import.d.ts +21 -0
- package/dist/rest/postman/import.js +47 -0
- package/dist/rest/postman/index.d.ts +7 -0
- package/dist/rest/postman/index.js +7 -0
- package/dist/rest/postman/map.d.ts +28 -0
- package/dist/rest/postman/map.js +427 -0
- package/dist/rest/postman/model.d.ts +118 -0
- package/dist/rest/postman/model.js +7 -0
- package/dist/rest/postman/parse.d.ts +29 -0
- package/dist/rest/postman/parse.js +518 -0
- package/dist/rest/response.d.ts +72 -0
- package/dist/rest/response.js +221 -0
- package/dist/rest/send.d.ts +102 -0
- package/dist/rest/send.js +148 -0
- package/dist/rest/url.d.ts +92 -0
- package/dist/rest/url.js +213 -0
- package/dist/run/effective-auth.d.ts +10 -0
- package/dist/run/effective-auth.js +19 -0
- package/dist/run/index.d.ts +8 -0
- package/dist/run/index.js +4 -0
- package/dist/run/prepare.d.ts +43 -0
- package/dist/run/prepare.js +280 -0
- package/dist/run/run.d.ts +53 -0
- package/dist/run/run.js +223 -0
- package/dist/run/secret-needs.d.ts +13 -0
- package/dist/run/secret-needs.js +125 -0
- package/dist/run/select.d.ts +34 -0
- package/dist/run/select.js +76 -0
- package/dist/secrets/env-names.d.ts +27 -0
- package/dist/secrets/env-names.js +40 -0
- package/dist/secrets/resolve.d.ts +58 -0
- package/dist/secrets/resolve.js +136 -0
- package/dist/send-options.d.ts +141 -0
- package/dist/send-options.js +228 -0
- package/dist/send.d.ts +53 -0
- package/dist/send.js +210 -0
- package/dist/soap/body-builder.d.ts +38 -0
- package/dist/soap/body-builder.js +250 -0
- package/dist/soap/build-problems.d.ts +12 -0
- package/dist/soap/build-problems.js +2 -0
- package/dist/soap/charset.d.ts +23 -0
- package/dist/soap/charset.js +47 -0
- package/dist/soap/envelope.d.ts +44 -0
- package/dist/soap/envelope.js +76 -0
- package/dist/soap/fault.d.ts +46 -0
- package/dist/soap/fault.js +129 -0
- package/dist/soap/form-request.d.ts +34 -0
- package/dist/soap/form-request.js +251 -0
- package/dist/soap/legacy-project/definition-fetcher.d.ts +21 -0
- package/dist/soap/legacy-project/definition-fetcher.js +43 -0
- package/dist/soap/legacy-project/format.d.ts +18 -0
- package/dist/soap/legacy-project/format.js +24 -0
- package/dist/soap/legacy-project/import.d.ts +21 -0
- package/dist/soap/legacy-project/import.js +46 -0
- package/dist/soap/legacy-project/index.d.ts +9 -0
- package/dist/soap/legacy-project/index.js +5 -0
- package/dist/soap/legacy-project/map.d.ts +91 -0
- package/dist/soap/legacy-project/map.js +290 -0
- package/dist/soap/legacy-project/model.d.ts +98 -0
- package/dist/soap/legacy-project/model.js +5 -0
- package/dist/soap/legacy-project/parse.d.ts +16 -0
- package/dist/soap/legacy-project/parse.js +325 -0
- package/dist/soap/mime/cid-scan.d.ts +36 -0
- package/dist/soap/mime/cid-scan.js +52 -0
- package/dist/soap/mime/inline-files.d.ts +39 -0
- package/dist/soap/mime/inline-files.js +71 -0
- package/dist/soap/mime/mtom.d.ts +74 -0
- package/dist/soap/mime/mtom.js +134 -0
- package/dist/soap/mime/multipart.d.ts +66 -0
- package/dist/soap/mime/multipart.js +329 -0
- package/dist/soap/mime/send-pipeline.d.ts +61 -0
- package/dist/soap/mime/send-pipeline.js +145 -0
- package/dist/soap/mime/swa.d.ts +45 -0
- package/dist/soap/mime/swa.js +62 -0
- package/dist/soap/mime/types.d.ts +69 -0
- package/dist/soap/mime/types.js +10 -0
- package/dist/soap/namespace-scope.d.ts +32 -0
- package/dist/soap/namespace-scope.js +85 -0
- package/dist/soap/prefixes.d.ts +24 -0
- package/dist/soap/prefixes.js +70 -0
- package/dist/soap/recreate.d.ts +28 -0
- package/dist/soap/recreate.js +168 -0
- package/dist/soap/request-builder.d.ts +63 -0
- package/dist/soap/request-builder.js +161 -0
- package/dist/soap/response-parser.d.ts +29 -0
- package/dist/soap/response-parser.js +71 -0
- package/dist/soap/soap-action.d.ts +31 -0
- package/dist/soap/soap-action.js +28 -0
- package/dist/soap/transforms.d.ts +52 -0
- package/dist/soap/transforms.js +164 -0
- package/dist/types.d.ts +307 -0
- package/dist/types.js +6 -0
- package/dist/validate/index.d.ts +61 -0
- package/dist/validate/index.js +72 -0
- package/dist/validate/schema-file-set.d.ts +51 -0
- package/dist/validate/schema-file-set.js +288 -0
- package/dist/validate/schema-validator.d.ts +53 -0
- package/dist/validate/schema-validator.js +251 -0
- package/dist/validate/soap-structure.d.ts +34 -0
- package/dist/validate/soap-structure.js +255 -0
- package/dist/validate/types.d.ts +47 -0
- package/dist/validate/types.js +8 -0
- package/dist/validate/wsi/assertions/helpers.d.ts +145 -0
- package/dist/validate/wsi/assertions/helpers.js +387 -0
- package/dist/validate/wsi/assertions/index.d.ts +44 -0
- package/dist/validate/wsi/assertions/index.js +77 -0
- package/dist/validate/wsi/assertions/message/helpers.d.ts +63 -0
- package/dist/validate/wsi/assertions/message/helpers.js +168 -0
- package/dist/validate/wsi/assertions/message/index.d.ts +39 -0
- package/dist/validate/wsi/assertions/message/index.js +62 -0
- package/dist/validate/wsi/assertions/message/r1001.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1001.js +38 -0
- package/dist/validate/wsi/assertions/message/r1003.d.ts +14 -0
- package/dist/validate/wsi/assertions/message/r1003.js +45 -0
- package/dist/validate/wsi/assertions/message/r1005.d.ts +12 -0
- package/dist/validate/wsi/assertions/message/r1005.js +37 -0
- package/dist/validate/wsi/assertions/message/r1006.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1006.js +49 -0
- package/dist/validate/wsi/assertions/message/r1007.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1007.js +30 -0
- package/dist/validate/wsi/assertions/message/r1011.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1011.js +33 -0
- package/dist/validate/wsi/assertions/message/r1012.d.ts +13 -0
- package/dist/validate/wsi/assertions/message/r1012.js +37 -0
- package/dist/validate/wsi/assertions/message/r1013.d.ts +9 -0
- package/dist/validate/wsi/assertions/message/r1013.js +42 -0
- package/dist/validate/wsi/assertions/message/r1014.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1014.js +30 -0
- package/dist/validate/wsi/assertions/message/r1015.d.ts +12 -0
- package/dist/validate/wsi/assertions/message/r1015.js +36 -0
- package/dist/validate/wsi/assertions/message/r1017.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1017.js +30 -0
- package/dist/validate/wsi/assertions/message/r1100.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1100.js +39 -0
- package/dist/validate/wsi/assertions/message/r1101.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1101.js +37 -0
- package/dist/validate/wsi/assertions/message/r1102.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1102.js +41 -0
- package/dist/validate/wsi/assertions/message/r1103.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1103.js +28 -0
- package/dist/validate/wsi/assertions/message/r1107.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1107.js +38 -0
- package/dist/validate/wsi/assertions/message/r1109.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1109.js +32 -0
- package/dist/validate/wsi/assertions/message/r1124.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1124.js +31 -0
- package/dist/validate/wsi/assertions/message/r1132.d.ts +9 -0
- package/dist/validate/wsi/assertions/message/r1132.js +23 -0
- package/dist/validate/wsi/assertions/message/r1140.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1140.js +42 -0
- package/dist/validate/wsi/assertions/message/r1141.d.ts +10 -0
- package/dist/validate/wsi/assertions/message/r1141.js +32 -0
- package/dist/validate/wsi/assertions/message/r2113.d.ts +11 -0
- package/dist/validate/wsi/assertions/message/r2113.js +33 -0
- package/dist/validate/wsi/assertions/message/r2211.d.ts +7 -0
- package/dist/validate/wsi/assertions/message/r2211.js +42 -0
- package/dist/validate/wsi/assertions/r2001.d.ts +15 -0
- package/dist/validate/wsi/assertions/r2001.js +47 -0
- package/dist/validate/wsi/assertions/r2002.d.ts +11 -0
- package/dist/validate/wsi/assertions/r2002.js +38 -0
- package/dist/validate/wsi/assertions/r2003.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2003.js +32 -0
- package/dist/validate/wsi/assertions/r2005.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2005.js +40 -0
- package/dist/validate/wsi/assertions/r2101.d.ts +14 -0
- package/dist/validate/wsi/assertions/r2101.js +65 -0
- package/dist/validate/wsi/assertions/r2102.d.ts +10 -0
- package/dist/validate/wsi/assertions/r2102.js +41 -0
- package/dist/validate/wsi/assertions/r2105.d.ts +8 -0
- package/dist/validate/wsi/assertions/r2105.js +39 -0
- package/dist/validate/wsi/assertions/r2110.d.ts +8 -0
- package/dist/validate/wsi/assertions/r2110.js +38 -0
- package/dist/validate/wsi/assertions/r2111.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2111.js +30 -0
- package/dist/validate/wsi/assertions/r2112.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2112.js +35 -0
- package/dist/validate/wsi/assertions/r2201.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2201.js +28 -0
- package/dist/validate/wsi/assertions/r2203.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2203.js +30 -0
- package/dist/validate/wsi/assertions/r2204.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2204.js +29 -0
- package/dist/validate/wsi/assertions/r2205.d.ts +8 -0
- package/dist/validate/wsi/assertions/r2205.js +46 -0
- package/dist/validate/wsi/assertions/r2206.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2206.js +36 -0
- package/dist/validate/wsi/assertions/r2209.d.ts +12 -0
- package/dist/validate/wsi/assertions/r2209.js +37 -0
- package/dist/validate/wsi/assertions/r2210.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2210.js +30 -0
- package/dist/validate/wsi/assertions/r2303.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2303.js +44 -0
- package/dist/validate/wsi/assertions/r2304.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2304.js +32 -0
- package/dist/validate/wsi/assertions/r2401.d.ts +12 -0
- package/dist/validate/wsi/assertions/r2401.js +31 -0
- package/dist/validate/wsi/assertions/r2701.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2701.js +28 -0
- package/dist/validate/wsi/assertions/r2702.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2702.js +26 -0
- package/dist/validate/wsi/assertions/r2705.d.ts +11 -0
- package/dist/validate/wsi/assertions/r2705.js +31 -0
- package/dist/validate/wsi/assertions/r2706.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2706.js +29 -0
- package/dist/validate/wsi/assertions/r2710.d.ts +13 -0
- package/dist/validate/wsi/assertions/r2710.js +37 -0
- package/dist/validate/wsi/assertions/r2716.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2716.js +29 -0
- package/dist/validate/wsi/assertions/r2717.d.ts +9 -0
- package/dist/validate/wsi/assertions/r2717.js +31 -0
- package/dist/validate/wsi/assertions/r2718.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2718.js +41 -0
- package/dist/validate/wsi/assertions/r2720.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2720.js +29 -0
- package/dist/validate/wsi/assertions/r2721.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2721.js +27 -0
- package/dist/validate/wsi/assertions/r2722.d.ts +6 -0
- package/dist/validate/wsi/assertions/r2722.js +29 -0
- package/dist/validate/wsi/assertions/r2801.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2801.js +39 -0
- package/dist/validate/wsi/assertions/r2803.d.ts +7 -0
- package/dist/validate/wsi/assertions/r2803.js +29 -0
- package/dist/validate/wsi/docs.d.ts +29 -0
- package/dist/validate/wsi/docs.js +167 -0
- package/dist/validate/wsi/index.d.ts +16 -0
- package/dist/validate/wsi/index.js +11 -0
- package/dist/validate/wsi/report-html.d.ts +36 -0
- package/dist/validate/wsi/report-html.js +135 -0
- package/dist/validate/wsi/run-message.d.ts +50 -0
- package/dist/validate/wsi/run-message.js +190 -0
- package/dist/validate/wsi/run-wsdl.d.ts +48 -0
- package/dist/validate/wsi/run-wsdl.js +99 -0
- package/dist/validate/wsi/types.d.ts +173 -0
- package/dist/validate/wsi/types.js +17 -0
- package/dist/workspace/commit-message.d.ts +47 -0
- package/dist/workspace/commit-message.js +195 -0
- package/dist/workspace/environments.d.ts +79 -0
- package/dist/workspace/environments.js +115 -0
- package/dist/workspace/index.d.ts +28 -0
- package/dist/workspace/index.js +19 -0
- package/dist/workspace/load.d.ts +45 -0
- package/dist/workspace/load.js +155 -0
- package/dist/workspace/local-state.d.ts +37 -0
- package/dist/workspace/local-state.js +59 -0
- package/dist/workspace/migrate.d.ts +38 -0
- package/dist/workspace/migrate.js +50 -0
- package/dist/workspace/model.d.ts +86 -0
- package/dist/workspace/model.js +54 -0
- package/dist/workspace/paths.d.ts +64 -0
- package/dist/workspace/paths.js +97 -0
- package/dist/workspace/reidentify.d.ts +22 -0
- package/dist/workspace/reidentify.js +122 -0
- package/dist/workspace/save.d.ts +31 -0
- package/dist/workspace/save.js +84 -0
- package/dist/workspace/schema.d.ts +93 -0
- package/dist/workspace/schema.js +115 -0
- package/dist/workspace/serialize.d.ts +24 -0
- package/dist/workspace/serialize.js +60 -0
- package/dist/workspace/share.d.ts +52 -0
- package/dist/workspace/share.js +89 -0
- package/dist/ws/browser.d.ts +13 -0
- package/dist/ws/browser.js +11 -0
- package/dist/ws/call.d.ts +53 -0
- package/dist/ws/call.js +106 -0
- package/dist/ws/command.d.ts +19 -0
- package/dist/ws/command.js +28 -0
- package/dist/ws/expand.d.ts +38 -0
- package/dist/ws/expand.js +76 -0
- package/dist/ws/model.d.ts +191 -0
- package/dist/ws/model.js +83 -0
- package/dist/ws/pretty.d.ts +12 -0
- package/dist/ws/pretty.js +25 -0
- package/dist/ws/session.d.ts +50 -0
- package/dist/ws/session.js +333 -0
- package/dist/ws/shape.d.ts +18 -0
- package/dist/ws/shape.js +28 -0
- package/dist/ws/transcript.d.ts +14 -0
- package/dist/ws/transcript.js +29 -0
- package/dist/ws/url.d.ts +3 -0
- package/dist/ws/url.js +44 -0
- package/dist/wsa/headers.d.ts +78 -0
- package/dist/wsa/headers.js +244 -0
- package/dist/wsa/model.d.ts +66 -0
- package/dist/wsa/model.js +52 -0
- package/dist/wsa/policy-detect.d.ts +81 -0
- package/dist/wsa/policy-detect.js +245 -0
- package/dist/wsdl/cache-naming.d.ts +39 -0
- package/dist/wsdl/cache-naming.js +90 -0
- package/dist/wsdl/cache.d.ts +48 -0
- package/dist/wsdl/cache.js +141 -0
- package/dist/wsdl/docs-generator.d.ts +47 -0
- package/dist/wsdl/docs-generator.js +439 -0
- package/dist/wsdl/dom-utils.d.ts +15 -0
- package/dist/wsdl/dom-utils.js +50 -0
- package/dist/wsdl/export-definition.d.ts +38 -0
- package/dist/wsdl/export-definition.js +100 -0
- package/dist/wsdl/fetch.d.ts +13 -0
- package/dist/wsdl/fetch.js +60 -0
- package/dist/wsdl/merge.d.ts +17 -0
- package/dist/wsdl/merge.js +57 -0
- package/dist/wsdl/model.d.ts +176 -0
- package/dist/wsdl/model.js +17 -0
- package/dist/wsdl/parse-binding.d.ts +6 -0
- package/dist/wsdl/parse-binding.js +150 -0
- package/dist/wsdl/parse-wsdl.d.ts +47 -0
- package/dist/wsdl/parse-wsdl.js +161 -0
- package/dist/wsdl/qname.d.ts +28 -0
- package/dist/wsdl/qname.js +41 -0
- package/dist/wsdl/ref-policy.d.ts +54 -0
- package/dist/wsdl/ref-policy.js +87 -0
- package/dist/wsdl/resolver.d.ts +81 -0
- package/dist/wsdl/resolver.js +276 -0
- package/dist/wsdl/update-definition.d.ts +106 -0
- package/dist/wsdl/update-definition.js +314 -0
- package/dist/wss/apply.d.ts +40 -0
- package/dist/wss/apply.js +212 -0
- package/dist/wss/c14n-prefixes.d.ts +27 -0
- package/dist/wss/c14n-prefixes.js +95 -0
- package/dist/wss/incoming/decrypt.d.ts +35 -0
- package/dist/wss/incoming/decrypt.js +57 -0
- package/dist/wss/incoming/index.d.ts +56 -0
- package/dist/wss/incoming/index.js +189 -0
- package/dist/wss/incoming/verify.d.ts +74 -0
- package/dist/wss/incoming/verify.js +440 -0
- package/dist/wss/key-identifiers.d.ts +76 -0
- package/dist/wss/key-identifiers.js +139 -0
- package/dist/wss/keystore/certificate.d.ts +45 -0
- package/dist/wss/keystore/certificate.js +134 -0
- package/dist/wss/keystore/index.d.ts +50 -0
- package/dist/wss/keystore/index.js +80 -0
- package/dist/wss/keystore/model.d.ts +83 -0
- package/dist/wss/keystore/model.js +27 -0
- package/dist/wss/keystore/pem.d.ts +21 -0
- package/dist/wss/keystore/pem.js +140 -0
- package/dist/wss/keystore/pkcs12.d.ts +21 -0
- package/dist/wss/keystore/pkcs12.js +125 -0
- package/dist/wss/model.d.ts +160 -0
- package/dist/wss/model.js +37 -0
- package/dist/wss/outgoing/encryption.d.ts +76 -0
- package/dist/wss/outgoing/encryption.js +618 -0
- package/dist/wss/outgoing/signature.d.ts +73 -0
- package/dist/wss/outgoing/signature.js +239 -0
- package/dist/wss/outgoing/timestamp.d.ts +29 -0
- package/dist/wss/outgoing/timestamp.js +39 -0
- package/dist/wss/outgoing/username-token.d.ts +36 -0
- package/dist/wss/outgoing/username-token.js +68 -0
- package/dist/wss/security-header.d.ts +31 -0
- package/dist/wss/security-header.js +83 -0
- package/dist/xml/index.d.ts +7 -0
- package/dist/xml/index.js +7 -0
- package/dist/xml/namespaces.d.ts +36 -0
- package/dist/xml/namespaces.js +60 -0
- package/dist/xml/parse.d.ts +79 -0
- package/dist/xml/parse.js +109 -0
- package/dist/xml/positions.d.ts +26 -0
- package/dist/xml/positions.js +71 -0
- package/dist/xml/pretty.d.ts +37 -0
- package/dist/xml/pretty.js +137 -0
- package/dist/xml/serialize.d.ts +6 -0
- package/dist/xml/serialize.js +8 -0
- package/dist/xml/tolerant-tree.d.ts +56 -0
- package/dist/xml/tolerant-tree.js +134 -0
- package/dist/xpath/evaluate-async.d.ts +31 -0
- package/dist/xpath/evaluate-async.js +81 -0
- package/dist/xpath/evaluate.d.ts +98 -0
- package/dist/xpath/evaluate.js +340 -0
- package/dist/xpath/jsonpath.d.ts +40 -0
- package/dist/xpath/jsonpath.js +109 -0
- package/dist/xpath/namespaces.d.ts +29 -0
- package/dist/xpath/namespaces.js +101 -0
- package/dist/xpath/worker.d.ts +7 -0
- package/dist/xpath/worker.js +26 -0
- package/dist/xsd/builtins.d.ts +36 -0
- package/dist/xsd/builtins.js +108 -0
- package/dist/xsd/check-references.d.ts +25 -0
- package/dist/xsd/check-references.js +145 -0
- package/dist/xsd/form-edits.d.ts +57 -0
- package/dist/xsd/form-edits.js +153 -0
- package/dist/xsd/form-model.d.ts +153 -0
- package/dist/xsd/form-model.js +691 -0
- package/dist/xsd/locate.d.ts +42 -0
- package/dist/xsd/locate.js +249 -0
- package/dist/xsd/model.d.ts +249 -0
- package/dist/xsd/model.js +1 -0
- package/dist/xsd/parse-particles.d.ts +48 -0
- package/dist/xsd/parse-particles.js +320 -0
- package/dist/xsd/parse-schema.d.ts +21 -0
- package/dist/xsd/parse-schema.js +143 -0
- package/dist/xsd/resolve-content.d.ts +18 -0
- package/dist/xsd/resolve-content.js +242 -0
- package/dist/xsd/sample-generator.d.ts +51 -0
- package/dist/xsd/sample-generator.js +291 -0
- package/dist/xsd/sample-types.d.ts +21 -0
- package/dist/xsd/sample-types.js +69 -0
- package/dist/xsd/sample-values.d.ts +54 -0
- package/dist/xsd/sample-values.js +267 -0
- package/dist/xsd/schema-set.d.ts +51 -0
- package/dist/xsd/schema-set.js +203 -0
- package/dist/xsd/xml-scan.d.ts +64 -0
- package/dist/xsd/xml-scan.js +286 -0
- package/dist/xsd/xml-writer.d.ts +56 -0
- package/dist/xsd/xml-writer.js +103 -0
- package/package.json +69 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { attributesOf, envelopeElements, envelopes, messageFinding } from './helpers.js';
|
|
3
|
+
/** The `soap:mustUnderstand` values each SOAP version admits. */
|
|
4
|
+
const ALLOWED = {
|
|
5
|
+
// SOAP 1.1 types the attribute as xsd:boolean restricted to the two digits.
|
|
6
|
+
'1.1': ['0', '1'],
|
|
7
|
+
// SOAP 1.2 types it as a plain xsd:boolean, so the lexical forms of true/false are all legal.
|
|
8
|
+
'1.2': ['0', '1', 'true', 'false'],
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* BP 1.1 R1013: `soap:mustUnderstand` carries a value the SOAP version admits. A receiver that
|
|
12
|
+
* cannot parse the flag cannot tell a header block it may ignore from one it must reject.
|
|
13
|
+
*
|
|
14
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
15
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
16
|
+
*/
|
|
17
|
+
export const R1013 = {
|
|
18
|
+
id: 'R1013',
|
|
19
|
+
title: 'soap:mustUnderstand carries a value the SOAP version admits',
|
|
20
|
+
level: 'REQUIRED',
|
|
21
|
+
section: '3.2 SOAP Processing Model',
|
|
22
|
+
unverifiedId: true,
|
|
23
|
+
check(context) {
|
|
24
|
+
const findings = [];
|
|
25
|
+
let attributes = 0;
|
|
26
|
+
const allowed = ALLOWED[context.binding.soapVersion];
|
|
27
|
+
for (const view of envelopes(context)) {
|
|
28
|
+
for (const element of envelopeElements(view)) {
|
|
29
|
+
for (const attribute of attributesOf(element)) {
|
|
30
|
+
if (attribute.namespaceUri !== view.soapNs || attribute.localName !== 'mustUnderstand') {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
attributes += 1;
|
|
34
|
+
if (!allowed.includes(attribute.value)) {
|
|
35
|
+
findings.push(messageFinding(view, element, `soap:mustUnderstand="${attribute.value}" on "${element.nodeName}"; SOAP ${context.binding.soapVersion} allows ${allowed.join(', ')}`));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return attributes === 0 ? NOT_APPLICABLE : findings;
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1014: the children of `soap:Body` are namespace-qualified. The body child is what a
|
|
4
|
+
* receiver dispatches on, and an unqualified name cannot be matched against a global element
|
|
5
|
+
* declaration or an rpc operation wrapper.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1014: WsiMessageAssertion;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { bodyChildren, envelopes, messageFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1014: the children of `soap:Body` are namespace-qualified. The body child is what a
|
|
5
|
+
* receiver dispatches on, and an unqualified name cannot be matched against a global element
|
|
6
|
+
* declaration or an rpc operation wrapper.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1014 = {
|
|
12
|
+
id: 'R1014',
|
|
13
|
+
title: 'The children of soap:Body are namespace-qualified',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.1 XML Representation of SOAP Messages',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
const findings = [];
|
|
19
|
+
let children = 0;
|
|
20
|
+
for (const view of envelopes(context)) {
|
|
21
|
+
for (const child of bodyChildren(view)) {
|
|
22
|
+
children += 1;
|
|
23
|
+
if (child.namespaceURI === null || child.namespaceURI === '') {
|
|
24
|
+
findings.push(messageFinding(view, child, `the soap:Body child "${child.nodeName}" is not namespace-qualified`));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return children === 0 ? NOT_APPLICABLE : findings;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1015: a message bound with `use="literal"` carries no `soap:encodingStyle` attribute.
|
|
4
|
+
* A literal body is an instance of a schema, not a graph serialization, so naming an encoding for
|
|
5
|
+
* it is meaningless — and a receiver that honoured it would read the body differently.
|
|
6
|
+
*
|
|
7
|
+
* Not applicable to an `encoded` binding, where naming the encoding is exactly the point.
|
|
8
|
+
*
|
|
9
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
10
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
11
|
+
*/
|
|
12
|
+
export declare const R1015: WsiMessageAssertion;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { attributesOf, envelopeElements, envelopes, messageFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1015: a message bound with `use="literal"` carries no `soap:encodingStyle` attribute.
|
|
5
|
+
* A literal body is an instance of a schema, not a graph serialization, so naming an encoding for
|
|
6
|
+
* it is meaningless — and a receiver that honoured it would read the body differently.
|
|
7
|
+
*
|
|
8
|
+
* Not applicable to an `encoded` binding, where naming the encoding is exactly the point.
|
|
9
|
+
*
|
|
10
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
11
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
12
|
+
*/
|
|
13
|
+
export const R1015 = {
|
|
14
|
+
id: 'R1015',
|
|
15
|
+
title: 'A literal message carries no soap:encodingStyle attribute',
|
|
16
|
+
level: 'REQUIRED',
|
|
17
|
+
section: '3.1 XML Representation of SOAP Messages',
|
|
18
|
+
unverifiedId: true,
|
|
19
|
+
check(context) {
|
|
20
|
+
if (context.binding.use !== 'literal') {
|
|
21
|
+
return NOT_APPLICABLE;
|
|
22
|
+
}
|
|
23
|
+
const findings = [];
|
|
24
|
+
const views = envelopes(context);
|
|
25
|
+
for (const view of views) {
|
|
26
|
+
for (const element of envelopeElements(view)) {
|
|
27
|
+
for (const attribute of attributesOf(element)) {
|
|
28
|
+
if (attribute.namespaceUri === view.soapNs && attribute.localName === 'encodingStyle') {
|
|
29
|
+
findings.push(messageFinding(view, element, `"${element.nodeName}" carries soap:encodingStyle="${attribute.value}" in a ${context.binding.style}/literal message`));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return views.length === 0 ? NOT_APPLICABLE : findings;
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1017: every `soap:Header` block is namespace-qualified. A header block is addressed by
|
|
4
|
+
* its qualified name; an unqualified one belongs to no module and cannot be targeted by a
|
|
5
|
+
* `mustUnderstand` contract.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1017: WsiMessageAssertion;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { envelopes, headerBlocks, messageFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1017: every `soap:Header` block is namespace-qualified. A header block is addressed by
|
|
5
|
+
* its qualified name; an unqualified one belongs to no module and cannot be targeted by a
|
|
6
|
+
* `mustUnderstand` contract.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1017 = {
|
|
12
|
+
id: 'R1017',
|
|
13
|
+
title: 'Every soap:Header block is namespace-qualified',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.2 SOAP Processing Model',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
const findings = [];
|
|
19
|
+
let blocks = 0;
|
|
20
|
+
for (const view of envelopes(context)) {
|
|
21
|
+
for (const block of headerBlocks(view)) {
|
|
22
|
+
blocks += 1;
|
|
23
|
+
if (block.namespaceURI === null || block.namespaceURI === '') {
|
|
24
|
+
findings.push(messageFinding(view, block, `the soap:Header block "${block.nodeName}" is not namespace-qualified`));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return blocks === 0 ? NOT_APPLICABLE : findings;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1100: a SOAP 1.1 `soap:Fault` has no element children other than `faultcode`,
|
|
4
|
+
* `faultstring`, `faultactor` and `detail`. Application data belongs inside `detail`, where a
|
|
5
|
+
* receiver knows to look for it.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1100: WsiMessageAssertion;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { elementChildren, envelopes, faultOf, messageFinding } from './helpers.js';
|
|
3
|
+
/** The only children SOAP 1.1 defines for `soap:Fault`. */
|
|
4
|
+
const FAULT_CHILDREN = ['faultcode', 'faultstring', 'faultactor', 'detail'];
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R1100: a SOAP 1.1 `soap:Fault` has no element children other than `faultcode`,
|
|
7
|
+
* `faultstring`, `faultactor` and `detail`. Application data belongs inside `detail`, where a
|
|
8
|
+
* receiver knows to look for it.
|
|
9
|
+
*
|
|
10
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
11
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
12
|
+
*/
|
|
13
|
+
export const R1100 = {
|
|
14
|
+
id: 'R1100',
|
|
15
|
+
title: 'soap:Fault has only the four children SOAP 1.1 defines',
|
|
16
|
+
level: 'REQUIRED',
|
|
17
|
+
section: '3.5 SOAP Faults',
|
|
18
|
+
unverifiedId: true,
|
|
19
|
+
check(context) {
|
|
20
|
+
if (context.binding.soapVersion !== '1.1') {
|
|
21
|
+
return NOT_APPLICABLE;
|
|
22
|
+
}
|
|
23
|
+
const findings = [];
|
|
24
|
+
let faults = 0;
|
|
25
|
+
for (const view of envelopes(context)) {
|
|
26
|
+
const fault = faultOf(view);
|
|
27
|
+
if (fault === undefined) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
faults += 1;
|
|
31
|
+
for (const child of elementChildren(fault)) {
|
|
32
|
+
if (!FAULT_CHILDREN.includes(child.localName ?? child.nodeName)) {
|
|
33
|
+
findings.push(messageFinding(view, child, `soap:Fault has the unexpected child "${child.nodeName}"`));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return faults === 0 ? NOT_APPLICABLE : findings;
|
|
38
|
+
},
|
|
39
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1101: the children of a SOAP 1.1 `soap:Fault` are unqualified. SOAP 1.1 declares
|
|
4
|
+
* `faultcode`, `faultstring`, `faultactor` and `detail` with no target namespace, so putting them
|
|
5
|
+
* in the envelope namespace (a common mistake) produces names a receiver does not recognise.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1101: WsiMessageAssertion;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { elementChildren, envelopes, faultOf, messageFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1101: the children of a SOAP 1.1 `soap:Fault` are unqualified. SOAP 1.1 declares
|
|
5
|
+
* `faultcode`, `faultstring`, `faultactor` and `detail` with no target namespace, so putting them
|
|
6
|
+
* in the envelope namespace (a common mistake) produces names a receiver does not recognise.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1101 = {
|
|
12
|
+
id: 'R1101',
|
|
13
|
+
title: 'The children of a SOAP 1.1 soap:Fault are unqualified',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.5 SOAP Faults',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
if (context.binding.soapVersion !== '1.1') {
|
|
19
|
+
return NOT_APPLICABLE;
|
|
20
|
+
}
|
|
21
|
+
const findings = [];
|
|
22
|
+
let children = 0;
|
|
23
|
+
for (const view of envelopes(context)) {
|
|
24
|
+
const fault = faultOf(view);
|
|
25
|
+
if (fault === undefined) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
for (const child of elementChildren(fault)) {
|
|
29
|
+
children += 1;
|
|
30
|
+
if (child.namespaceURI !== null && child.namespaceURI !== '') {
|
|
31
|
+
findings.push(messageFinding(view, child, `the soap:Fault child "${child.nodeName}" is qualified ("${child.namespaceURI}"); it must be unqualified`));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return children === 0 ? NOT_APPLICABLE : findings;
|
|
36
|
+
},
|
|
37
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1102: a `faultcode` carries a QName whose prefix is declared in scope. An undeclared
|
|
4
|
+
* prefix makes the code unresolvable, and a receiver cannot tell a `Client` fault (do not retry)
|
|
5
|
+
* from a `Server` one (retry may help).
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1102: WsiMessageAssertion;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { envelopes, faultOf, inScopePrefixes, messageFinding, unqualifiedChild } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1102: a `faultcode` carries a QName whose prefix is declared in scope. An undeclared
|
|
5
|
+
* prefix makes the code unresolvable, and a receiver cannot tell a `Client` fault (do not retry)
|
|
6
|
+
* from a `Server` one (retry may help).
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1102 = {
|
|
12
|
+
id: 'R1102',
|
|
13
|
+
title: 'A faultcode is a QName whose prefix is declared in scope',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.5 SOAP Faults',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
if (context.binding.soapVersion !== '1.1') {
|
|
19
|
+
return NOT_APPLICABLE;
|
|
20
|
+
}
|
|
21
|
+
const findings = [];
|
|
22
|
+
let codes = 0;
|
|
23
|
+
for (const view of envelopes(context)) {
|
|
24
|
+
const fault = faultOf(view);
|
|
25
|
+
const code = fault === undefined ? undefined : unqualifiedChild(fault, 'faultcode');
|
|
26
|
+
if (code === undefined) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
codes += 1;
|
|
30
|
+
const value = (code.textContent ?? '').trim();
|
|
31
|
+
const colon = value.indexOf(':');
|
|
32
|
+
if (value.length === 0) {
|
|
33
|
+
findings.push(messageFinding(view, code, 'faultcode is empty'));
|
|
34
|
+
}
|
|
35
|
+
else if (colon > -1 && !inScopePrefixes(code).has(value.slice(0, colon))) {
|
|
36
|
+
findings.push(messageFinding(view, code, `faultcode "${value}" uses the prefix "${value.slice(0, colon)}", which is not declared in scope`));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return codes === 0 ? NOT_APPLICABLE : findings;
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1103: a response carrying a `soap:Fault` uses the HTTP status `500 Internal Server
|
|
4
|
+
* Error`. A fault returned with `200 OK` is indistinguishable from a successful response to any
|
|
5
|
+
* intermediary that reads only the status line.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1103: WsiMessageAssertion;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { faultOf, viewFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1103: a response carrying a `soap:Fault` uses the HTTP status `500 Internal Server
|
|
5
|
+
* Error`. A fault returned with `200 OK` is indistinguishable from a successful response to any
|
|
6
|
+
* intermediary that reads only the status line.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1103 = {
|
|
12
|
+
id: 'R1103',
|
|
13
|
+
title: 'A response carrying a soap:Fault uses HTTP status 500',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.5 SOAP Faults',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
const response = context.response;
|
|
19
|
+
if (response === undefined || faultOf(response) === undefined) {
|
|
20
|
+
return NOT_APPLICABLE;
|
|
21
|
+
}
|
|
22
|
+
const findings = [];
|
|
23
|
+
if (response.status !== 500) {
|
|
24
|
+
findings.push(viewFinding(response, `the response carries a soap:Fault but the HTTP status is ${String(response.status ?? 0)}, not 500`));
|
|
25
|
+
}
|
|
26
|
+
return findings;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1107: a fault's `detail` element carries no `soap:encodingStyle`. The detail of a
|
|
4
|
+
* literal fault is an instance of the schema the description declares, so naming an encoding for
|
|
5
|
+
* it would change how a receiver reads it.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1107: WsiMessageAssertion;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { attributesOf, envelopes, faultOf, messageFinding, unqualifiedChild } from './helpers.js';
|
|
3
|
+
import { descendants } from '../helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R1107: a fault's `detail` element carries no `soap:encodingStyle`. The detail of a
|
|
6
|
+
* literal fault is an instance of the schema the description declares, so naming an encoding for
|
|
7
|
+
* it would change how a receiver reads it.
|
|
8
|
+
*
|
|
9
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
10
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
11
|
+
*/
|
|
12
|
+
export const R1107 = {
|
|
13
|
+
id: 'R1107',
|
|
14
|
+
title: 'A fault detail carries no soap:encodingStyle',
|
|
15
|
+
level: 'REQUIRED',
|
|
16
|
+
section: '3.5 SOAP Faults',
|
|
17
|
+
unverifiedId: true,
|
|
18
|
+
check(context) {
|
|
19
|
+
const findings = [];
|
|
20
|
+
let details = 0;
|
|
21
|
+
for (const view of envelopes(context)) {
|
|
22
|
+
const fault = faultOf(view);
|
|
23
|
+
const detail = fault === undefined ? undefined : unqualifiedChild(fault, 'detail');
|
|
24
|
+
if (detail === undefined) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
details += 1;
|
|
28
|
+
for (const element of [detail, ...descendants(detail)]) {
|
|
29
|
+
for (const attribute of attributesOf(element)) {
|
|
30
|
+
if (attribute.namespaceUri === view.soapNs && attribute.localName === 'encodingStyle') {
|
|
31
|
+
findings.push(messageFinding(view, element, `"${element.nodeName}" inside soap:Fault/detail carries soap:encodingStyle="${attribute.value}"`));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return details === 0 ? NOT_APPLICABLE : findings;
|
|
37
|
+
},
|
|
38
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1109: the value of the `SOAPAction` HTTP header field is a quoted string. An empty
|
|
4
|
+
* action is the two characters `""`, not an empty header value — an unquoted action is a
|
|
5
|
+
* different string to a receiver that unquotes before comparing.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1109: WsiMessageAssertion;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { headerValue, viewFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1109: the value of the `SOAPAction` HTTP header field is a quoted string. An empty
|
|
5
|
+
* action is the two characters `""`, not an empty header value — an unquoted action is a
|
|
6
|
+
* different string to a receiver that unquotes before comparing.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1109 = {
|
|
12
|
+
id: 'R1109',
|
|
13
|
+
title: 'The SOAPAction request header is a quoted string',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.4 Use of SOAP in HTTP',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
// SOAP 1.2 carries the action as a Content-Type parameter, not a header field.
|
|
19
|
+
if (context.binding.soapVersion !== '1.1') {
|
|
20
|
+
return NOT_APPLICABLE;
|
|
21
|
+
}
|
|
22
|
+
const value = headerValue(context.request, 'soapaction');
|
|
23
|
+
if (value === undefined) {
|
|
24
|
+
return NOT_APPLICABLE;
|
|
25
|
+
}
|
|
26
|
+
const findings = [];
|
|
27
|
+
if (!/^".*"$/s.test(value)) {
|
|
28
|
+
findings.push(viewFinding(context.request, `SOAPAction: ${value} is not a quoted string (an empty action is the two characters "")`));
|
|
29
|
+
}
|
|
30
|
+
return findings;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1124: an envelope that is not a fault is returned with the HTTP status 200 ("OK") or,
|
|
4
|
+
* for a one-way message, 202 ("Accepted"). This is one of section 3.4's HTTP-status rules, which
|
|
5
|
+
* the profile makes `REQUIRED`.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1124: WsiMessageAssertion;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { faultOf, viewFinding } from './helpers.js';
|
|
3
|
+
/** The status codes a successful SOAP/HTTP response is expected to carry. */
|
|
4
|
+
const SUCCESS = [200, 202];
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R1124: an envelope that is not a fault is returned with the HTTP status 200 ("OK") or,
|
|
7
|
+
* for a one-way message, 202 ("Accepted"). This is one of section 3.4's HTTP-status rules, which
|
|
8
|
+
* the profile makes `REQUIRED`.
|
|
9
|
+
*
|
|
10
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
11
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
12
|
+
*/
|
|
13
|
+
export const R1124 = {
|
|
14
|
+
id: 'R1124',
|
|
15
|
+
title: 'A non-fault response carries HTTP status 200 or 202',
|
|
16
|
+
level: 'REQUIRED',
|
|
17
|
+
section: '3.4 Use of SOAP in HTTP',
|
|
18
|
+
unverifiedId: true,
|
|
19
|
+
check(context) {
|
|
20
|
+
const response = context.response;
|
|
21
|
+
if (response === undefined || faultOf(response) !== undefined) {
|
|
22
|
+
return NOT_APPLICABLE;
|
|
23
|
+
}
|
|
24
|
+
const findings = [];
|
|
25
|
+
const status = response.status ?? 0;
|
|
26
|
+
if (!SUCCESS.includes(status)) {
|
|
27
|
+
findings.push(viewFinding(response, `the response carries no soap:Fault but the HTTP status is ${String(status)}, not 200 or 202`));
|
|
28
|
+
}
|
|
29
|
+
return findings;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1132: an HTTP request message uses the `POST` method. The envelope is the entity body,
|
|
4
|
+
* and only `POST` carries one an origin server is required to read.
|
|
5
|
+
*
|
|
6
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
7
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
8
|
+
*/
|
|
9
|
+
export declare const R1132: WsiMessageAssertion;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { viewFinding } from './helpers.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1132: an HTTP request message uses the `POST` method. The envelope is the entity body,
|
|
4
|
+
* and only `POST` carries one an origin server is required to read.
|
|
5
|
+
*
|
|
6
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
7
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
8
|
+
*/
|
|
9
|
+
export const R1132 = {
|
|
10
|
+
id: 'R1132',
|
|
11
|
+
title: 'The HTTP request uses the POST method',
|
|
12
|
+
level: 'REQUIRED',
|
|
13
|
+
section: '3.4 Use of SOAP in HTTP',
|
|
14
|
+
unverifiedId: true,
|
|
15
|
+
check(context) {
|
|
16
|
+
const method = context.exchange.http.request.method.toUpperCase();
|
|
17
|
+
const findings = [];
|
|
18
|
+
if (method !== 'POST') {
|
|
19
|
+
findings.push(viewFinding(context.request, `the request was sent with HTTP ${method}; the profile requires POST`));
|
|
20
|
+
}
|
|
21
|
+
return findings;
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1140: a message states the media type its SOAP version's HTTP binding defines —
|
|
4
|
+
* `text/xml` for SOAP 1.1. A multipart message (MTOM or SOAP with Attachments) is not judged
|
|
5
|
+
* here: its envelope's media type is the root part's, not the message's.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1140: WsiMessageAssertion;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { headerValue, mediaTypeOf, viewFinding } from './helpers.js';
|
|
3
|
+
/** The media type each SOAP version's HTTP binding uses. */
|
|
4
|
+
const MEDIA_TYPE = {
|
|
5
|
+
'1.1': 'text/xml',
|
|
6
|
+
'1.2': 'application/soap+xml',
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* BP 1.1 R1140: a message states the media type its SOAP version's HTTP binding defines —
|
|
10
|
+
* `text/xml` for SOAP 1.1. A multipart message (MTOM or SOAP with Attachments) is not judged
|
|
11
|
+
* here: its envelope's media type is the root part's, not the message's.
|
|
12
|
+
*
|
|
13
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
14
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
15
|
+
*/
|
|
16
|
+
export const R1140 = {
|
|
17
|
+
id: 'R1140',
|
|
18
|
+
title: 'Content-Type states the media type the SOAP version defines',
|
|
19
|
+
level: 'REQUIRED',
|
|
20
|
+
section: '3.4 Use of SOAP in HTTP',
|
|
21
|
+
unverifiedId: true,
|
|
22
|
+
check(context) {
|
|
23
|
+
const findings = [];
|
|
24
|
+
const expected = MEDIA_TYPE[context.binding.soapVersion];
|
|
25
|
+
let judged = 0;
|
|
26
|
+
for (const view of context.messages) {
|
|
27
|
+
const contentType = headerValue(view, 'content-type');
|
|
28
|
+
if (contentType === undefined) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const mediaType = mediaTypeOf(contentType);
|
|
32
|
+
if (mediaType.startsWith('multipart/')) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
judged += 1;
|
|
36
|
+
if (mediaType !== expected) {
|
|
37
|
+
findings.push(viewFinding(view, `the ${view.direction} Content-Type media type is "${mediaType}"; SOAP ${context.binding.soapVersion} over HTTP uses "${expected}"`));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return judged === 0 ? NOT_APPLICABLE : findings;
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WsiMessageAssertion } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R1141: a message states a `charset` parameter on its `Content-Type`. Without it a
|
|
4
|
+
* `text/xml` entity defaults to US-ASCII under the HTTP rules while the XML declaration says
|
|
5
|
+
* UTF-8, and the two readings disagree the moment a non-ASCII character appears.
|
|
6
|
+
*
|
|
7
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
8
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
9
|
+
*/
|
|
10
|
+
export declare const R1141: WsiMessageAssertion;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../../types.js';
|
|
2
|
+
import { charsetOf, headerValue, mediaTypeOf, viewFinding } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R1141: a message states a `charset` parameter on its `Content-Type`. Without it a
|
|
5
|
+
* `text/xml` entity defaults to US-ASCII under the HTTP rules while the XML declaration says
|
|
6
|
+
* UTF-8, and the two readings disagree the moment a non-ASCII character appears.
|
|
7
|
+
*
|
|
8
|
+
* The id is a paraphrase of the requirement Wirebench implements; it could not be confirmed
|
|
9
|
+
* against the published profile, so the catalogue marks it unverified.
|
|
10
|
+
*/
|
|
11
|
+
export const R1141 = {
|
|
12
|
+
id: 'R1141',
|
|
13
|
+
title: 'Content-Type states a charset parameter',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '3.4 Use of SOAP in HTTP',
|
|
16
|
+
unverifiedId: true,
|
|
17
|
+
check(context) {
|
|
18
|
+
const findings = [];
|
|
19
|
+
let judged = 0;
|
|
20
|
+
for (const view of context.messages) {
|
|
21
|
+
const contentType = headerValue(view, 'content-type');
|
|
22
|
+
if (contentType === undefined || mediaTypeOf(contentType).startsWith('multipart/')) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
judged += 1;
|
|
26
|
+
if (charsetOf(contentType) === undefined) {
|
|
27
|
+
findings.push(viewFinding(view, `the ${view.direction} Content-Type "${contentType}" states no charset parameter`));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return judged === 0 ? NOT_APPLICABLE : findings;
|
|
31
|
+
},
|
|
32
|
+
};
|