event-response v0.4.4
event-response
When you use Cloud Functions's Background Functions, have you ever wanted to record success / failure respond to the client side that it succeeded?
event-response is easy to understand like success status of HTTP and can record success / failure. It is also possible to handle it on the client side using the recorded status.
Install
yarn install event-responseOverview
OK
When Cloud Functions completes successfully, call setOK().
It is 200 in http.
new EventResponse.Result(user, 'prefix').setOK()Bad Request
When Cloud Functions fails on client side problems such as invalid parameters, call setBadRequest(). And you can set id, error.
It is 400 in http.
new EventResponse.Result(user, 'prefix').setBadRequest('error_id', 'error reason')Inernal Error
If an error occurs on the server side, call setInternalError. And you can set id, error.
It is 500 in http.
new EventResponse.Result(user, 'prefix').setInternalError('error_id', 'error reason')Usage
This sample is written in TypeScript.
1. Initialize
Initialize event-response in your index.ts.
import * as EventResponse from 'event-response'
import * as functions from 'firebase-functions'
EventResponse.initialize(functions.config().firebase)2. Call set method
You can set 3 pattens.
- OK
- BadRequest
- InternalError
exports.updateUser = functions.firestore.document('users/{userId}')
.onCreate(async event => {
if (!event.data.data().name) {
return new EventResponse.Result(event.data.ref, 'updateUser').setBadRequest('NameNotFound', 'User.name not found')
}
try {
await event.data.ref.update({name: 'new name'})
await new EventResponse.Result(event.data.ref, 'updateUser').setOK()
} catch (error) {
await new EventResponse.Result(event.data.ref, 'updateUser').setInternalError('NameUpdateFailed', error.toString())
return Promise.reject(error)
}
return undefined
})The result can be got as follows.
admin.firestore().doc('user/1000').get().then(s => {
const user = s.data())
const status = user.updateUserResult.status
const id = user.updateUserResult.id
const error = user.updateUserResult.error
}Advanced
Failure
TODO
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago