Product
Introducing Java Support in Socket
We're excited to announce that Socket now supports the Java programming language.
ibm-cloud-sdk-core
Advanced tools
Core functionality to support SDKs generated with IBM's OpenAPI 3 SDK Generator.
This project contains core functionality required by Node.js code generated by the IBM Cloud OpenAPI SDK Generator (openapi-sdkgen).
`npm install ibm-cloud-sdk-core`
This package exports a single object containing a number of modules as top level properties.
Example:
// this is TypeScript, since the `openapi-sdkgen` project generates TypeScript
import { BaseService } from 'ibm-cloud-sdk-core';
class YourSDK extends BaseService { ... }
This library provides a set of Authenticators used to authenticate requests from an SDK. There are authenticators for the following authentication schemes:
There are two ways to create an authenticator:
getAuthenticatorFromEnvironment
function to create an authenticator from externally-provided configurationFor more information about the various authentication types and how to use them with your services, click here.
import { IamAuthenticator } from 'ibm-cloud-sdk-core';
const authenticator = new IamAuthenticator({
apikey: '{apikey}',
});
import { getAuthenticatorFromEnvironment } from 'ibm-cloud-sdk-core';
// env vars
// MY_SERVICE_AUTH_TYPE=iam
// MY_SERVICE_APIKEY=<apikey>
const iamAuthenticator = getAuthenticatorFromEnvironment('my-service');
This package uses debug for logging.
DEBUG
including the desired log level.
DEBUG=ibm-cloud-sdk-core:error
enables error logsDEBUG=ibm-cloud-sdk-core:warning
enables warning logs and belowDEBUG=ibm-cloud-sdk-core:info
enables info logs and belowDEBUG=ibm-cloud-sdk-core:verbose
enables verbose logs and belowDEBUG=ibm-cloud-sdk-core:debug
enables debug logs and belowTo see the output from all of the debugging levels you can use:
DEBUG=ibm-cloud-sdk-core*
The debug logger can be configured to be used for more than one library. In example, you can set a comma-separated string:
DEBUG=ibm-cloud-sdk-core:debug,other-lib:debug
By default, cookies are not supported in the SDK requests. If your SDK would benefit from this functionality, simply edit your code to instantiate a cookie jar (or instruct your users to do so) and pass it in the object containing configuration options to the BaseService
class, as shown below.
import tough = require('tough-cookie');
class MyClass extends BaseService {
constructor(options: MyOptions) {
// pass the cookie jar object or simply pass the value `true`
// and a tough-cookie instance will be created by default
options.jar = new tough.CookieJar();
super(options);
}
}
The example above uses Tough Cookie to provide these capabilities, but other cookie jar libraries can be used.
If you encounter an issue with this project, you are welcome to submit a bug report. Before opening a new issue, please search for similar issues. It's possible that someone has already reported it.
Run all test suites:
npm test
See CONTRIBUTING.
This library is licensed under Apache 2.0. Full license text is available in LICENSE.
FAQs
Core functionality to support SDKs generated with IBM's OpenAPI SDK Generator.
The npm package ibm-cloud-sdk-core receives a total of 28,161 weekly downloads. As such, ibm-cloud-sdk-core popularity was classified as popular.
We found that ibm-cloud-sdk-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
We're excited to announce that Socket now supports the Java programming language.
Security News
Socket detected a malicious Python package impersonating a popular browser cookie library to steal passwords, screenshots, webcam images, and Discord tokens.
Security News
Deno 2.0 is now available with enhanced package management, full Node.js and npm compatibility, improved performance, and support for major JavaScript frameworks.