@ama-sdk/core
v14.2.0
Published
Digital API - SDK Core
Keywords
Readme
@ama-sdk Core
This package contains a set of plugins, helpers and object definitions to dialog with an API following the ama-sdk architecture.
Please refer to the ama-sdk-schematics package for getting started with an API based on ama-sdk.
Available plugins
- additional-params
- api-configuration-override
- api-key
- bot-protection-fingerprint
- core
- client-facts
- custom-info
- exception
- fetch-cache
- fetch-credentials
- json-token
- mock-intercept
- OpenTelemetry Traceparent
- pii-tokenizer
- raw-response-info
- reviver
- session-id
- si-token
- simple-api-key-authentication
- url-rewrite
Available API Client
The API Clients are mandatory to the SDK to indicate the service that should be used by the SDK to process the calls. A list of API Clients are provided by this package:
| API Client | Import | Description |
| ---------------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| ApiFetchClient | @ama-sdk/client-fetch | Default API Client based on the browser FetchApi |
| ApiBeaconClient | @ama-sdk/beacon-fetch | API Client based on the browser BeaconApi, it is processing synchronous call |
| ApiAngularClient | @ama-sdk/api-angular-client | API Client using the HttpClient exposed by the @angular/common package |
Logs
In order to ease the logging in the ama-sdk plugins, it is possible to connect to third-party logging services.
This can be achieved by adding a Logger implementation to the options of an API client.
For example, in the Otter showcase application, we could add a ConsoleLogger (from @o3r/core) as a parameter to the ApiFetchClient:
const logger = new ConsoleLogger();
function petApiFactory() {
const apiConfig: ApiClient = new ApiFetchClient(
{
basePath: 'https://petstore3.swagger.io/api/v3',
requestPlugins: [new SessionIdRequest()],
fetchPlugins: [],
logger
}
);
return new PetApi(apiConfig);
}Note: Adding a third-party logging service is optional. If undefined, the fallback is the console logger.
