grpc-create-error
Utility function that creates an Error suitable for gRPC responses
This forked repository aims to provide a @grpc/grpc-js
compatable version of grpc-create-error. The original repository has a dependency that relies on grpc
which is no longer supported.
Related
grpc-error - GRPCError
class that uses this module
grpc status codes - The grpc status codes.
Installation
npm install create-grpc-error --save
API
createGRPCError(message, code, metadata) ⇒ Error
Utility function that creates an Error suitable for gRPC responses.
See tests for all examples
Kind: global function
Returns: Error
- The new Error
Param | Type | Description |
---|
message | String | Number | Error | Object | If String the error message If Number the error code If instanceof Error , the error to source data from. We still create a new Error instance, copy data from the passed error and assign / merge the rest of arguments. This can be used to mege metadata of existing error with additional metadata. If Object , assumed to be metadata, either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
code | Number | Object | If Number the error code If Object , assumed to be metadata, either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
metadata | Object | The error metadata. Either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
Example (Using standard grpc status code)
const grpc = require('grpc')
const createGRPCError = require('create-grpc-error')
const err = createGRPCError('Ouch!', grpc.status.INVALID_ARGUMENT)
Example (Custom error with metadata)
const createGRPCError = require('create-grpc-error')
const err = createGRPCError('Boom', 2000, { ERROR_CODE: 'INVALID_TOKEN' })
console.log(err.message)
console.log(err.code)
console.log(err.metadata instanceof grpc.Metadata)
console.log(err.metadata.getMap())
Example (Source from error and merge metadatas)
const createGRPCError = require('create-grpc-error')
const existingError = new Error('Boom')
existingError.metadata = new grpc.Metadata()
existingError.metadata.add('foo', 'bar')
const err = createGRPCError(existingError, 2000, { ERROR_CODE: 'INVALID_TOKEN' })
console.log(err.message)
console.log(err.code)
console.log(err.metadata instanceof grpc.Metadata)
console.log(err.metadata.getMap())
applyCreate(err, message, code, metadata) ⇒ Error
Actual function that does all the work.
Same as createGRPCError but applies cretion to the existing error.
Kind: global function
Returns: Error
- See createGRPCError
description
Param | Type | Description |
---|
err | Error | The error to apply creation to |
message | String | Number | Error | Object | See createGRPCError description |
code | Number | Object | See createGRPCError description |
metadata | Object | See createGRPCError description |
License
Apache-2.0