@sap-cloud-sdk/resilience
Timeouts, retries and circuit breaking around a remote call, so one slow downstream system does not take the application with it.
Facts
Where it sits
Who is behind it
In the atlas: maintains 137, wrote 14@SAPmaintainerArtem KovalovContributes to this
In the atlas: contributes to 6@artemkovalyovSAP Cloud SDK BotContributes to this
In the atlas: contributes to 11@bot-sdk-jsBrigittaK307Contributes to this
In the atlas: contributes to 12@BrigittaK307Britta VarwigContributes to this
In the atlas: contributes to 8@bvarwigRobert KaniaContributes to this
In the atlas: contributes to 6@cezaryrkChristian SchüringsContributes to this
In the atlas: contributes to 25@cschueringsDaniel KullmannContributes to this
In the atlas: contributes to 6@daniel-kullmannDavid KnaackContributes to this
In the atlas: contributes to 13, wrote 1@davidkna-sapDeeksha SinhaContributes to this
In the atlas: contributes to 12@deekshas8Deni DajaContributes to this
In the atlas: contributes to 6@denidaja38 contributors
Before choosing this
Conditions
LicenceSAP Developer License Agreement 3.2 CAP§ 1from DestinationsA destination used by a covered CAP application sends SAP product data to a non-SAP product rather than only addressing a remote endpoint.
- § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
A destination is configuration, not the deciding boundary. The licence becomes material when the resulting data flow is extraction into a non-SAP product, so the target and purpose need review.
SAP Developer License Agreement 3.2 CAP →What it declares
Every artifact
- Type
- Package
- Origin
- By SAP
As a package
- Where it runs
- does not say
- Distributed through
- npm
Connections
Reaching remote systems without addresses or credentials in the code
Download
Install
npm add @sap-cloud-sdk/resilienceDerived from the package name. No recipe recorded; the README has the configuration.
README
quoted from SAP/cloud-sdk-js under Apache-2.0, read@sap-cloud-sdk/resilience
This package contains implementations for the resilience middlewares like a timeout or circuit breaker middleware. This concept of middlewares is totally generic, and you can use it for non-resilience use cases.
Installation
$ npm install @sap-cloud-sdk/resilience
Usage
Add a timeout middleware to a request.
executeHttpRequest(destination, { middleware: [ timeout() ] }, httpRequestOptions);
For more detailed overview visit our resilience documentation.
Support
The recommended way to get in touch with us is to create an issue on GitHub. Select the issue category Bug, Feature, or Question depending on the nature of your request. We try to provide fixes, features and answers as soon as possible.
Contribute
If you would like to contribute to the SAP Cloud SDK, please make yourself familiar with our contributing guidelines and follow the given instructions.
Links
- Official support channel
- Github
- SAP Cloud SDK Documentation
- Sample repository
- SAP Cloud SDK for AI (JavaScript)
License
The SAP Cloud SDK is released under the Apache License Version 2.0.
History
Fixes 2
Notes
Patch Changes
- e8f8134: [fix] Export
./internal.jsnamed export inpackage.jsonfor compatibility. Please migrate to the new named export./internal, the old export is deprecated and will be removed in the next major release. - @sap-cloud-sdk/util@4.9.1
Fixes 2
Notes
Patch Changes
- b502b40: [Fixed Issue] Update
axiosto1.11.0to use non-vulnerable version ofform-data. - Updated dependencies [b502b40]
- @sap-cloud-sdk/util@4.1.1
- b502b40: [Fixed Issue] Update
Breaking 1, Fixes 3
Notes
Major Changes
- 7d92a1b: [Compatibility Note] The following deprecated content has been removed from the package:
- The
circuitBreakerHttpconstant has been removed. UsecircuitBreakerinstead.
- The
Patch Changes
- Updated dependencies [7d92a1b]
- Updated dependencies [936a6eb]
- Updated dependencies [4228412]
- @sap-cloud-sdk/util@4.0.0
- 7d92a1b: [Compatibility Note] The following deprecated content has been removed from the package:
Fixes 1
Notes
Patch Changes
- 234675fc3: [Fixed Issue] Fix parsing error when the last response in a chain of retries returned undefined.
- @sap-cloud-sdk/util@3.2.0
- 234675fc3: [Fixed Issue] Fix parsing error when the last response in a chain of retries returned undefined.
Fixes 1
Notes
Patch Changes
- 166a16d82: [Fixed Issue] Fix transpilation on OData generation, where types for 'opossum' could not be found.
- @sap-cloud-sdk/util@3.1.1
- 166a16d82: [Fixed Issue] Fix transpilation on OData generation, where types for 'opossum' could not be found.
Fixes 1
Notes
Patch Changes
- fcab06c4b: [Compatibility Note] Deprecate erroneously exposed
circuitBreakerHttp()function in favor ofcircuitBreaker().- @sap-cloud-sdk/util@3.0.1
- fcab06c4b: [Compatibility Note] Deprecate erroneously exposed
Breaking 2, Features 2, Fixes 4
Notes
Major Changes
- fde964e37: [Compatibility Note] Remove the options
timeoutandenableCircuitBreakerfrom all BTP service interactions i.e. destination and token fetching. - fde964e37: [Compatibility Note] Switch the compilerOptions.module to
Node16instead ofCommonJSfor better interoperability with ES modules. See the TypeScript handbook for technical details if needed.
Minor Changes
- fde964e37: [New Functionality] The request configuration used in the final request is now part of the middleware context.
User can implement middlewares to change request properties like
headersusing this reference in the middleware context. The request configuration contains theurl,headersand all other properties of the HTTP request. - fde964e37: [New Functionality] Add
ResilienceOptionsandresilience()function. The function returns an array of middlewares based on the provided options.
Patch Changes
- Updated dependencies [fde964e37]
- Updated dependencies [fde964e37]
- Updated dependencies [fde964e37]
- Updated dependencies [fde964e37]
- @sap-cloud-sdk/util@3.0.0
- fde964e37: [Compatibility Note] Remove the options
Others providing
Compare all 13 on the Destinations page →- SAP Destination serviceSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btpNamed, credentialed addresses of other systems resolved at runtime
- com.sap.cds:cds-feature-remote-odatacom.sap.cds:cds-feature-remote-odataA CAP Java feature for consuming remote OData V2 and V4 services as Remote Services, translating CQN queries into OData requests against a destination or a service binding.sap official, capRemote Services for consuming OData V2 and V4 APIs in CAP Java
- com.sap.cds:cds-integration-cloud-sdkcom.sap.cds:cds-integration-cloud-sdkA CAP Java feature that integrates the SAP Cloud SDK, so features such as remote OData and enterprise messaging resolve a destination or service binding and reach a remote REST-based service.sap official, capSAP Cloud SDK integration for remote REST services in CAP Java
- capire/s4capire/s4A pre-built integration package for SAP S/4HANA, holding the imported service definitions a CAP project would otherwise generate for itself.sap official, capPrebuilt SAP S/4HANA integration package for CAP projects
- cdsecdseResolves a destination from a CAP project's own configuration, then makes the outbound call with axios: the url, the method and the body are written at the call site.independent, capDestination resolution and axios calls from CAP configuration
- @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, capCAP Node.js runtime
- @sap-cloud-sdk/connectivity@sap-cloud-sdk/connectivityDestination lookup and the connectivity proxy — the package that turns a destination name into a reachable endpoint with credentials attached.sap official, capDestination lookup and connectivity proxy for the Cloud SDK
- @sap-cloud-sdk/http-client@sap-cloud-sdk/http-clientThe HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it.sap official, capHTTP client carrying a destination's credentials
- @sap-cloud-sdk/odata-common@sap-cloud-sdk/odata-commonThe shared machinery under the SDK's OData and OpenAPI client generators; a dependency of the generated clients rather than something written against directly.sap official, capShared machinery under the Cloud SDK's OData and OpenAPI clients
- @sap-cloud-sdk/openapi@sap-cloud-sdk/openapiGenerated OpenAPI clients for the Cloud SDK, so a REST API described by a specification is called through typed functions.sap official, capGenerated OpenAPI clients for the Cloud SDK
- @sap-cloud-sdk/util@sap-cloud-sdk/utilGeneral utilities shared across the Cloud SDK packages — a dependency, not a thing to reach for on its own.sap official, capGeneral utilities shared across the Cloud SDK packages
- @sapmentors/cds-scp-api@sapmentors/cds-scp-apiA Node module for CAP that calls an external API through a destination instead of a hardcoded endpoint, taking its address, credentials and on-premise tunnel from the SAP Destination and Connectivity services.community org, capNode module for CAP calling external APIs through a destination
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- Typed cds-plugin by placement, which defaults every candidate to that. It is not one.
- Timeouts, retries and circuit breaking around a remote call, so one slow downstream system does not take the application with it.
- First seen.
For your agent
- Ref
artifact:sap-cloud-sdk-resilience- JSON
- /artifacts/sap-cloud-sdk-resilience.json
- MCP
- Connecting an agent