What is @google-cloud/common?
@google-cloud/common is a library that provides common functionality for Google Cloud Node.js client libraries. It includes utilities for logging, error handling, and making authenticated API requests.
What are @google-cloud/common's main functionalities?
Logging
The logging feature allows you to create and use a logger to log messages at different levels (info, error, etc.).
const { logger } = require('@google-cloud/common');
const log = logger();
log.info('This is an info message');
log.error('This is an error message');
Error Handling
The error handling feature provides a standardized way to create and handle API errors.
const { ApiError } = require('@google-cloud/common');
try {
throw new ApiError({ message: 'An error occurred', code: 500 });
} catch (err) {
console.error(err.message); // 'An error occurred'
console.error(err.code); // 500
}
Authenticated API Requests
This feature allows you to make authenticated API requests to Google Cloud services.
const { Service } = require('@google-cloud/common');
const service = new Service({
baseUrl: 'https://example.googleapis.com',
scopes: ['https://www.googleapis.com/auth/cloud-platform']
});
service.request({
method: 'GET',
uri: '/v1/resource'
}, (err, response) => {
if (err) {
console.error(err);
} else {
console.log(response);
}
});
Other packages similar to @google-cloud/common
axios
Axios is a promise-based HTTP client for the browser and Node.js. It provides similar functionality for making HTTP requests but does not include built-in support for Google Cloud authentication.
winston
Winston is a versatile logging library for Node.js. It offers more advanced logging features compared to @google-cloud/common but does not include other utilities like error handling or authenticated requests.
request
Request is a simplified HTTP client for Node.js. It provides similar functionality for making HTTP requests but is now deprecated in favor of more modern alternatives like axios.