request-context.d.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import {ServerResponse} from 'http';
  2. import {IncomingMessage} from 'http';
  3. import {RouteMeta} from './route.js';
  4. import {ParsedQuery} from './parsers/index.js';
  5. import {ParsedCookies} from './utils/index.js';
  6. import {ParsedHeaders} from './parsers/index.js';
  7. import {ServiceContainer} from '@e22m4u/js-service';
  8. /**
  9. * Parsed params.
  10. */
  11. export type ParsedParams = {
  12. [key: string]: string | undefined;
  13. };
  14. /**
  15. * Request context.
  16. */
  17. export declare class RequestContext {
  18. /**
  19. * Container.
  20. */
  21. cont: ServiceContainer;
  22. /**
  23. * Request.
  24. */
  25. req: IncomingMessage;
  26. /**
  27. * Response.
  28. */
  29. res: ServerResponse;
  30. /**
  31. * Query.
  32. */
  33. query: ParsedQuery;
  34. /**
  35. * Params.
  36. */
  37. params: ParsedParams;
  38. /**
  39. * Headers.
  40. */
  41. headers: ParsedHeaders;
  42. /**
  43. * Cookies.
  44. */
  45. cookies: ParsedCookies;
  46. /**
  47. * Body.
  48. */
  49. body: unknown;
  50. /**
  51. * Route meta.
  52. */
  53. meta: RouteMeta;
  54. /**
  55. * Method.
  56. */
  57. get method(): string;
  58. /**
  59. * Path.
  60. */
  61. get path(): string;
  62. /**
  63. * Pathname.
  64. */
  65. get pathname(): string;
  66. /**
  67. * Constructor.
  68. *
  69. * @param container
  70. * @param request
  71. * @param response
  72. */
  73. constructor(
  74. container: ServiceContainer,
  75. request: IncomingMessage,
  76. response: ServerResponse,
  77. );
  78. }