1.1.0 • Published 6 months ago

http-response-client v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

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

CodeNameDescription
300MultipleChoiceIndica múltiples opciones para el recurso que el cliente puede seguir.
301MovedPermanentlyEste y todos los futuros pedidos deben dirigirse a la URI dada.
302FoundEl recurso se encuentra temporalmente en una URI diferente.
303SeeOtherLa respuesta a la solicitud se puede encontrar bajo otra URI utilizando el método GET.
304NotModifiedEl recurso no se ha modificado desde la última petición.
305UseProxyDebe accederse al recurso solicitado a través del proxy proporcionado por la ubicación del campo de encabezado.
307TemporaryRedirectEl recurso se encuentra temporalmente en una URI diferente, pero futuras solicitudes aún deben usar la URI original.
308PermanentRedirectEste 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.
400BadRequestLa solicitud no pudo ser entendida por el servidor debido a una sintaxis malformada.
401UnauthorizedLa solicitud requiere autenticación del usuario.
402PaymentRequiredReservado para uso futuro.
403ForbiddenEl servidor entendió la solicitud, pero se niega a cumplirla.
404NotFoundEl servidor no encontró nada que coincida con la URI de la solicitud.
405MethodNotAllowedEl método especificado en la solicitud no está permitido para el recurso identificado por la URI de la solicitud.
406NotAcceptableEl 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.
407ProxyAuthenticationRequiredLa solicitud requiere autenticación del usuario a través de un proxy.
408RequestTimeoutEl cliente no produjo una solicitud dentro del tiempo que el servidor estaba preparado para esperar.
409ConflictLa solicitud no pudo completarse debido a un conflicto con el estado actual del recurso.
410GoneEl recurso solicitado ya no está disponible en el servidor y no hay ninguna dirección de reenvío conocida.
411LengthRequiredEl servidor se niega a aceptar la solicitud sin un encabezado de longitud de contenido definido.
412PreconditionFailedEl servidor no cumple con una de las precondiciones que el solicitante puso en los campos de encabezado de la solicitud.
413PayloadTooLargeLa entidad de solicitud es más grande de lo que el servidor está dispuesto o puede procesar.
414UriTooLongLa URI proporcionada era demasiado larga para que el servidor la procesara.
415UnsupportedMediaTypeLa entidad tiene un tipo de medio que el servidor o recurso no soporta.
416RequestedRangeNotSatisfiableNinguna parte del rango especificado en el encabezado Range está disponible para el recurso solicitado.
417ExpectationFailedEl servidor no puede cumplir con las expectativas indicadas en el encabezado Expect de la solicitud.
418ImATeapotEste 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.
421MisdirectedRequestLa solicitud fue dirigida a un servidor que no es capaz de producir una respuesta.
422UnprocessableEntityLa entidad de solicitud está bien formada pero fue imposible seguir las instrucciones contenidas en ella.
423LockedEl recurso al que se está teniendo acceso está bloqueado.
424FailedDependencyLa solicitud falló debido a un fallo en una solicitud previa.
426UpgradeRequiredEl cliente debe cambiar a un protocolo diferente.
428PreconditionRequiredEl servidor requiere que la petición del cliente sea condicional.
429TooManyRequestsEl usuario ha enviado demasiadas solicitudes en un periodo de tiempo dado.
431RequestHeaderFieldsTooLargeEl servidor no está dispuesto a procesar la solicitud porque uno o más campos de encabezado son demasiado grandes.
451UnavailableForLegalReasonsEl servidor no puede o no procesará la solicitud debido a un conflicto legal con el acceso al recurso.
500InternalServerErrorUn error genérico, dado cuando se produjo una condición inesperada y no hay una especificación más precisa.
501NotImplementedEl servidor no reconoce el método de solicitud, o le falta la capacidad para cumplir la solicitud.
502BadGatewayMientras actuaba como gateway o proxy, el servidor recibió una respuesta inválida del servidor aguas arriba al intentar cumplir la solicitud.
503ServiceUnavailableEl servidor no puede manejar la solicitud (porque está sobrecargado o en mantenimiento). Generalmente, este es un estado temporal.
504GatewayTimeoutMientras actuaba como gateway o proxy, el servidor no recibió una respuesta a tiempo del servidor aguas arriba al intentar cumplir la solicitud.
505HttpVersionNotSupportedEl servidor no soporta la versión del protocolo HTTP utilizada en la solicitud.
506VariantAlsoNegotiatesLa negociación de contenido para la representación del recurso resulta en una referencia circular.
507InsufficientStorageEl servidor es incapaz de almacenar la representación necesaria para completar la solicitud.
508LoopDetectedEl 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.
510NotExtendedSe requiere más extensión para cumplir con la solicitud.
511NetworkAuthenticationRequiredEl 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

1.1.0

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago