npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

http-response-client

v1.1.0

Published

Package to format a service response and handle errors

Downloads

32

Readme

http-response-client

Package to format service request in Moodle web service format

Table of Contents

Installation

This is a Node.js module available through the npm registry.

Before installing, download and install Node.js.

If this is a brand new project, make sure to create a package.json first with the npm init command.

Installation is done using the npm install command:

$ npm install http-response-client

Examples

Create an http error

Existent http error

If you want use any http error that exists in the HTTP code responses you can use the method httpErrors.${error}.

import responseClient from "http-response-client";
const error = new responseClient.errors.NotFound();

Adding a custom message

If you want add a custom message to the error you can pass the message as a parameter to the class.

import responseClient from "http-response-client";
const error = new responseClient.errors.NotFound({msg:"Custom message"});

Create a custom error

If you want create a custom error you can use the function createError and pass the status code, name and the message as parameters.

import responseClient from "http-response-client";
const error = responseClient.createError(404, {name: "CustomName", msg: "Custom message" });

Verify if an error is an http error

If you want verify if an error is an http error you can use the function isHttpError and pass the error as a parameter.

import responseClient from "http-response-client";
const error = new responseClient.errors.NotFound();
const isHttpError = responseClient.isHttpError(error);

Using middleware for express

If you want use the middleware for express you can use the function middlewares and pass the error as a parameter and response.

import responseClient from "http-response-client";
this.app.use((err: Error, req: Request, res: Response, next: NextFunction): void => {
    responseClient.middlewares.errorCatcher(err,res);
});

Docs

HTTP code responses

HTTP Code Responses List

| Code | Name | Description | |------|------|-------------| | 300 | MultipleChoice | Indica múltiples opciones para el recurso que el cliente puede seguir. | | 301 | MovedPermanently | Este y todos los futuros pedidos deben dirigirse a la URI dada. | | 302 | Found | El recurso se encuentra temporalmente en una URI diferente. | | 303 | SeeOther | La respuesta a la solicitud se puede encontrar bajo otra URI utilizando el método GET. | | 304 | NotModified | El recurso no se ha modificado desde la última petición. | | 305 | UseProxy | Debe accederse al recurso solicitado a través del proxy proporcionado por la ubicación del campo de encabezado. | | 307 | TemporaryRedirect | El recurso se encuentra temporalmente en una URI diferente, pero futuras solicitudes aún deben usar la URI original. | | 308 | PermanentRedirect | Este y todos los futuros pedidos deben dirigirse a la URI dada, que es idéntica a la de Moved Permanently (301), pero con garantía de que el método y el cuerpo no cambiarán durante la redirección. | | 400 | BadRequest | La solicitud no pudo ser entendida por el servidor debido a una sintaxis malformada. | | 401 | Unauthorized | La solicitud requiere autenticación del usuario. | | 402 | PaymentRequired | Reservado para uso futuro. | | 403 | Forbidden | El servidor entendió la solicitud, pero se niega a cumplirla. | | 404 | NotFound | El servidor no encontró nada que coincida con la URI de la solicitud. | | 405 | MethodNotAllowed | El método especificado en la solicitud no está permitido para el recurso identificado por la URI de la solicitud. | | 406 | NotAcceptable | El recurso identificado por la solicitud sólo es capaz de generar respuestas con características de contenido no aceptables según los encabezados de aceptación enviados en la solicitud. | | 407 | ProxyAuthenticationRequired | La solicitud requiere autenticación del usuario a través de un proxy. | | 408 | RequestTimeout | El cliente no produjo una solicitud dentro del tiempo que el servidor estaba preparado para esperar. | | 409 | Conflict | La solicitud no pudo completarse debido a un conflicto con el estado actual del recurso. | | 410 | Gone | El recurso solicitado ya no está disponible en el servidor y no hay ninguna dirección de reenvío conocida. | | 411 | LengthRequired | El servidor se niega a aceptar la solicitud sin un encabezado de longitud de contenido definido. | | 412 | PreconditionFailed | El servidor no cumple con una de las precondiciones que el solicitante puso en los campos de encabezado de la solicitud. | | 413 | PayloadTooLarge | La entidad de solicitud es más grande de lo que el servidor está dispuesto o puede procesar. | | 414 | UriTooLong | La URI proporcionada era demasiado larga para que el servidor la procesara. | | 415 | UnsupportedMediaType | La entidad tiene un tipo de medio que el servidor o recurso no soporta. | | 416 | RequestedRangeNotSatisfiable | Ninguna parte del rango especificado en el encabezado Range está disponible para el recurso solicitado. | | 417 | ExpectationFailed | El servidor no puede cumplir con las expectativas indicadas en el encabezado Expect de la solicitud. | | 418 | ImATeapot| Este código fue definido en 1998 como una broma del Día de los Inocentes, en RFC2324, Hyper Text Coffee Pot Control Protocol, y no se espera que sea implementado por servidores HTTP reales. | 421 | MisdirectedRequest | La solicitud fue dirigida a un servidor que no es capaz de producir una respuesta. | | 422 | UnprocessableEntity | La entidad de solicitud está bien formada pero fue imposible seguir las instrucciones contenidas en ella. | | 423 | Locked | El recurso al que se está teniendo acceso está bloqueado. | | 424 | FailedDependency | La solicitud falló debido a un fallo en una solicitud previa. | | 426 | UpgradeRequired | El cliente debe cambiar a un protocolo diferente. | | 428 | PreconditionRequired | El servidor requiere que la petición del cliente sea condicional. | | 429 | TooManyRequests | El usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado. | | 431 | RequestHeaderFieldsTooLarge | El servidor no está dispuesto a procesar la solicitud porque uno o más campos de encabezado son demasiado grandes. | | 451 | UnavailableForLegalReasons | El servidor no puede o no procesará la solicitud debido a un conflicto legal con el acceso al recurso. | | 500 | InternalServerError | Un error genérico, dado cuando se produjo una condición inesperada y no hay una especificación más precisa. | | 501 | NotImplemented | El servidor no reconoce el método de solicitud, o le falta la capacidad para cumplir la solicitud. | | 502 | BadGateway | Mientras actuaba como gateway o proxy, el servidor recibió una respuesta inválida del servidor aguas arriba al intentar cumplir la solicitud. | | 503 | ServiceUnavailable | El servidor no puede manejar la solicitud (porque está sobrecargado o en mantenimiento). Generalmente, este es un estado temporal. | | 504 | GatewayTimeout | Mientras actuaba como gateway o proxy, el servidor no recibió una respuesta a tiempo del servidor aguas arriba al intentar cumplir la solicitud. | | 505 | HttpVersionNotSupported | El servidor no soporta la versión del protocolo HTTP utilizada en la solicitud. | | 506 | VariantAlsoNegotiates | La negociación de contenido para la representación del recurso resulta en una referencia circular. | | 507 | InsufficientStorage | El servidor es incapaz de almacenar la representación necesaria para completar la solicitud. | | 508 | LoopDetected | El servidor detectó un bucle infinito mientras procesaba una solicitud con "Depth: infinity". Esto se proporciona para compatibilidad con antiguos clientes WebDAV que no soportan el encabezado Depth en "If" para "copy" y "move" o para clientes que crean ciclos de referencias infinitas. | 510 | NotExtended | Se requiere más extensión para cumplir con la solicitud. | | 511 | NetworkAuthenticationRequired | El cliente necesita autenticarse para obtener acceso a la red. |

Issues

Looking to contribute? Look for the label.

🐛 Bugs

Please file an issue for bugs, missing documentation, or unexpected behavior.

See Bugs

💡 Feature Requests

Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.

See Feature Requests

Contributors

LICENSE

MIT