@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,28 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { boundMessages, findingAt } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R2201: a document-literal binding "MUST, in each of its soapbind:body element(s), have at
|
|
6
|
+
* most one part listed in the parts attribute, if the parts attribute is specified" — a literal
|
|
7
|
+
* body carries exactly one child element.
|
|
8
|
+
*/
|
|
9
|
+
export const R2201 = {
|
|
10
|
+
id: 'R2201',
|
|
11
|
+
title: 'A document-literal soapbind:body lists at most one part',
|
|
12
|
+
level: 'REQUIRED',
|
|
13
|
+
section: '4.7 SOAP Binding',
|
|
14
|
+
check(context) {
|
|
15
|
+
const findings = [];
|
|
16
|
+
let bodies = 0;
|
|
17
|
+
for (const view of boundMessages(context)) {
|
|
18
|
+
if (view.style !== 'document' || view.soapBody === undefined || view.declaredParts === undefined) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
bodies += 1;
|
|
22
|
+
if (view.declaredParts.length > 1) {
|
|
23
|
+
findings.push(findingAt(view.location, view.soapBody, `soapbind:body parts="${optionalAttribute(view.soapBody, 'parts') ?? ''}" lists ${view.declaredParts.length} parts; a document-literal body may list at most one`));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return bodies === 0 ? NOT_APPLICABLE : findings;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2203: an rpc-literal binding's message parts bound to `soapbind:body` "MUST use the type
|
|
4
|
+
* attribute" — the operation wrapper supplies the element name, so the part contributes only a
|
|
5
|
+
* type.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2203: WsiAssertion;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { boundMessages, findingAt } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R2203: an rpc-literal binding's message parts bound to `soapbind:body` "MUST use the type
|
|
6
|
+
* attribute" — the operation wrapper supplies the element name, so the part contributes only a
|
|
7
|
+
* type.
|
|
8
|
+
*/
|
|
9
|
+
export const R2203 = {
|
|
10
|
+
id: 'R2203',
|
|
11
|
+
title: 'rpc-literal parts are declared with type, not element',
|
|
12
|
+
level: 'REQUIRED',
|
|
13
|
+
section: '4.7 SOAP Binding',
|
|
14
|
+
check(context) {
|
|
15
|
+
const findings = [];
|
|
16
|
+
let parts = 0;
|
|
17
|
+
for (const view of boundMessages(context)) {
|
|
18
|
+
if (view.style !== 'rpc') {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
for (const part of view.boundParts) {
|
|
22
|
+
parts += 1;
|
|
23
|
+
if (optionalAttribute(part, 'type') === undefined) {
|
|
24
|
+
findings.push(findingAt(view.location, part, `wsdl:part "${optionalAttribute(part, 'name') ?? ''}" is bound to an rpc-literal soapbind:body but does not use the type attribute`));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return parts === 0 ? NOT_APPLICABLE : findings;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2204: a document-literal binding's message parts bound to `soapbind:body` "MUST use the
|
|
4
|
+
* element attribute" — the part itself names the single global element the body carries.
|
|
5
|
+
*/
|
|
6
|
+
export declare const R2204: WsiAssertion;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { boundMessages, findingAt } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R2204: a document-literal binding's message parts bound to `soapbind:body` "MUST use the
|
|
6
|
+
* element attribute" — the part itself names the single global element the body carries.
|
|
7
|
+
*/
|
|
8
|
+
export const R2204 = {
|
|
9
|
+
id: 'R2204',
|
|
10
|
+
title: 'document-literal parts are declared with element, not type',
|
|
11
|
+
level: 'REQUIRED',
|
|
12
|
+
section: '4.7 SOAP Binding',
|
|
13
|
+
check(context) {
|
|
14
|
+
const findings = [];
|
|
15
|
+
let parts = 0;
|
|
16
|
+
for (const view of boundMessages(context)) {
|
|
17
|
+
if (view.style !== 'document') {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
for (const part of view.boundParts) {
|
|
21
|
+
parts += 1;
|
|
22
|
+
if (optionalAttribute(part, 'element') === undefined) {
|
|
23
|
+
findings.push(findingAt(view.location, part, `wsdl:part "${optionalAttribute(part, 'name') ?? ''}" is bound to a document-literal soapbind:body but does not use the element attribute`));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return parts === 0 ? NOT_APPLICABLE : findings;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2205: a description "MUST refer, in each of its soapbind:header and
|
|
4
|
+
* soapbind:headerfault elements, only to wsdl:part element(s) that have been defined using the
|
|
5
|
+
* element attribute" — a header is always a single global element. A reference that does not
|
|
6
|
+
* resolve to a part at all is left to R2720/the WSDL parser.
|
|
7
|
+
*/
|
|
8
|
+
export declare const R2205: WsiAssertion;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { bindingMessages, findPart, findingAt, referencedMessage, soapBindings, targetNamespaceOf, wsdlDocuments, } from './helpers.js';
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R2205: a description "MUST refer, in each of its soapbind:header and
|
|
7
|
+
* soapbind:headerfault elements, only to wsdl:part element(s) that have been defined using the
|
|
8
|
+
* element attribute" — a header is always a single global element. A reference that does not
|
|
9
|
+
* resolve to a part at all is left to R2720/the WSDL parser.
|
|
10
|
+
*/
|
|
11
|
+
export const R2205 = {
|
|
12
|
+
id: 'R2205',
|
|
13
|
+
title: 'soapbind:header and headerfault refer to element-declared parts',
|
|
14
|
+
level: 'REQUIRED',
|
|
15
|
+
section: '4.7 SOAP Binding',
|
|
16
|
+
check(context) {
|
|
17
|
+
const tnsByLocation = new Map(wsdlDocuments(context).map((doc) => [doc.location, targetNamespaceOf(doc.definitions)]));
|
|
18
|
+
const findings = [];
|
|
19
|
+
let references = 0;
|
|
20
|
+
for (const view of soapBindings(context)) {
|
|
21
|
+
const tns = tnsByLocation.get(view.location) ?? '';
|
|
22
|
+
for (const operation of childElements(view.binding, NS.WSDL, 'operation')) {
|
|
23
|
+
for (const message of bindingMessages(operation)) {
|
|
24
|
+
for (const header of childElements(message, view.soapNs, 'header')) {
|
|
25
|
+
for (const element of [header, ...childElements(header, view.soapNs, 'headerfault')]) {
|
|
26
|
+
const partName = optionalAttribute(element, 'part');
|
|
27
|
+
const target = referencedMessage(context, element, 'message', tns);
|
|
28
|
+
if (partName === undefined || target === undefined) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const part = findPart(target.element, partName);
|
|
32
|
+
if (part === undefined) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
references += 1;
|
|
36
|
+
if (optionalAttribute(part, 'element') === undefined) {
|
|
37
|
+
findings.push(findingAt(view.location, element, `soapbind:${element.localName ?? 'header'} refers to wsdl:part "${partName}", which is not declared with the element attribute`));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return references === 0 ? NOT_APPLICABLE : findings;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2206: a `wsdl:part` that uses the element attribute "MUST refer to a global element
|
|
4
|
+
* declaration" — the schema set must actually declare it. Parts naming a namespace the schema set
|
|
5
|
+
* knows nothing about are reported by R2101 instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2206: WsiAssertion;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { attributeQName, findingAt, messageParts, targetNamespaceOf, wsdlDocuments } from './helpers.js';
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R2206: a `wsdl:part` that uses the element attribute "MUST refer to a global element
|
|
7
|
+
* declaration" — the schema set must actually declare it. Parts naming a namespace the schema set
|
|
8
|
+
* knows nothing about are reported by R2101 instead.
|
|
9
|
+
*/
|
|
10
|
+
export const R2206 = {
|
|
11
|
+
id: 'R2206',
|
|
12
|
+
title: 'An element-declared part refers to a global element declaration',
|
|
13
|
+
level: 'REQUIRED',
|
|
14
|
+
section: '4.7 SOAP Binding',
|
|
15
|
+
check(context) {
|
|
16
|
+
const findings = [];
|
|
17
|
+
let parts = 0;
|
|
18
|
+
for (const doc of wsdlDocuments(context)) {
|
|
19
|
+
const tns = targetNamespaceOf(doc.definitions);
|
|
20
|
+
for (const message of childElements(doc.definitions, NS.WSDL, 'message')) {
|
|
21
|
+
for (const part of messageParts(message)) {
|
|
22
|
+
const raw = optionalAttribute(part, 'element');
|
|
23
|
+
const qname = attributeQName(part, 'element', tns);
|
|
24
|
+
if (raw === undefined || qname === undefined || !context.schemaSet.namespaces.includes(qname.namespaceUri)) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
parts += 1;
|
|
28
|
+
if (context.schemaSet.lookupElement(qname) === undefined) {
|
|
29
|
+
findings.push(findingAt(doc.location, part, `wsdl:part element="${raw}" does not resolve to a global element declaration`));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return parts === 0 ? NOT_APPLICABLE : findings;
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2209: a `wsdl:binding` "SHOULD bind every wsdl:part of a wsdl:message in the
|
|
4
|
+
* wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or
|
|
5
|
+
* soapbind:headerfault". An unbound part never reaches the wire, so it is reported as a warning.
|
|
6
|
+
*
|
|
7
|
+
* All four constructs count: a part left out of `soapbind:body/@parts` is still bound when a
|
|
8
|
+
* `soapbind:header` or `soapbind:headerfault` of the same binding operation names it on this very
|
|
9
|
+
* message, and a fault message's part is bound when the binding's `wsdl:fault` carries a
|
|
10
|
+
* `soapbind:fault` (see `soapBoundParts`).
|
|
11
|
+
*/
|
|
12
|
+
export declare const R2209: WsiAssertion;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { boundMessages, findingAt } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R2209: a `wsdl:binding` "SHOULD bind every wsdl:part of a wsdl:message in the
|
|
6
|
+
* wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or
|
|
7
|
+
* soapbind:headerfault". An unbound part never reaches the wire, so it is reported as a warning.
|
|
8
|
+
*
|
|
9
|
+
* All four constructs count: a part left out of `soapbind:body/@parts` is still bound when a
|
|
10
|
+
* `soapbind:header` or `soapbind:headerfault` of the same binding operation names it on this very
|
|
11
|
+
* message, and a fault message's part is bound when the binding's `wsdl:fault` carries a
|
|
12
|
+
* `soapbind:fault` (see `soapBoundParts`).
|
|
13
|
+
*/
|
|
14
|
+
export const R2209 = {
|
|
15
|
+
id: 'R2209',
|
|
16
|
+
title: 'Every part of a bound message is bound to a SOAP construct',
|
|
17
|
+
level: 'RECOMMENDED',
|
|
18
|
+
section: '4.7 SOAP Binding',
|
|
19
|
+
check(context) {
|
|
20
|
+
const findings = [];
|
|
21
|
+
let messages = 0;
|
|
22
|
+
for (const view of boundMessages(context)) {
|
|
23
|
+
if (view.abstractMessage === undefined || view.parts.length === 0) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
messages += 1;
|
|
27
|
+
const boundNames = new Set(view.soapBoundParts.map((part) => optionalAttribute(part, 'name')));
|
|
28
|
+
for (const part of view.parts) {
|
|
29
|
+
const name = optionalAttribute(part, 'name');
|
|
30
|
+
if (!boundNames.has(name)) {
|
|
31
|
+
findings.push(findingAt(view.location, view.messageElement, `wsdl:part "${name ?? ''}" of the bound message is not bound to any SOAP construct`));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return messages === 0 ? NOT_APPLICABLE : findings;
|
|
36
|
+
},
|
|
37
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2210: if a document-literal binding does not specify the parts attribute on
|
|
4
|
+
* `soapbind:body`, "the corresponding abstract wsdl:message MUST define zero or one wsdl:parts" —
|
|
5
|
+
* otherwise the body would carry more than one child element.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2210: WsiAssertion;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
2
|
+
import { boundMessages, findingAt } from './helpers.js';
|
|
3
|
+
/**
|
|
4
|
+
* BP 1.1 R2210: if a document-literal binding does not specify the parts attribute on
|
|
5
|
+
* `soapbind:body`, "the corresponding abstract wsdl:message MUST define zero or one wsdl:parts" —
|
|
6
|
+
* otherwise the body would carry more than one child element.
|
|
7
|
+
*/
|
|
8
|
+
export const R2210 = {
|
|
9
|
+
id: 'R2210',
|
|
10
|
+
title: 'A document-literal body without a parts attribute binds a message of at most one part',
|
|
11
|
+
level: 'REQUIRED',
|
|
12
|
+
section: '4.7 SOAP Binding',
|
|
13
|
+
check(context) {
|
|
14
|
+
const findings = [];
|
|
15
|
+
let bodies = 0;
|
|
16
|
+
for (const view of boundMessages(context)) {
|
|
17
|
+
if (view.style !== 'document' ||
|
|
18
|
+
view.soapBody === undefined ||
|
|
19
|
+
view.declaredParts !== undefined ||
|
|
20
|
+
view.abstractMessage === undefined) {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
bodies += 1;
|
|
24
|
+
if (view.parts.length > 1) {
|
|
25
|
+
findings.push(findingAt(view.location, view.soapBody, `soapbind:body has no parts attribute and its message defines ${view.parts.length} parts`));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return bodies === 0 ? NOT_APPLICABLE : findings;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2303: a description "MUST NOT use Solicit-Response and Notification type operations" —
|
|
4
|
+
* the profile covers only the two client-initiated message exchange patterns, so a port-type
|
|
5
|
+
* operation whose first message is an output is out of profile.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2303: WsiAssertion;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { findingAt, wsdlDocuments } from './helpers.js';
|
|
5
|
+
/** The first `wsdl:input`/`wsdl:output` child of a port-type operation, in document order. */
|
|
6
|
+
function firstMessageKind(operation) {
|
|
7
|
+
let child = operation.firstChild;
|
|
8
|
+
while (child !== null) {
|
|
9
|
+
if (child.nodeType === 1) {
|
|
10
|
+
const element = child;
|
|
11
|
+
if (element.namespaceURI === NS.WSDL && (element.localName === 'input' || element.localName === 'output')) {
|
|
12
|
+
return element.localName;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
child = child.nextSibling;
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* BP 1.1 R2303: a description "MUST NOT use Solicit-Response and Notification type operations" —
|
|
21
|
+
* the profile covers only the two client-initiated message exchange patterns, so a port-type
|
|
22
|
+
* operation whose first message is an output is out of profile.
|
|
23
|
+
*/
|
|
24
|
+
export const R2303 = {
|
|
25
|
+
id: 'R2303',
|
|
26
|
+
title: 'No Solicit-Response or Notification operations',
|
|
27
|
+
level: 'REQUIRED',
|
|
28
|
+
section: '4.6 Operations',
|
|
29
|
+
check(context) {
|
|
30
|
+
const findings = [];
|
|
31
|
+
let operations = 0;
|
|
32
|
+
for (const doc of wsdlDocuments(context)) {
|
|
33
|
+
for (const portType of childElements(doc.definitions, NS.WSDL, 'portType')) {
|
|
34
|
+
for (const operation of childElements(portType, NS.WSDL, 'operation')) {
|
|
35
|
+
operations += 1;
|
|
36
|
+
if (firstMessageKind(operation) === 'output') {
|
|
37
|
+
findings.push(findingAt(doc.location, operation, `Operation "${optionalAttribute(operation, 'name') ?? ''}" starts with wsdl:output, which is a Solicit-Response or Notification operation`));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return operations === 0 ? NOT_APPLICABLE : findings;
|
|
43
|
+
},
|
|
44
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2304: a description "MUST have operations with distinct values for their name attributes
|
|
4
|
+
* within the same wsdl:portType" — WSDL 1.1 operation overloading is outside the profile.
|
|
5
|
+
*/
|
|
6
|
+
export declare const R2304: WsiAssertion;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { findingAt, wsdlDocuments } from './helpers.js';
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R2304: a description "MUST have operations with distinct values for their name attributes
|
|
7
|
+
* within the same wsdl:portType" — WSDL 1.1 operation overloading is outside the profile.
|
|
8
|
+
*/
|
|
9
|
+
export const R2304 = {
|
|
10
|
+
id: 'R2304',
|
|
11
|
+
title: 'Operation names are distinct within a portType',
|
|
12
|
+
level: 'REQUIRED',
|
|
13
|
+
section: '4.6 Operations',
|
|
14
|
+
check(context) {
|
|
15
|
+
const findings = [];
|
|
16
|
+
let operations = 0;
|
|
17
|
+
for (const doc of wsdlDocuments(context)) {
|
|
18
|
+
for (const portType of childElements(doc.definitions, NS.WSDL, 'portType')) {
|
|
19
|
+
const seen = new Set();
|
|
20
|
+
for (const operation of childElements(portType, NS.WSDL, 'operation')) {
|
|
21
|
+
operations += 1;
|
|
22
|
+
const name = optionalAttribute(operation, 'name') ?? '';
|
|
23
|
+
if (seen.has(name)) {
|
|
24
|
+
findings.push(findingAt(doc.location, operation, `wsdl:portType "${optionalAttribute(portType, 'name') ?? ''}" declares more than one operation named "${name}"`));
|
|
25
|
+
}
|
|
26
|
+
seen.add(name);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return operations === 0 ? NOT_APPLICABLE : findings;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A `wsdl:port` describes an endpoint through `soapbind:address`, whose `location` must be an
|
|
4
|
+
* absolute URI — a relative reference has no base once the description is republished elsewhere.
|
|
5
|
+
*
|
|
6
|
+
* The requirement itself is part of BP 1.1 §4.7's SOAP binding extensions, but its requirement
|
|
7
|
+
* *number* could not be confirmed against the published profile: `R2401` is the id this catalogue
|
|
8
|
+
* uses, flagged `unverifiedId` so the generated document says so rather than asserting an id
|
|
9
|
+
* Wirebench is not sure of. (It is definitely not `R2701`, which is the HTTP-transport
|
|
10
|
+
* requirement.)
|
|
11
|
+
*/
|
|
12
|
+
export declare const R2401: WsiAssertion;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { findingAt, isAbsoluteUri, soapAddresses } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* A `wsdl:port` describes an endpoint through `soapbind:address`, whose `location` must be an
|
|
6
|
+
* absolute URI — a relative reference has no base once the description is republished elsewhere.
|
|
7
|
+
*
|
|
8
|
+
* The requirement itself is part of BP 1.1 §4.7's SOAP binding extensions, but its requirement
|
|
9
|
+
* *number* could not be confirmed against the published profile: `R2401` is the id this catalogue
|
|
10
|
+
* uses, flagged `unverifiedId` so the generated document says so rather than asserting an id
|
|
11
|
+
* Wirebench is not sure of. (It is definitely not `R2701`, which is the HTTP-transport
|
|
12
|
+
* requirement.)
|
|
13
|
+
*/
|
|
14
|
+
export const R2401 = {
|
|
15
|
+
id: 'R2401',
|
|
16
|
+
title: 'soapbind:address declares an absolute endpoint URI',
|
|
17
|
+
level: 'REQUIRED',
|
|
18
|
+
section: '4.7 SOAP Binding Extensions',
|
|
19
|
+
unverifiedId: true,
|
|
20
|
+
check(context) {
|
|
21
|
+
const findings = [];
|
|
22
|
+
const addresses = soapAddresses(context);
|
|
23
|
+
for (const view of addresses) {
|
|
24
|
+
const location = optionalAttribute(view.address, 'location');
|
|
25
|
+
if (location === undefined || !isAbsoluteUri(location)) {
|
|
26
|
+
findings.push(findingAt(view.location, view.address, `soapbind:address location="${location ?? ''}" is not an absolute URI`));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return addresses.length === 0 ? NOT_APPLICABLE : findings;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2701: the `wsdl:binding` element of a description "MUST be a WSDL SOAP binding" as
|
|
4
|
+
* defined by WSDL 1.1 section 3 — a binding carrying, for instance, an HTTP GET/POST extension
|
|
5
|
+
* instead of `soapbind:binding` is outside the profile.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2701: WsiAssertion;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { findingAt, soapNamespaceOf, wsdlDocuments } from './helpers.js';
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R2701: the `wsdl:binding` element of a description "MUST be a WSDL SOAP binding" as
|
|
7
|
+
* defined by WSDL 1.1 section 3 — a binding carrying, for instance, an HTTP GET/POST extension
|
|
8
|
+
* instead of `soapbind:binding` is outside the profile.
|
|
9
|
+
*/
|
|
10
|
+
export const R2701 = {
|
|
11
|
+
id: 'R2701',
|
|
12
|
+
title: 'Every wsdl:binding is a SOAP binding',
|
|
13
|
+
level: 'REQUIRED',
|
|
14
|
+
section: '4.7 SOAP Binding',
|
|
15
|
+
check(context) {
|
|
16
|
+
const findings = [];
|
|
17
|
+
let bindings = 0;
|
|
18
|
+
for (const doc of wsdlDocuments(context)) {
|
|
19
|
+
for (const binding of childElements(doc.definitions, NS.WSDL, 'binding')) {
|
|
20
|
+
bindings += 1;
|
|
21
|
+
if (soapNamespaceOf(binding) === undefined) {
|
|
22
|
+
findings.push(findingAt(doc.location, binding, `wsdl:binding "${optionalAttribute(binding, 'name') ?? ''}" has no soapbind:binding element`));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return bindings === 0 ? NOT_APPLICABLE : findings;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2702: a `wsdl:binding` "MUST specify the transport attribute with the value
|
|
4
|
+
* http://schemas.xmlsoap.org/soap/http" — the profile binds SOAP to HTTP only.
|
|
5
|
+
*/
|
|
6
|
+
export declare const R2702: WsiAssertion;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { findingAt, soapBindings } from './helpers.js';
|
|
4
|
+
/** The only transport the profile allows a SOAP binding to declare. */
|
|
5
|
+
const HTTP_TRANSPORT = 'http://schemas.xmlsoap.org/soap/http';
|
|
6
|
+
/**
|
|
7
|
+
* BP 1.1 R2702: a `wsdl:binding` "MUST specify the transport attribute with the value
|
|
8
|
+
* http://schemas.xmlsoap.org/soap/http" — the profile binds SOAP to HTTP only.
|
|
9
|
+
*/
|
|
10
|
+
export const R2702 = {
|
|
11
|
+
id: 'R2702',
|
|
12
|
+
title: 'soapbind:binding declares the HTTP transport',
|
|
13
|
+
level: 'REQUIRED',
|
|
14
|
+
section: '4.7 SOAP Binding',
|
|
15
|
+
check(context) {
|
|
16
|
+
const findings = [];
|
|
17
|
+
const bindings = soapBindings(context);
|
|
18
|
+
for (const view of bindings) {
|
|
19
|
+
const transport = optionalAttribute(view.soapBinding, 'transport');
|
|
20
|
+
if (transport !== HTTP_TRANSPORT) {
|
|
21
|
+
findings.push(findingAt(view.location, view.soapBinding, `soapbind:binding transport="${transport ?? ''}" is not "${HTTP_TRANSPORT}"`));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return bindings.length === 0 ? NOT_APPLICABLE : findings;
|
|
25
|
+
},
|
|
26
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2705: a `wsdl:binding` "MUST be either rpc-literal or document-literal" — one binding
|
|
4
|
+
* cannot mix the two styles across its operations.
|
|
5
|
+
*
|
|
6
|
+
* Only the *style* half of that requirement is checked here: whether the binding's operations agree
|
|
7
|
+
* on `document` vs `rpc`. That the `use` is `literal` rather than `encoded` is checked by
|
|
8
|
+
* {@link R2706}, so a binding that consistently uses one style but encodes its bodies fails there,
|
|
9
|
+
* not here.
|
|
10
|
+
*/
|
|
11
|
+
export declare const R2705: WsiAssertion;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NS } from '../../../xml/namespaces.js';
|
|
2
|
+
import { childElements, optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
3
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
4
|
+
import { findingAt, operationStyle, soapBindings } from './helpers.js';
|
|
5
|
+
/**
|
|
6
|
+
* BP 1.1 R2705: a `wsdl:binding` "MUST be either rpc-literal or document-literal" — one binding
|
|
7
|
+
* cannot mix the two styles across its operations.
|
|
8
|
+
*
|
|
9
|
+
* Only the *style* half of that requirement is checked here: whether the binding's operations agree
|
|
10
|
+
* on `document` vs `rpc`. That the `use` is `literal` rather than `encoded` is checked by
|
|
11
|
+
* {@link R2706}, so a binding that consistently uses one style but encodes its bodies fails there,
|
|
12
|
+
* not here.
|
|
13
|
+
*/
|
|
14
|
+
export const R2705 = {
|
|
15
|
+
id: 'R2705',
|
|
16
|
+
title: 'A binding does not mix the document and rpc styles (literal-ness is R2706)',
|
|
17
|
+
level: 'REQUIRED',
|
|
18
|
+
section: '4.7 SOAP Binding',
|
|
19
|
+
check(context) {
|
|
20
|
+
const findings = [];
|
|
21
|
+
const bindings = soapBindings(context);
|
|
22
|
+
for (const view of bindings) {
|
|
23
|
+
const operations = childElements(view.binding, NS.WSDL, 'operation');
|
|
24
|
+
const styles = new Set(operations.map((operation) => operationStyle(view, operation)));
|
|
25
|
+
if (styles.size > 1) {
|
|
26
|
+
findings.push(findingAt(view.location, view.binding, `wsdl:binding "${optionalAttribute(view.binding, 'name') ?? ''}" mixes the document and rpc styles across its operations`));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return bindings.length === 0 ? NOT_APPLICABLE : findings;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2706: a `wsdl:binding` "MUST use the value of 'literal' for the use attribute in all
|
|
4
|
+
* soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault elements" — SOAP
|
|
5
|
+
* encoding is out of profile. An absent `use` is left to the description's own default.
|
|
6
|
+
*/
|
|
7
|
+
export declare const R2706: WsiAssertion;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { optionalAttribute } from '../../../wsdl/dom-utils.js';
|
|
2
|
+
import { NOT_APPLICABLE } from '../types.js';
|
|
3
|
+
import { findingAt, soapExtensions } from './helpers.js';
|
|
4
|
+
/**
|
|
5
|
+
* BP 1.1 R2706: a `wsdl:binding` "MUST use the value of 'literal' for the use attribute in all
|
|
6
|
+
* soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault elements" — SOAP
|
|
7
|
+
* encoding is out of profile. An absent `use` is left to the description's own default.
|
|
8
|
+
*/
|
|
9
|
+
export const R2706 = {
|
|
10
|
+
id: 'R2706',
|
|
11
|
+
title: 'Every soapbind element that declares use declares "literal"',
|
|
12
|
+
level: 'REQUIRED',
|
|
13
|
+
section: '4.7 SOAP Binding',
|
|
14
|
+
check(context) {
|
|
15
|
+
const findings = [];
|
|
16
|
+
let declarations = 0;
|
|
17
|
+
for (const view of soapExtensions(context)) {
|
|
18
|
+
const use = optionalAttribute(view.element, 'use');
|
|
19
|
+
if (use === undefined) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
declarations += 1;
|
|
23
|
+
if (use !== 'literal') {
|
|
24
|
+
findings.push(findingAt(view.location, view.element, `soapbind:${view.kind} declares use="${use}"`));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return declarations === 0 ? NOT_APPLICABLE : findings;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { WsiAssertion } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* BP 1.1 R2710: the operations of a `wsdl:binding` "MUST result in wire signatures that are
|
|
4
|
+
* different from one another".
|
|
5
|
+
*
|
|
6
|
+
* This is an **approximation**: the profile's subject is the *wire signature* (for document-literal,
|
|
7
|
+
* the qualified name of the body's first child; for rpc-literal, the wrapper element), which two
|
|
8
|
+
* differently-named operations can still share. What is checked here is the much cheaper and
|
|
9
|
+
* strictly narrower condition that no two operations of one binding share a `name` — the case
|
|
10
|
+
* that is both unambiguous and by far the most common. Operations whose names differ but whose
|
|
11
|
+
* wire signatures collide are not reported.
|
|
12
|
+
*/
|
|
13
|
+
export declare const R2710: WsiAssertion;
|