arc-1 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +64 -7
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/aunit.js +4 -4
- package/dist/adt/aunit.js.map +1 -1
- package/dist/adt/class-structure.d.ts +4 -2
- package/dist/adt/class-structure.d.ts.map +1 -1
- package/dist/adt/class-structure.js +18 -9
- package/dist/adt/class-structure.js.map +1 -1
- package/dist/adt/client.d.ts +18 -52
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +69 -92
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/config.d.ts +5 -0
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/create-request.d.ts +4 -0
- package/dist/adt/create-request.d.ts.map +1 -0
- package/dist/adt/create-request.js +16 -0
- package/dist/adt/create-request.js.map +1 -0
- package/dist/adt/crud.d.ts +3 -3
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +28 -9
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/data-source-policy.d.ts +20 -8
- package/dist/adt/data-source-policy.d.ts.map +1 -1
- package/dist/adt/data-source-policy.js +55 -109
- package/dist/adt/data-source-policy.js.map +1 -1
- package/dist/adt/ddic-xml.d.ts +9 -0
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +17 -3
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +10 -7
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +11 -9
- package/dist/adt/diagnostics.d.ts.map +1 -1
- package/dist/adt/diagnostics.js +88 -14
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/enhancements.d.ts +7 -0
- package/dist/adt/enhancements.d.ts.map +1 -0
- package/dist/adt/enhancements.js +89 -0
- package/dist/adt/enhancements.js.map +1 -0
- package/dist/adt/errors.d.ts +21 -10
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +76 -54
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js +2 -0
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/flp.d.ts.map +1 -1
- package/dist/adt/flp.js +5 -4
- package/dist/adt/flp.js.map +1 -1
- package/dist/adt/fm-signature.d.ts +1 -1
- package/dist/adt/fm-signature.d.ts.map +1 -1
- package/dist/adt/fm-signature.js +9 -1
- package/dist/adt/fm-signature.js.map +1 -1
- package/dist/adt/http-deadline.d.ts +2 -0
- package/dist/adt/http-deadline.d.ts.map +1 -1
- package/dist/adt/http-deadline.js.map +1 -1
- package/dist/adt/http.d.ts +12 -29
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +102 -95
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/internal-data-operations.d.ts +3 -2
- package/dist/adt/internal-data-operations.d.ts.map +1 -1
- package/dist/adt/internal-data-operations.js +8 -1
- package/dist/adt/internal-data-operations.js.map +1 -1
- package/dist/adt/lock-object.d.ts +92 -0
- package/dist/adt/lock-object.d.ts.map +1 -0
- package/dist/adt/lock-object.js +195 -0
- package/dist/adt/lock-object.js.map +1 -0
- package/dist/adt/publish-state.d.ts +4 -0
- package/dist/adt/publish-state.d.ts.map +1 -0
- package/dist/adt/publish-state.js +61 -0
- package/dist/adt/publish-state.js.map +1 -0
- package/dist/adt/rap-generate.d.ts +5 -1
- package/dist/adt/rap-generate.d.ts.map +1 -1
- package/dist/adt/rap-generate.js +112 -100
- package/dist/adt/rap-generate.js.map +1 -1
- package/dist/adt/server-driven.d.ts +56 -13
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +114 -23
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/source-precondition.d.ts +3 -0
- package/dist/adt/source-precondition.d.ts.map +1 -0
- package/dist/adt/source-precondition.js +12 -0
- package/dist/adt/source-precondition.js.map +1 -0
- package/dist/adt/text-search.js +5 -5
- package/dist/adt/text-search.js.map +1 -1
- package/dist/adt/transport.d.ts +1 -2
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +20 -15
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +21 -1
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/user-agent.d.ts +4 -0
- package/dist/adt/user-agent.d.ts.map +1 -0
- package/dist/adt/user-agent.js +11 -0
- package/dist/adt/user-agent.js.map +1 -0
- package/dist/adt/xml-entities.d.ts +3 -0
- package/dist/adt/xml-entities.d.ts.map +1 -0
- package/dist/adt/xml-entities.js +19 -0
- package/dist/adt/xml-entities.js.map +1 -0
- package/dist/adt/xml-parser.d.ts +7 -30
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +25 -54
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +2 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/caching-layer.d.ts.map +1 -1
- package/dist/cache/caching-layer.js +5 -10
- package/dist/cache/caching-layer.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/grep.d.ts +14 -0
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +49 -0
- package/dist/context/grep.js.map +1 -1
- package/dist/context/unit-surgery.d.ts +4 -2
- package/dist/context/unit-surgery.d.ts.map +1 -1
- package/dist/context/unit-surgery.js +54 -6
- package/dist/context/unit-surgery.js.map +1 -1
- package/dist/handlers/activate.d.ts.map +1 -1
- package/dist/handlers/activate.js +11 -20
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +11 -30
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +63 -8
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/editable-source.d.ts +6 -0
- package/dist/handlers/editable-source.d.ts.map +1 -0
- package/dist/handlers/editable-source.js +53 -0
- package/dist/handlers/editable-source.js.map +1 -0
- package/dist/handlers/feature-cache.d.ts +2 -0
- package/dist/handlers/feature-cache.d.ts.map +1 -1
- package/dist/handlers/feature-cache.js +8 -0
- package/dist/handlers/feature-cache.js.map +1 -1
- package/dist/handlers/hyperfocused.js +1 -1
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/lint.d.ts.map +1 -1
- package/dist/handlers/lint.js +13 -4
- package/dist/handlers/lint.js.map +1 -1
- package/dist/handlers/object-types.d.ts +2 -3
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +13 -5
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/publish-failure.d.ts +7 -0
- package/dist/handlers/publish-failure.d.ts.map +1 -0
- package/dist/handlers/publish-failure.js +42 -0
- package/dist/handlers/publish-failure.js.map +1 -0
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +39 -9
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +45 -0
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +50 -7
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/syntax.d.ts +5 -0
- package/dist/handlers/syntax.d.ts.map +1 -0
- package/dist/handlers/syntax.js +35 -0
- package/dist/handlers/syntax.js.map +1 -0
- package/dist/handlers/tool-descriptions.d.ts.map +1 -1
- package/dist/handlers/tool-descriptions.js +7 -5
- package/dist/handlers/tool-descriptions.js.map +1 -1
- package/dist/handlers/tool-registry.d.ts +4 -4
- package/dist/handlers/tool-registry.d.ts.map +1 -1
- package/dist/handlers/tool-registry.js +4 -0
- package/dist/handlers/tool-registry.js.map +1 -1
- package/dist/handlers/tools.d.ts +1 -16
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +44 -55
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +17 -3
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/write/class-edit.d.ts +16 -0
- package/dist/handlers/write/class-edit.d.ts.map +1 -0
- package/dist/handlers/write/class-edit.js +55 -0
- package/dist/handlers/write/class-edit.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts +2 -2
- package/dist/handlers/write/class-surgery.d.ts.map +1 -1
- package/dist/handlers/write/class-surgery.js +189 -220
- package/dist/handlers/write/class-surgery.js.map +1 -1
- package/dist/handlers/write/context.d.ts +1 -8
- package/dist/handlers/write/context.d.ts.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +11 -4
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/metadata-update.d.ts +4 -0
- package/dist/handlers/write/metadata-update.d.ts.map +1 -0
- package/dist/handlers/write/metadata-update.js +58 -0
- package/dist/handlers/write/metadata-update.js.map +1 -0
- package/dist/handlers/write/rap.d.ts.map +1 -1
- package/dist/handlers/write/rap.js +132 -155
- package/dist/handlers/write/rap.js.map +1 -1
- package/dist/handlers/write/unit-surgery.d.ts +2 -2
- package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
- package/dist/handlers/write/unit-surgery.js +58 -34
- package/dist/handlers/write/unit-surgery.js.map +1 -1
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +34 -82
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +4 -3
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +135 -21
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +13 -31
- package/dist/handlers/write.js.map +1 -1
- package/dist/lint/config-builder.d.ts +10 -1
- package/dist/lint/config-builder.d.ts.map +1 -1
- package/dist/lint/config-builder.js +4 -0
- package/dist/lint/config-builder.js.map +1 -1
- package/dist/lint/lint.d.ts +3 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +2 -1
- package/dist/lint/lint.js.map +1 -1
- package/dist/public/read-only-client.d.ts +6 -0
- package/dist/public/read-only-client.d.ts.map +1 -0
- package/dist/public/read-only-client.js +66 -0
- package/dist/public/read-only-client.js.map +1 -0
- package/dist/public/testing.d.ts +4 -0
- package/dist/public/testing.d.ts.map +1 -1
- package/dist/public/testing.js +6 -0
- package/dist/public/testing.js.map +1 -1
- package/dist/public/types.d.ts +14 -15
- package/dist/public/types.d.ts.map +1 -1
- package/dist/server/audit.d.ts +6 -1
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +9 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/deny-actions.d.ts +2 -1
- package/dist/server/deny-actions.d.ts.map +1 -1
- package/dist/server/deny-actions.js +13 -2
- package/dist/server/deny-actions.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +7 -5
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts +3 -3
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js +7 -7
- package/dist/server/logger.js.map +1 -1
- package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
- package/dist/server/multi-target-basic-auth.js +1 -0
- package/dist/server/multi-target-basic-auth.js.map +1 -1
- package/dist/server/multi-target-runtime.d.ts.map +1 -1
- package/dist/server/multi-target-runtime.js +1 -0
- package/dist/server/multi-target-runtime.js.map +1 -1
- package/dist/server/oauth-redirect-policy.d.ts +13 -0
- package/dist/server/oauth-redirect-policy.d.ts.map +1 -0
- package/dist/server/oauth-redirect-policy.js +21 -0
- package/dist/server/oauth-redirect-policy.js.map +1 -0
- package/dist/server/plugin-loader.d.ts.map +1 -1
- package/dist/server/plugin-loader.js +1 -3
- package/dist/server/plugin-loader.js.map +1 -1
- package/dist/server/safe-http-client.d.ts +8 -14
- package/dist/server/safe-http-client.d.ts.map +1 -1
- package/dist/server/safe-http-client.js +51 -73
- package/dist/server/safe-http-client.js.map +1 -1
- package/dist/server/server.d.ts +5 -4
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +36 -27
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +6 -4
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fm-signature.js","sourceRoot":"","sources":["../../src/adt/fm-signature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fm-signature.js","sourceRoot":"","sources":["../../src/adt/fm-signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA0BH,MAAM,UAAU,GAAG,iEAAiE,CAAC;AACrF,MAAM,aAAa,GAAG,iFAAiF,CAAC;AACxG,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,UAAU,GAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAEhH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,MAAM,GAA2C;QACrD,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,CAAc;IACjC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,2EAA2E;IAC3E,sDAAsD;IACtD,6EAA6E;IAC7E,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,GAAG,QAAQ,SAAS,OAAO,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,IAAI,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,WAAW,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAK7C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,OAAO,GAAG,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAC1E,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,WAAW,GAA2B,IAAI,CAAC;IAC/C,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAE9B,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI;YAAE,EAAE,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI;YAAE,EAAE,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,eAAe,GAAG,MAAM,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpD,oEAAoE;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,eAAe,GAAG,aAAa,GAAG,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,qDAAqD;QACrD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEpC,mFAAmF;QACnF,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM;QACR,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAqB,CAAC;YAC3D,4EAA4E;YAC5E,yCAAyC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CACzB,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAC5F,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3F,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,uCAAuC;gBACvC,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC3F,MAAM;YACR,CAAC;YACD,eAAe,GAAG,aAAa,GAAG,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3F,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAC/F,MAAM;YACR,CAAC;QACH,CAAC;QAED,eAAe,GAAG,aAAa,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAE1D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,2EAA2E;YAC3E,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACtC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,UAAU,GAAG,CAAC,UAAU,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAc,EACd,eAAuB,EACvB,QAAgB,EAChB,WAAmB,EACnB,sBAA8B;IAE9B,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACnE,MAAM,aAAa,GAAG,eAAe,GAAG,YAAY,GAAG,sBAAsB,CAAC;IAC9E,yEAAyE;IACzE,IAAI,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,SAAS,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,SAAS,EAAE,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,qEAAqE;IACrE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACtC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,UAAU,GAAG,CAAC,UAAU,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB,EAAE,IAAqB,EAAE,WAAmB;IACzF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO;IAE3B,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI;QAAE,OAAO;IAE9C,8EAA8E;IAC9E,+EAA+E;IAC/E,iDAAiD;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,gFAAgF;IAChF,oEAAoE;IACpE,IAAI,OAAe,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAA+B,CAAC;IAEpC,sEAAsE;IACtE,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;QAChB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAgB;QACzB,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE;QAC3B,IAAI,EAAE,OAAO;KACd,CAAC;IACF,IAAI,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAClC,IAAI,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE;QAAE,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAqB;IACrF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,YAAY,SAAS,MAAM,WAAW,gBAAgB,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,YAAY,SAAS,KAAK,MAAM,MAAM,WAAW,gBAAgB,CAAC;AAC3E,CAAC"}
|
|
@@ -13,6 +13,8 @@ export interface AdtRequestOptions extends RequestDeadlineOptions {
|
|
|
13
13
|
probe?: boolean;
|
|
14
14
|
/** Explicit post-content-decoding response allowance for a guarded data operation. */
|
|
15
15
|
responseBudget?: DataResponseBudget;
|
|
16
|
+
/** Disable availability/DB-session replays when a mutation may already have completed. */
|
|
17
|
+
retryTransientErrors?: boolean;
|
|
16
18
|
/** Optional request-local SAP send allowance; CSRF and retries share the same counter. */
|
|
17
19
|
attemptBudget?: RequestAttemptBudget;
|
|
18
20
|
/** Internal control requests need headers only; do not buffer their bodies through Connectivity. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-deadline.d.ts","sourceRoot":"","sources":["../../src/adt/http-deadline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAIhG;AA+BD,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAS9E;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,WAAW,GAAG,SAAS,CAQ7F;AAED,8FAA8F;AAC9F,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAoBvG;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAS/G;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,WAAW,CAK3E;AAED,qFAAqF;AACrF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/G"}
|
|
1
|
+
{"version":3,"file":"http-deadline.d.ts","sourceRoot":"","sources":["../../src/adt/http-deadline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sFAAsF;IACtF,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,0FAA0F;IAC1F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAIhG;AA+BD,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAS9E;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,WAAW,GAAG,SAAS,CAQ7F;AAED,8FAA8F;AAC9F,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAoBvG;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAS/G;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,WAAW,CAK3E;AAED,qFAAqF;AACrF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-deadline.js","sourceRoot":"","sources":["../../src/adt/http-deadline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http-deadline.js","sourceRoot":"","sources":["../../src/adt/http-deadline.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/http.d.ts
CHANGED
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ADT HTTP
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - Stateful sessions (lock → modify → unlock must share session)
|
|
8
|
-
* - Automatic retry on session expiry
|
|
9
|
-
*
|
|
10
|
-
* Design decisions:
|
|
11
|
-
*
|
|
12
|
-
* 1. CSRF token fetch uses HEAD /sap/bc/adt/core/discovery with "X-CSRF-Token: fetch".
|
|
13
|
-
* HEAD is ~5s vs ~56s for GET on slow systems (learned from Go version benchmarks).
|
|
14
|
-
*
|
|
15
|
-
* 2. Modifying requests (POST/PUT/DELETE/PATCH) auto-include CSRF token.
|
|
16
|
-
* On 403, token is refreshed and request is retried once.
|
|
17
|
-
* (Pattern from both abap-adt-api and fr0ster implementations.)
|
|
18
|
-
*
|
|
19
|
-
* 3. Stateful sessions use "X-sap-adt-sessiontype: stateful" header.
|
|
20
|
-
* Lock/modify/unlock must use the same session cookies.
|
|
21
|
-
* withStatefulSession() ensures session isolation and closes the backend
|
|
22
|
-
* context when the operation finishes.
|
|
23
|
-
*
|
|
24
|
-
* 4. sap-client and sap-language are added to every request as query params.
|
|
25
|
-
* This is an SAP convention, not ADT-specific.
|
|
26
|
-
*
|
|
27
|
-
* 5. Uses native fetch() with undici dispatchers for proxy and TLS configuration.
|
|
28
|
-
* No external HTTP dependencies — undici ships with Node.js 22+.
|
|
2
|
+
* SAP ADT HTTP transport: authentication, cookies, CSRF and bounded retries.
|
|
3
|
+
* Modifying requests fetch a token when needed and refresh it once on HTTP 403.
|
|
4
|
+
* Stateful writes share cookies and one proxy connection through lock/save/unlock,
|
|
5
|
+
* then close their SAP context. Requests carry the configured client and language.
|
|
6
|
+
* Uses undici dispatchers for direct, proxy and custom-TLS connections.
|
|
29
7
|
*/
|
|
30
8
|
import type { BTPProxyConfig } from '@arc-mcp/xsuaa-auth/btp';
|
|
31
9
|
import { type AdtRequestOptions } from './http-deadline.js';
|
|
@@ -40,6 +18,7 @@ export interface AdtHttpConfig {
|
|
|
40
18
|
password?: string;
|
|
41
19
|
client?: string;
|
|
42
20
|
language?: string;
|
|
21
|
+
userAgent?: string;
|
|
43
22
|
insecure?: boolean;
|
|
44
23
|
/** Gzip non-empty data-preview POST bodies for approved WAF compatibility. */
|
|
45
24
|
gzipDataPreviewBody?: boolean;
|
|
@@ -104,9 +83,12 @@ interface AuthenticationAttemptState {
|
|
|
104
83
|
export declare class AdtHttpClient {
|
|
105
84
|
private discoveryMap;
|
|
106
85
|
private negotiatedHeaders;
|
|
86
|
+
private readonly userAgent;
|
|
107
87
|
private csrfToken;
|
|
108
88
|
private dispatcher;
|
|
109
89
|
private longOperationDispatcher;
|
|
90
|
+
private statefulProxyClient;
|
|
91
|
+
private reuseStatefulProxyClient;
|
|
110
92
|
private config;
|
|
111
93
|
/**
|
|
112
94
|
* Cookie jar — stores Set-Cookie headers from responses and sends them back.
|
|
@@ -169,9 +151,10 @@ export declare class AdtHttpClient {
|
|
|
169
151
|
private handleResponse;
|
|
170
152
|
/**
|
|
171
153
|
* Fetch CSRF token from SAP.
|
|
172
|
-
* Uses
|
|
154
|
+
* Uses core discovery first, then legacy discovery when the core resource is unavailable.
|
|
155
|
+
* Returns the endpoint that supplied the token for startup diagnostics.
|
|
173
156
|
*/
|
|
174
|
-
fetchCsrfToken(options?: AdtRequestOptions): Promise<
|
|
157
|
+
fetchCsrfToken(options?: AdtRequestOptions): Promise<string>;
|
|
175
158
|
/**
|
|
176
159
|
* Detect "database connection is not open" error from SAP.
|
|
177
160
|
* This happens when a work process loses its HANA DB connection.
|
package/dist/adt/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/http.js
CHANGED
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ADT HTTP
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - Stateful sessions (lock → modify → unlock must share session)
|
|
8
|
-
* - Automatic retry on session expiry
|
|
9
|
-
*
|
|
10
|
-
* Design decisions:
|
|
11
|
-
*
|
|
12
|
-
* 1. CSRF token fetch uses HEAD /sap/bc/adt/core/discovery with "X-CSRF-Token: fetch".
|
|
13
|
-
* HEAD is ~5s vs ~56s for GET on slow systems (learned from Go version benchmarks).
|
|
14
|
-
*
|
|
15
|
-
* 2. Modifying requests (POST/PUT/DELETE/PATCH) auto-include CSRF token.
|
|
16
|
-
* On 403, token is refreshed and request is retried once.
|
|
17
|
-
* (Pattern from both abap-adt-api and fr0ster implementations.)
|
|
18
|
-
*
|
|
19
|
-
* 3. Stateful sessions use "X-sap-adt-sessiontype: stateful" header.
|
|
20
|
-
* Lock/modify/unlock must use the same session cookies.
|
|
21
|
-
* withStatefulSession() ensures session isolation and closes the backend
|
|
22
|
-
* context when the operation finishes.
|
|
23
|
-
*
|
|
24
|
-
* 4. sap-client and sap-language are added to every request as query params.
|
|
25
|
-
* This is an SAP convention, not ADT-specific.
|
|
26
|
-
*
|
|
27
|
-
* 5. Uses native fetch() with undici dispatchers for proxy and TLS configuration.
|
|
28
|
-
* No external HTTP dependencies — undici ships with Node.js 22+.
|
|
2
|
+
* SAP ADT HTTP transport: authentication, cookies, CSRF and bounded retries.
|
|
3
|
+
* Modifying requests fetch a token when needed and refresh it once on HTTP 403.
|
|
4
|
+
* Stateful writes share cookies and one proxy connection through lock/save/unlock,
|
|
5
|
+
* then close their SAP context. Requests carry the configured client and language.
|
|
6
|
+
* Uses undici dispatchers for direct, proxy and custom-TLS connections.
|
|
29
7
|
*/
|
|
30
8
|
import { Agent, Client } from 'undici';
|
|
31
9
|
import { getCurrentContext } from '../server/context.js';
|
|
@@ -38,6 +16,7 @@ import { AdtApiError, AdtNetworkError, AdtResponseLimitError } from './errors.js
|
|
|
38
16
|
import { awaitWithinRequestBudget, requestBudgetSignal, requestSignal, sleepWithinRequestBudget, throwIfRequestCancelled, withoutResponseBudget, } from './http-deadline.js';
|
|
39
17
|
import { prepareDataPreviewWireBody } from './http-wire-body.js';
|
|
40
18
|
import { fetchWithAttemptBudget } from './request-attempt-budget.js';
|
|
19
|
+
import { resolveSapUserAgent } from './user-agent.js';
|
|
41
20
|
/**
|
|
42
21
|
* Opt-in wire-level debug logging.
|
|
43
22
|
*
|
|
@@ -99,9 +78,13 @@ function buildHttpDebugFields(reqHeaders, reqBody, respHeaders, respBody) {
|
|
|
99
78
|
export class AdtHttpClient {
|
|
100
79
|
discoveryMap = new Map();
|
|
101
80
|
negotiatedHeaders = new Map();
|
|
81
|
+
userAgent;
|
|
102
82
|
csrfToken = '';
|
|
103
83
|
dispatcher;
|
|
104
84
|
longOperationDispatcher;
|
|
85
|
+
statefulProxyClient;
|
|
86
|
+
// Owned only by a withStatefulSession clone, including its final stateless close request.
|
|
87
|
+
reuseStatefulProxyClient = false;
|
|
105
88
|
config;
|
|
106
89
|
/**
|
|
107
90
|
* Cookie jar — stores Set-Cookie headers from responses and sends them back.
|
|
@@ -123,6 +106,7 @@ export class AdtHttpClient {
|
|
|
123
106
|
authenticationAttemptState;
|
|
124
107
|
constructor(config, authenticationAttemptState) {
|
|
125
108
|
this.config = config;
|
|
109
|
+
this.userAgent = resolveSapUserAgent(config.userAgent);
|
|
126
110
|
this.authenticationAttemptState = authenticationAttemptState ?? { rejected: false, tail: Promise.resolve() };
|
|
127
111
|
// Set up undici dispatcher for TLS configuration (non-proxy mode only).
|
|
128
112
|
// Proxy requests use a dedicated Client connected to the connectivity proxy
|
|
@@ -188,11 +172,18 @@ export class AdtHttpClient {
|
|
|
188
172
|
sessionClient.cookieJar = new Map(this.cookieJar);
|
|
189
173
|
sessionClient.discoveryMap = this.discoveryMap;
|
|
190
174
|
sessionClient.negotiatedHeaders = new Map(this.negotiatedHeaders);
|
|
175
|
+
sessionClient.reuseStatefulProxyClient = true;
|
|
191
176
|
try {
|
|
192
177
|
return await fn(sessionClient);
|
|
193
178
|
}
|
|
194
179
|
finally {
|
|
195
180
|
await sessionClient.closeStatefulSession();
|
|
181
|
+
try {
|
|
182
|
+
await sessionClient.statefulProxyClient?.close();
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
logger.warn('Failed to close stateful Connectivity proxy client.');
|
|
186
|
+
}
|
|
196
187
|
}
|
|
197
188
|
}
|
|
198
189
|
/** Close the SAP application context without changing the completed operation's result. */
|
|
@@ -361,6 +352,7 @@ export class AdtHttpClient {
|
|
|
361
352
|
const url = this.buildUrl(path);
|
|
362
353
|
const httpStart = Date.now();
|
|
363
354
|
// Per-request guards to prevent infinite retry loops
|
|
355
|
+
const retryTransientErrors = options?.retryTransientErrors !== false;
|
|
364
356
|
let negotiationRetried = false;
|
|
365
357
|
let authRetried = false;
|
|
366
358
|
let retried429 = false;
|
|
@@ -374,7 +366,10 @@ export class AdtHttpClient {
|
|
|
374
366
|
// work process. If that WP has a broken HANA connection, every request fails
|
|
375
367
|
// with "database connection is not open". Fix: clear the session to force
|
|
376
368
|
// ICM to assign a different work process on retry.
|
|
377
|
-
if (
|
|
369
|
+
if (retryTransientErrors &&
|
|
370
|
+
response.status === 500 &&
|
|
371
|
+
this.isDbConnectionError(responseBody) &&
|
|
372
|
+
!this.dbRetryInProgress) {
|
|
378
373
|
this.dbRetryInProgress = true;
|
|
379
374
|
try {
|
|
380
375
|
logger.emitAudit({
|
|
@@ -426,11 +421,9 @@ export class AdtHttpClient {
|
|
|
426
421
|
}
|
|
427
422
|
}
|
|
428
423
|
// Handle 503 Service Unavailable — ICM thread/MPI exhaustion or WP overload.
|
|
429
|
-
//
|
|
430
|
-
// process, so the operation never executed — retrying is safe even for POST/PUT/DELETE.
|
|
424
|
+
// Legacy retries remain the default; ambiguous mutations can disable transient replay.
|
|
431
425
|
// Retry happens INSIDE the semaphore slot to avoid increasing load on an overloaded system.
|
|
432
|
-
|
|
433
|
-
if (response.status === 503) {
|
|
426
|
+
if (response.status === 503 && retryTransientErrors) {
|
|
434
427
|
const { delayMs: jitterMs, source } = parseRetryAfter(response.headers.get('retry-after'), 1000 + Math.random() * 1000);
|
|
435
428
|
logger.emitAudit({
|
|
436
429
|
timestamp: new Date().toISOString(),
|
|
@@ -459,13 +452,9 @@ export class AdtHttpClient {
|
|
|
459
452
|
return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
|
|
460
453
|
}
|
|
461
454
|
// Handle 429 Too Many Requests — emitted by SAP Web Dispatcher, BTP API
|
|
462
|
-
// Management, or any upstream gateway throttling us.
|
|
463
|
-
//
|
|
464
|
-
|
|
465
|
-
// falls back to 1-2 s jitter. Single retry only — per-request `retried429` guard
|
|
466
|
-
// prevents loops. If the upstream is still throttling on the second attempt, we
|
|
467
|
-
// surface the 429 to the caller for them to back off at the agent/LLM layer.
|
|
468
|
-
if (response.status === 429 && !retried429) {
|
|
455
|
+
// Management, or any upstream gateway throttling us. Honors Retry-After when present;
|
|
456
|
+
// otherwise wait 1-2 s. Surface a repeated 429 without a third attempt.
|
|
457
|
+
if (response.status === 429 && !retried429 && retryTransientErrors) {
|
|
469
458
|
retried429 = true;
|
|
470
459
|
const { delayMs: jitterMs, source } = parseRetryAfter(response.headers.get('retry-after'), 1000 + Math.random() * 1000);
|
|
471
460
|
logger.emitAudit({
|
|
@@ -768,10 +757,10 @@ export class AdtHttpClient {
|
|
|
768
757
|
/** Handle response: throw on error status, return normalized response */
|
|
769
758
|
handleResponse(status, headers, body, path) {
|
|
770
759
|
const contentType = headers.get('content-type')?.toLowerCase();
|
|
771
|
-
const
|
|
760
|
+
const isDiscovery = ['/sap/bc/adt/core/discovery', '/sap/bc/adt/discovery'].includes(path.split('?', 1)[0]);
|
|
772
761
|
if (status === 200 &&
|
|
773
762
|
path.startsWith('/sap/bc/adt/') &&
|
|
774
|
-
(contentType?.startsWith('text/html') ||
|
|
763
|
+
(contentType?.startsWith('text/html') || isDiscovery) &&
|
|
775
764
|
looksLikeLoginPage(body)) {
|
|
776
765
|
if (this.isCookieAuthMode()) {
|
|
777
766
|
this.clearCookiesAndMark();
|
|
@@ -798,11 +787,12 @@ export class AdtHttpClient {
|
|
|
798
787
|
}
|
|
799
788
|
/**
|
|
800
789
|
* Fetch CSRF token from SAP.
|
|
801
|
-
* Uses
|
|
790
|
+
* Uses core discovery first, then legacy discovery when the core resource is unavailable.
|
|
791
|
+
* Returns the endpoint that supplied the token for startup diagnostics.
|
|
802
792
|
*/
|
|
803
793
|
async fetchCsrfToken(options) {
|
|
804
794
|
throwIfRequestCancelled(options);
|
|
805
|
-
|
|
795
|
+
let path = '/sap/bc/adt/core/discovery';
|
|
806
796
|
const headers = {
|
|
807
797
|
'X-CSRF-Token': 'fetch',
|
|
808
798
|
Accept: '*/*',
|
|
@@ -832,14 +822,47 @@ export class AdtHttpClient {
|
|
|
832
822
|
if (this.cookiesCleared && this.isCookieAuthMode()) {
|
|
833
823
|
this.reloadCookiesFromSource();
|
|
834
824
|
}
|
|
835
|
-
//
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
825
|
+
// A token only counts as proof when the response itself succeeded: SAP returns one on
|
|
826
|
+
// failures too, and the old code accepted a token from a 401 — masking the auth error.
|
|
827
|
+
const usableToken = (response) => {
|
|
828
|
+
const token = response.headers.get('x-csrf-token')?.trim();
|
|
829
|
+
return response.ok && token && token.toLowerCase() !== 'required' ? token : undefined;
|
|
830
|
+
};
|
|
831
|
+
// Every probe keeps the same identity, current cookies and caller's request budget.
|
|
832
|
+
const probe = async (method) => {
|
|
833
|
+
const cookieHeader = this.composeCookieHeader();
|
|
834
|
+
if (cookieHeader)
|
|
835
|
+
headers.Cookie = cookieHeader;
|
|
836
|
+
else
|
|
837
|
+
delete headers.Cookie;
|
|
838
|
+
const started = Date.now();
|
|
839
|
+
const response = await this.doFetch(this.buildUrl(path), method, headers, undefined, options);
|
|
840
|
+
this.storeCookies(response);
|
|
841
|
+
logger.emitAudit({
|
|
842
|
+
timestamp: new Date().toISOString(),
|
|
843
|
+
level: 'debug',
|
|
844
|
+
event: 'http_csrf_fetch',
|
|
845
|
+
method,
|
|
846
|
+
path,
|
|
847
|
+
statusCode: response.status,
|
|
848
|
+
durationMs: Date.now() - started,
|
|
849
|
+
success: !!usableToken(response),
|
|
850
|
+
adtMode: this.config.sessionType ?? 'unspecified',
|
|
851
|
+
hasContext: /(?:^|;\s*)sap-contextid=/.test(cookieHeader ?? ''),
|
|
852
|
+
});
|
|
853
|
+
if (method === 'GET' && response.status === 200 && !usableToken(response)) {
|
|
854
|
+
// Preserve the login-page check even when an old handler reports HTTP 200.
|
|
855
|
+
this.handleResponse(response.status, response.headers, await response.text(), path);
|
|
856
|
+
}
|
|
857
|
+
// Only headers are needed; release GET bodies before a fallback or return.
|
|
858
|
+
if (!response.bodyUsed)
|
|
859
|
+
await response.body?.cancel();
|
|
860
|
+
return response;
|
|
861
|
+
};
|
|
840
862
|
try {
|
|
841
|
-
|
|
842
|
-
|
|
863
|
+
// HEAD avoids downloading discovery when supported; refused HEADs fall back to GET below.
|
|
864
|
+
let response = await probe('HEAD');
|
|
865
|
+
// Retry once on 503 — ICM may be temporarily overloaded (thread/MPI exhaustion).
|
|
843
866
|
if (response.status === 503) {
|
|
844
867
|
const jitterMs = 1000 + Math.random() * 1000;
|
|
845
868
|
logger.emitAudit({
|
|
@@ -847,61 +870,41 @@ export class AdtHttpClient {
|
|
|
847
870
|
level: 'warn',
|
|
848
871
|
event: 'http_request',
|
|
849
872
|
method: 'HEAD',
|
|
850
|
-
path
|
|
873
|
+
path,
|
|
851
874
|
statusCode: 503,
|
|
852
875
|
durationMs: 0,
|
|
853
876
|
errorBody: `CSRF fetch got 503 — retrying in ${Math.round(jitterMs)}ms`,
|
|
854
877
|
});
|
|
855
878
|
await sleepWithinRequestBudget(jitterMs, options);
|
|
856
|
-
response = await
|
|
879
|
+
response = await probe('HEAD');
|
|
857
880
|
}
|
|
858
|
-
//
|
|
859
|
-
//
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
// Some systems reject HEAD with 403; others accept it but omit the token. In both
|
|
864
|
-
// cases retry with GET, which is the broadly supported CSRF bootstrap method and
|
|
865
|
-
// also exposes a real authentication failure instead of a misleading HTTP 200 error.
|
|
866
|
-
if (response.status === 403 || headSucceededWithoutToken) {
|
|
867
|
-
const fallbackCookieHeader = this.composeCookieHeader();
|
|
868
|
-
if (fallbackCookieHeader) {
|
|
869
|
-
headers.Cookie = fallbackCookieHeader;
|
|
870
|
-
}
|
|
871
|
-
else {
|
|
872
|
-
delete headers.Cookie;
|
|
873
|
-
}
|
|
874
|
-
logger.emitAudit({
|
|
875
|
-
timestamp: new Date().toISOString(),
|
|
876
|
-
level: response.status === 403 ? 'warn' : 'debug',
|
|
877
|
-
event: 'http_request',
|
|
878
|
-
method: 'HEAD',
|
|
879
|
-
path: '/sap/bc/adt/core/discovery',
|
|
880
|
-
statusCode: response.status,
|
|
881
|
-
durationMs: 0,
|
|
882
|
-
errorBody: response.status === 403
|
|
883
|
-
? 'CSRF HEAD returned 403 — retrying with GET (S/4HANA Public Cloud compat)'
|
|
884
|
-
: 'CSRF HEAD returned no usable token — retrying with GET',
|
|
885
|
-
});
|
|
886
|
-
response = await this.doFetch(url, 'GET', headers, undefined, options);
|
|
881
|
+
// The tested 7.50/7.58/8.16 systems returned HEAD 400 with a token; GET returned 200.
|
|
882
|
+
// Retry these HEAD refusals or a successful response without a token on the same path.
|
|
883
|
+
// A successful HEAD with a usable token remains the one-request fast path.
|
|
884
|
+
if ([400, 403, 405].includes(response.status) || (response.ok && !usableToken(response))) {
|
|
885
|
+
response = await probe('GET');
|
|
887
886
|
}
|
|
888
|
-
//
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
887
|
+
// Older ADT handlers may return an empty 200 for a missing core resource (#817).
|
|
888
|
+
// A real auth/server failure must not be hidden by trying another endpoint.
|
|
889
|
+
if (response.status === 404 || response.status === 405 || (response.ok && !usableToken(response))) {
|
|
890
|
+
path = '/sap/bc/adt/discovery';
|
|
891
|
+
response = await probe('GET');
|
|
892
|
+
}
|
|
893
|
+
const token = usableToken(response);
|
|
894
|
+
if (!token) {
|
|
892
895
|
if (response.status === 401) {
|
|
893
|
-
if (this.isCookieAuthMode())
|
|
896
|
+
if (this.isCookieAuthMode())
|
|
894
897
|
this.clearCookiesAndMark();
|
|
895
|
-
|
|
896
|
-
this.
|
|
897
|
-
throw new AdtApiError(`Authentication failed (401) using sap-client=${this.config.client ?? '100'}. Check SAP_CLIENT, SAP_USER, and SAP_PASSWORD.`, 401, '/sap/bc/adt/core/discovery');
|
|
898
|
+
this.notifyUnauthorized(path);
|
|
899
|
+
throw new AdtApiError(`Authentication failed (401) using sap-client=${this.config.client ?? '100'}. Check SAP_CLIENT, SAP_USER, and SAP_PASSWORD.`, 401, path);
|
|
898
900
|
}
|
|
899
901
|
if (response.status === 403) {
|
|
900
|
-
throw new AdtApiError(`Access forbidden (403) using sap-client=${this.config.client ?? '100'}. Check user authorizations.`, 403,
|
|
902
|
+
throw new AdtApiError(`Access forbidden (403) using sap-client=${this.config.client ?? '100'}. Check user authorizations.`, 403, path);
|
|
901
903
|
}
|
|
902
|
-
throw new AdtApiError(`No CSRF token in response (HTTP ${response.status})`, response.status,
|
|
904
|
+
throw new AdtApiError(`No CSRF token in response (HTTP ${response.status})`, response.status, path);
|
|
903
905
|
}
|
|
904
906
|
this.csrfToken = token;
|
|
907
|
+
return path;
|
|
905
908
|
}
|
|
906
909
|
catch (err) {
|
|
907
910
|
if (err instanceof AdtApiError || err instanceof AdtNetworkError)
|
|
@@ -1097,7 +1100,7 @@ export class AdtHttpClient {
|
|
|
1097
1100
|
// Empty unless the MCP client sent a valid `traceparent`; ARC-1 never originates a trace.
|
|
1098
1101
|
// Injected here because doFetch is the single outbound choke point (the proxy branch below
|
|
1099
1102
|
// spreads these headers too).
|
|
1100
|
-
const outbound = { ...headers, ...traceHeaders(getCurrentContext()) };
|
|
1103
|
+
const outbound = { ...headers, 'User-Agent': this.userAgent, ...traceHeaders(getCurrentContext()) };
|
|
1101
1104
|
let response;
|
|
1102
1105
|
if (this.config.btpProxy) {
|
|
1103
1106
|
response = await this.doProxyRequest(url, method, outbound, body, options);
|
|
@@ -1169,8 +1172,9 @@ export class AdtHttpClient {
|
|
|
1169
1172
|
if (proxy.locationId) {
|
|
1170
1173
|
proxyHeaders['SAP-Connectivity-SCC-Location_ID'] = proxy.locationId;
|
|
1171
1174
|
}
|
|
1172
|
-
|
|
1173
|
-
const
|
|
1175
|
+
// Streaming/discard adapters own their client and may close or destroy it.
|
|
1176
|
+
const reuseProxyClient = this.reuseStatefulProxyClient && options?.responseBudget === undefined && !options?.discardResponseBody;
|
|
1177
|
+
const client = reuseProxyClient ? (this.statefulProxyClient ??= new Client(proxyOrigin)) : new Client(proxyOrigin);
|
|
1174
1178
|
let responseOwnsClient = false;
|
|
1175
1179
|
try {
|
|
1176
1180
|
const signal = requestSignal(options);
|
|
@@ -1182,6 +1186,9 @@ export class AdtHttpClient {
|
|
|
1182
1186
|
headers: proxyHeaders,
|
|
1183
1187
|
body: body ?? undefined,
|
|
1184
1188
|
signal,
|
|
1189
|
+
// A reused client's first request must not determine later requests' parser timeouts.
|
|
1190
|
+
// The per-request abort signal still enforces fetchTimeoutMs and the caller deadline.
|
|
1191
|
+
...(options?.fetchTimeoutMs === undefined ? {} : { headersTimeout: 0, bodyTimeout: 0 }),
|
|
1185
1192
|
});
|
|
1186
1193
|
const isNullBodyStatus = resp.statusCode === 204 || resp.statusCode === 205 || resp.statusCode === 304;
|
|
1187
1194
|
responseOwnsClient =
|
|
@@ -1189,7 +1196,7 @@ export class AdtHttpClient {
|
|
|
1189
1196
|
return await connectivityProxyResponse(resp, client, signal, options?.responseBudget !== undefined, options?.discardResponseBody);
|
|
1190
1197
|
}
|
|
1191
1198
|
finally {
|
|
1192
|
-
if (!responseOwnsClient)
|
|
1199
|
+
if (!reuseProxyClient && !responseOwnsClient)
|
|
1193
1200
|
await client.close();
|
|
1194
1201
|
}
|
|
1195
1202
|
}
|