request-context.d.ts 1.2 KB

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