@ermtech/http-response

1.0.2 • Public • Published

@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.

Readme

Keywords

none

Package Sidebar

Install

npm i @ermtech/http-response

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

7.13 kB

Total Files

3

Last publish

Collaborators

  • admin-mb.io