@ermtech/http-reponse
Creates a properly formated http respsone that can be passed to the Azure Functioons context.res object
API
httpResponse([status],[body],[detail],[headers])
Creates a http respsone formated as per the ERM Tech spec.
-
status
number | string
- The status code of the response -
body
string | object
- The body of the reponse -
detail
string | object
- Additional details for error message types -
headers
object
- Headers that will override the default { 'Content-Type': 'application/json' } header
Return a non-error type body with the passed body string
context.res = httpResponse(200, "I'm the passed body string")
{
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"body": {
"message": "I'm the passed body string"
}
}
Return a non-error type body with the passed body object
context.res = httpResponse('OK', { data: "I'm the passed body" })
{
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"body": {
"data": "I'm the passed body"
}
}
Return a error type body with the passed body and detail passed as a string
context.res = httpResponse('Bad Request',
'The body must include a queue or topic',
'A message needs a destination, this is set by the queue or topic name'
)
{
"status": 400,
"headers": {
"Content-Type": "application/json"
},
"body": {
"error": {
"timestamp": "2021-12-19T06:39:53.181Z",
"status": 400,
"type": "Bad Request",
"title": "The body must include a queue or topic",
"detail": "A message needs a destination, this is set by the queue or topic name"
}
}
}
httpResponse.isErrorCode(status)
Determine if the provided status
is a http error code.
-
status
number | string
- The status code to be evaluated
Check if the status code is an error
httpResponse.isErrorCode(200)
false
httpResponse.isErrorCode('OK')
false
httpResponse.isErrorCode('Bad Request')
true
Build and Test
To publish a new version of this package to npm, run npm run publish:public
. You can also dry run the publish with npm run publish:dry
. Both scripts with run eslint --fix index.js
prior to the publish event just to be safe.