http-controller.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Petition, Request, Response } from "./http-petition";
  2. export class HttpController {
  3. private _petition: Petition;
  4. constructor(petition: Petition) {
  5. this._petition = petition;
  6. }
  7. public get petition() {
  8. return this._petition;
  9. }
  10. public set petition(petition: Petition) {
  11. this._petition = petition;
  12. }
  13. public get request(): Request {
  14. return this._petition.request;
  15. }
  16. public get response(): Response {
  17. return this._petition.response;
  18. }
  19. public success(
  20. response = { status: "OK", statusCode: 200, payload: {} }
  21. ): Response {
  22. this._petition.response.status = response.status;
  23. this._petition.response.statusCode = response.statusCode;
  24. this._petition.response.payload = response.payload;
  25. return {
  26. headers: this._petition.response.headers,
  27. status: this._petition.response.status,
  28. statusCode: this._petition.response.statusCode,
  29. payload: this._petition.response.payload
  30. };
  31. }
  32. public error(
  33. response = { status: "NO_OK", statusCode: 500, error: "" }
  34. ): Response {
  35. this._petition.response.status = response.status;
  36. this._petition.response.statusCode = response.statusCode;
  37. this._petition.response.error = response.error;
  38. return {
  39. status: this._petition.response.status,
  40. statusCode: this._petition.response.statusCode,
  41. error: this._petition.response.error
  42. };
  43. }
  44. }