@geekmidas/constructs 3.0.8 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{Endpoint-C991gK3T.d.cts → Endpoint-CE7qHX5S.d.cts} +14 -2
  3. package/dist/Endpoint-CE7qHX5S.d.cts.map +1 -0
  4. package/dist/{Endpoint-CRHpLPV3.d.mts → Endpoint-NvjIednd.d.mts} +14 -2
  5. package/dist/Endpoint-NvjIednd.d.mts.map +1 -0
  6. package/dist/{HonoEndpointAdaptor-BDz1qM4z.cjs → HonoEndpointAdaptor-Dl8BW_9u.cjs} +12 -3
  7. package/dist/HonoEndpointAdaptor-Dl8BW_9u.cjs.map +1 -0
  8. package/dist/{HonoEndpointAdaptor-DPBfEPZj.mjs → HonoEndpointAdaptor-nHYMdbBi.mjs} +12 -3
  9. package/dist/HonoEndpointAdaptor-nHYMdbBi.mjs.map +1 -0
  10. package/dist/adaptors/aws.cjs +8 -3
  11. package/dist/adaptors/aws.cjs.map +1 -1
  12. package/dist/adaptors/aws.d.cts +1 -1
  13. package/dist/adaptors/aws.d.cts.map +1 -1
  14. package/dist/adaptors/aws.d.mts +1 -1
  15. package/dist/adaptors/aws.d.mts.map +1 -1
  16. package/dist/adaptors/aws.mjs +8 -3
  17. package/dist/adaptors/aws.mjs.map +1 -1
  18. package/dist/adaptors/hono.cjs +2 -2
  19. package/dist/adaptors/hono.d.cts +1 -1
  20. package/dist/adaptors/hono.d.cts.map +1 -1
  21. package/dist/adaptors/hono.d.mts +1 -1
  22. package/dist/adaptors/hono.d.mts.map +1 -1
  23. package/dist/adaptors/hono.mjs +2 -2
  24. package/dist/adaptors/testing.cjs +2 -2
  25. package/dist/adaptors/testing.d.cts +1 -1
  26. package/dist/adaptors/testing.d.mts +1 -1
  27. package/dist/adaptors/testing.mjs +2 -2
  28. package/dist/crons/index.d.cts +4 -4
  29. package/dist/endpoints/index.cjs +26 -2
  30. package/dist/endpoints/index.cjs.map +1 -1
  31. package/dist/endpoints/index.d.cts +23 -3
  32. package/dist/endpoints/index.d.cts.map +1 -1
  33. package/dist/endpoints/index.d.mts +21 -1
  34. package/dist/endpoints/index.d.mts.map +1 -1
  35. package/dist/endpoints/index.mjs +26 -2
  36. package/dist/endpoints/index.mjs.map +1 -1
  37. package/dist/{lazyAccessors-CJZYs9uM.mjs → lazyAccessors-5h-aWohM.mjs} +10 -3
  38. package/dist/{lazyAccessors-CJZYs9uM.mjs.map → lazyAccessors-5h-aWohM.mjs.map} +1 -1
  39. package/dist/{lazyAccessors-DHvDeww0.cjs → lazyAccessors-Bc1u42WC.cjs} +10 -3
  40. package/dist/{lazyAccessors-DHvDeww0.cjs.map → lazyAccessors-Bc1u42WC.cjs.map} +1 -1
  41. package/package.json +10 -10
  42. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -4
  43. package/src/endpoints/Endpoint.ts +14 -1
  44. package/src/endpoints/EndpointBuilder.ts +25 -0
  45. package/src/endpoints/HonoEndpointAdaptor.ts +24 -1
  46. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +111 -0
  47. package/src/endpoints/__tests__/Endpoint.spec.ts +29 -0
  48. package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +47 -0
  49. package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +128 -0
  50. package/dist/Endpoint-C991gK3T.d.cts.map +0 -1
  51. package/dist/Endpoint-CRHpLPV3.d.mts.map +0 -1
  52. package/dist/HonoEndpointAdaptor-BDz1qM4z.cjs.map +0 -1
  53. package/dist/HonoEndpointAdaptor-DPBfEPZj.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/constructs",
3
- "version": "3.0.8",
3
+ "version": "3.0.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -83,31 +83,31 @@
83
83
  "zod": "~4.1.13",
84
84
  "@geekmidas/audit": "^2.0.0",
85
85
  "@geekmidas/cache": "^1.1.0",
86
+ "@geekmidas/envkit": "^1.0.5",
86
87
  "@geekmidas/db": "^1.0.1",
87
88
  "@geekmidas/errors": "^1.0.0",
88
- "@geekmidas/envkit": "^1.0.5",
89
89
  "@geekmidas/events": "^1.1.0",
90
90
  "@geekmidas/logger": "^1.0.1",
91
91
  "@geekmidas/rate-limit": "^2.0.0",
92
- "@geekmidas/schema": "^1.0.0",
92
+ "@geekmidas/services": "^1.0.1",
93
93
  "@geekmidas/testkit": "^1.0.5",
94
- "@geekmidas/services": "^1.0.1"
94
+ "@geekmidas/schema": "^1.0.0"
95
95
  },
96
96
  "peerDependencies": {
97
97
  "@middy/core": ">=6.3.1",
98
98
  "@types/aws-lambda": ">=8.10.92",
99
99
  "hono": ">=4.8.2",
100
100
  "msw": ">=2.0.0",
101
- "@geekmidas/audit": "^2.0.0",
102
- "@geekmidas/cache": "^1.1.0",
103
- "@geekmidas/db": "^1.0.1",
104
101
  "@geekmidas/envkit": "^1.0.5",
105
102
  "@geekmidas/errors": "^1.0.0",
106
- "@geekmidas/events": "^1.1.0",
103
+ "@geekmidas/audit": "^2.0.0",
107
104
  "@geekmidas/logger": "^1.0.1",
108
- "@geekmidas/rate-limit": "^2.0.0",
105
+ "@geekmidas/events": "^1.1.0",
109
106
  "@geekmidas/schema": "^1.0.0",
110
- "@geekmidas/services": "^1.0.1"
107
+ "@geekmidas/rate-limit": "^2.0.0",
108
+ "@geekmidas/services": "^1.0.1",
109
+ "@geekmidas/cache": "^1.1.0",
110
+ "@geekmidas/db": "^1.0.1"
111
111
  },
112
112
  "peerDependenciesMeta": {
113
113
  "@geekmidas/audit": {
@@ -474,7 +474,15 @@ export abstract class AmazonApiGatewayEndpoint<
474
474
  );
475
475
 
476
476
  const { output, metadata } = result;
477
- const body = output !== undefined ? JSON.stringify(output) : undefined;
477
+ const isJsonResponse = this.endpoint.responseType === 'application/json';
478
+ const body =
479
+ output === undefined
480
+ ? undefined
481
+ : isJsonResponse
482
+ ? JSON.stringify(output)
483
+ : typeof output === 'string'
484
+ ? output
485
+ : String(output);
478
486
 
479
487
  // Store response for middleware access
480
488
  (event as any).__response = output;
@@ -485,9 +493,20 @@ export abstract class AmazonApiGatewayEndpoint<
485
493
  body,
486
494
  };
487
495
 
488
- // Add custom headers
489
- if (metadata.headers && Object.keys(metadata.headers).length > 0) {
490
- lambdaResponse.headers = { ...metadata.headers };
496
+ // Compose headers. For non-JSON responseType, emit a default
497
+ // Content-Type header which metadata.headers (r.header()) can override.
498
+ const baseHeaders: Record<string, string> | undefined = isJsonResponse
499
+ ? undefined
500
+ : { 'content-type': this.endpoint.responseType };
501
+
502
+ if (
503
+ baseHeaders ||
504
+ (metadata.headers && Object.keys(metadata.headers).length > 0)
505
+ ) {
506
+ lambdaResponse.headers = {
507
+ ...(baseHeaders ?? {}),
508
+ ...(metadata.headers ?? {}),
509
+ };
491
510
  }
492
511
 
493
512
  // Format cookies as Set-Cookie headers
@@ -107,6 +107,12 @@ export class Endpoint<
107
107
  tags?: string[];
108
108
  /** The HTTP success status code to return (default: 200) */
109
109
  public readonly status: SuccessStatus;
110
+ /**
111
+ * Response content type for this endpoint. Defaults to `'application/json'`.
112
+ * Non-JSON types cause adaptors to emit the body as-is with the declared
113
+ * Content-Type header instead of JSON-serializing.
114
+ */
115
+ public readonly responseType: string;
110
116
  /** Default headers to apply to all responses */
111
117
  public readonly defaultHeaders: Record<string, string> = {};
112
118
  /** Function to extract session data from the request context */
@@ -465,7 +471,7 @@ export class Endpoint<
465
471
  if (responseSchema) {
466
472
  set(
467
473
  operation,
468
- ['responses', '200', 'content', 'application/json', 'schema'],
474
+ ['responses', '200', 'content', this.responseType, 'schema'],
469
475
  responseSchema,
470
476
  );
471
477
  }
@@ -606,6 +612,7 @@ export class Endpoint<
606
612
  databaseService,
607
613
  rlsConfig,
608
614
  rlsBypass,
615
+ responseType,
609
616
  }: EndpointOptions<
610
617
  TRoute,
611
618
  TMethod,
@@ -642,6 +649,7 @@ export class Endpoint<
642
649
  this.description = description;
643
650
  this.tags = tags;
644
651
  this.status = status;
652
+ this.responseType = responseType ?? 'application/json';
645
653
  this.endpointFn = fn;
646
654
 
647
655
  if (getSession) {
@@ -802,6 +810,11 @@ export interface EndpointOptions<
802
810
  rlsConfig?: RlsConfig<TServices, TSession, TLogger>;
803
811
  /** Whether to bypass RLS for this endpoint */
804
812
  rlsBypass?: boolean;
813
+ /**
814
+ * Response content type (e.g. `'application/json'`, `'text/html'`).
815
+ * Defaults to `'application/json'` when omitted.
816
+ */
817
+ responseType?: string;
805
818
  }
806
819
 
807
820
  /**
@@ -61,6 +61,7 @@ export class EndpointBuilder<
61
61
  protected _status?: SuccessStatus;
62
62
  protected _tags?: string[];
63
63
  protected _memorySize?: number;
64
+ protected _responseType: string = 'application/json';
64
65
  _getSession: SessionFn<TServices, TLogger, TSession, TDatabase> = () =>
65
66
  ({}) as TSession;
66
67
  _authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase> =
@@ -127,6 +128,29 @@ export class EndpointBuilder<
127
128
  return this;
128
129
  }
129
130
 
131
+ /**
132
+ * Set the response content type for this endpoint.
133
+ *
134
+ * Defaults to `'application/json'`. When set to any other value
135
+ * (e.g. `'text/html'`, `'text/plain'`), the response body is emitted
136
+ * as-is rather than JSON-serialized, and the `Content-Type` header
137
+ * reflects the declared value. Runtime overrides via `r.header()` still win.
138
+ *
139
+ * @param type - The MIME type to return (e.g. `'text/html'`)
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * e.get('/checkout-page')
144
+ * .output(z.string())
145
+ * .responseType('text/html')
146
+ * .handle(async () => '<html>...</html>');
147
+ * ```
148
+ */
149
+ responseType(type: string): this {
150
+ this._responseType = type;
151
+ return this;
152
+ }
153
+
130
154
  override publisher<T extends EventPublisher<any>, TName extends string>(
131
155
  publisher: Service<TName, T>,
132
156
  ): EndpointBuilder<
@@ -728,6 +752,7 @@ export class EndpointBuilder<
728
752
  databaseService: this._databaseService,
729
753
  rlsConfig: this._rlsConfig,
730
754
  rlsBypass: this._rlsBypass,
755
+ responseType: this._responseType,
731
756
  });
732
757
  }
733
758
  }
@@ -68,6 +68,16 @@ interface EndpointFeatures {
68
68
  hasRls: boolean;
69
69
  }
70
70
 
71
+ /**
72
+ * Case-insensitive check for a `content-type` header in a metadata headers map.
73
+ */
74
+ function hasContentTypeHeader(headers: Record<string, string>): boolean {
75
+ for (const key of Object.keys(headers)) {
76
+ if (key.toLowerCase() === 'content-type') return true;
77
+ }
78
+ return false;
79
+ }
80
+
71
81
  /**
72
82
  * Analyze endpoint features at registration time (not per-request)
73
83
  */
@@ -591,8 +601,21 @@ export class HonoEndpoint<
591
601
  logger.info({ status, body: output }, 'Outgoing response');
592
602
  }
593
603
 
604
+ // Respect the endpoint's declared responseType. For JSON (default)
605
+ // we use c.json() which sets Content-Type and serializes. For any
606
+ // other type, emit the body as-is and set the header explicitly —
607
+ // metadata.headers (from r.header()) applied above still wins.
608
+ if (endpoint.responseType === 'application/json') {
609
+ // @ts-expect-error
610
+ return c.json(output, status);
611
+ }
612
+ if (
613
+ !(metadata.headers && hasContentTypeHeader(metadata.headers))
614
+ ) {
615
+ c.header('content-type', endpoint.responseType);
616
+ }
594
617
  // @ts-expect-error
595
- return c.json(output, status);
618
+ return c.body(output as any, status);
596
619
  } catch (validationError: any) {
597
620
  logger.error(validationError, 'Output validation failed');
598
621
  const error = wrapError(
@@ -0,0 +1,111 @@
1
+ import { EnvironmentParser } from '@geekmidas/envkit';
2
+ import { createMockContext, createMockV2Event } from '@geekmidas/testkit/aws';
3
+ import type { Context } from 'aws-lambda';
4
+ import { beforeEach, describe, expect, it } from 'vitest';
5
+ import { z } from 'zod';
6
+ import { AmazonApiGatewayV2Endpoint } from '../AmazonApiGatewayV2EndpointAdaptor';
7
+ import { e } from '../EndpointFactory';
8
+
9
+ describe('AmazonApiGatewayV2Endpoint — responseType', () => {
10
+ let envParser: EnvironmentParser<{}>;
11
+ let mockContext: Context;
12
+
13
+ beforeEach(() => {
14
+ envParser = new EnvironmentParser({});
15
+ mockContext = createMockContext();
16
+ });
17
+
18
+ it('JSON-stringifies body with no content-type header when responseType is default', async () => {
19
+ const endpoint = e
20
+ .get('/users/:id')
21
+ .params(z.object({ id: z.string() }))
22
+ .output(z.object({ id: z.string() }))
23
+ .handle(async ({ params }) => ({ id: params.id }));
24
+
25
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
26
+
27
+ const event = createMockV2Event({
28
+ routeKey: 'GET /users/{id}',
29
+ rawPath: '/users/123',
30
+ pathParameters: { id: '123' },
31
+ });
32
+
33
+ const response = await adapter.handler(event, mockContext);
34
+
35
+ expect(response.statusCode).toBe(200);
36
+ expect(response.body).toBe(JSON.stringify({ id: '123' }));
37
+ // Default JSON responseType should not inject a default content-type
38
+ expect(response.headers?.['content-type']).toBeUndefined();
39
+ });
40
+
41
+ it('emits raw string body and text/html header when responseType is text/html', async () => {
42
+ const html = '<html><body>Checkout</body></html>';
43
+ const endpoint = e
44
+ .get('/checkout-page')
45
+ .output(z.string())
46
+ .responseType('text/html')
47
+ .handle(async () => html);
48
+
49
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
50
+
51
+ const event = createMockV2Event({
52
+ routeKey: 'GET /checkout-page',
53
+ rawPath: '/checkout-page',
54
+ });
55
+
56
+ const response = await adapter.handler(event, mockContext);
57
+
58
+ expect(response.statusCode).toBe(200);
59
+ // Body emitted as-is, NOT JSON-encoded (would be `"<html>..."`)
60
+ expect(response.body).toBe(html);
61
+ expect(response.body?.startsWith('"')).toBe(false);
62
+ expect(response.headers?.['content-type']).toBe('text/html');
63
+ });
64
+
65
+ it('emits raw plain text for text/plain', async () => {
66
+ const endpoint = e
67
+ .get('/robots.txt')
68
+ .output(z.string())
69
+ .responseType('text/plain')
70
+ .handle(async () => 'User-agent: *');
71
+
72
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
73
+
74
+ const event = createMockV2Event({
75
+ routeKey: 'GET /robots.txt',
76
+ rawPath: '/robots.txt',
77
+ });
78
+
79
+ const response = await adapter.handler(event, mockContext);
80
+
81
+ expect(response.statusCode).toBe(200);
82
+ expect(response.body).toBe('User-agent: *');
83
+ expect(response.headers?.['content-type']).toBe('text/plain');
84
+ });
85
+
86
+ it('lets r.header() runtime override win over endpoint.responseType', async () => {
87
+ const endpoint = e
88
+ .get('/dynamic')
89
+ .output(z.string())
90
+ .responseType('text/html')
91
+ .handle(async (_ctx, r) => {
92
+ r.header('content-type', 'text/xml');
93
+ return r.send('<xml></xml>');
94
+ });
95
+
96
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
97
+
98
+ const event = createMockV2Event({
99
+ routeKey: 'GET /dynamic',
100
+ rawPath: '/dynamic',
101
+ });
102
+
103
+ const response = await adapter.handler(event, mockContext);
104
+
105
+ expect(response.statusCode).toBe(200);
106
+ // Body still emitted raw because responseType is not JSON
107
+ expect(response.body).toBe('<xml></xml>');
108
+ // Runtime r.header() wins over the declared responseType default
109
+ expect(response.headers?.['content-type']).toBe('text/xml');
110
+ });
111
+ });
@@ -77,6 +77,35 @@ describe('Endpoint', () => {
77
77
  });
78
78
  });
79
79
 
80
+ it('should use the endpoint responseType as the OpenAPI content key', async () => {
81
+ const endpoint = new Endpoint({
82
+ route: '/checkout-page',
83
+ method: 'GET',
84
+ description: 'Hosted checkout page',
85
+ fn: async () => '<html></html>',
86
+ input: undefined,
87
+ output: z.string(),
88
+ authorize: undefined,
89
+ services: [],
90
+ status: undefined,
91
+ getSession: undefined,
92
+ logger: {} as any,
93
+ timeout: undefined,
94
+ memorySize: undefined,
95
+ responseType: 'text/html',
96
+ });
97
+
98
+ const spec = await endpoint.toOpenApi3Route();
99
+ const response200 = (spec['/checkout-page'].get.responses?.['200'] ??
100
+ {}) as any;
101
+
102
+ expect(response200.content).toHaveProperty('text/html');
103
+ expect(response200.content).not.toHaveProperty('application/json');
104
+ expect(response200.content['text/html'].schema).toMatchObject({
105
+ type: 'string',
106
+ });
107
+ });
108
+
80
109
  it('should include request body for POST endpoint', async () => {
81
110
  const bodySchema = z.object({
82
111
  name: z.string(),
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { z } from 'zod';
3
+ import { EndpointBuilder } from '../EndpointBuilder';
4
+
5
+ describe('EndpointBuilder.responseType', () => {
6
+ it("defaults to 'application/json' when not set", () => {
7
+ const endpoint = new EndpointBuilder('/users', 'GET')
8
+ .output(z.object({ id: z.string() }))
9
+ .handle(async () => ({ id: '1' }));
10
+
11
+ expect(endpoint.responseType).toBe('application/json');
12
+ });
13
+
14
+ it('stores a custom response type on the built Endpoint', () => {
15
+ const endpoint = new EndpointBuilder('/checkout-page', 'GET')
16
+ .output(z.string())
17
+ .responseType('text/html')
18
+ .handle(async () => '<html></html>');
19
+
20
+ expect(endpoint.responseType).toBe('text/html');
21
+ });
22
+
23
+ it('returns the builder for chaining', () => {
24
+ const builder = new EndpointBuilder('/users', 'GET');
25
+ const result = builder.responseType('text/plain');
26
+
27
+ expect(result).toBe(builder);
28
+ });
29
+
30
+ it('supports any arbitrary MIME type', () => {
31
+ const endpoint = new EndpointBuilder('/export.csv', 'GET')
32
+ .output(z.string())
33
+ .responseType('text/csv')
34
+ .handle(async () => 'a,b,c\n1,2,3');
35
+
36
+ expect(endpoint.responseType).toBe('text/csv');
37
+ });
38
+
39
+ it('last call wins when chained multiple times', () => {
40
+ const endpoint = new EndpointBuilder('/pdf', 'GET')
41
+ .responseType('text/html')
42
+ .responseType('application/pdf')
43
+ .handle(async () => 'pdf-bytes');
44
+
45
+ expect(endpoint.responseType).toBe('application/pdf');
46
+ });
47
+ });
@@ -0,0 +1,128 @@
1
+ import { EnvironmentParser } from '@geekmidas/envkit';
2
+ import type { Logger } from '@geekmidas/logger';
3
+ import { ServiceDiscovery } from '@geekmidas/services';
4
+ import { Hono } from 'hono';
5
+ import { describe, expect, it, vi } from 'vitest';
6
+ import { z } from 'zod';
7
+ import { Endpoint } from '../Endpoint';
8
+ import { HonoEndpoint } from '../HonoEndpointAdaptor';
9
+
10
+ const mockLogger: Logger = {
11
+ debug: vi.fn(),
12
+ info: vi.fn(),
13
+ warn: vi.fn(),
14
+ error: vi.fn(),
15
+ fatal: vi.fn(),
16
+ trace: vi.fn(),
17
+ child: vi.fn(() => mockLogger),
18
+ };
19
+
20
+ function makeEndpoint<T>(overrides: {
21
+ route: string;
22
+ method: 'GET';
23
+ output: any;
24
+ fn: () => Promise<T> | T;
25
+ responseType?: string;
26
+ }) {
27
+ return new Endpoint({
28
+ route: overrides.route,
29
+ method: overrides.method,
30
+ fn: overrides.fn as any,
31
+ input: undefined,
32
+ output: overrides.output,
33
+ services: [],
34
+ logger: mockLogger,
35
+ timeout: undefined,
36
+ memorySize: undefined,
37
+ status: undefined,
38
+ getSession: undefined,
39
+ authorize: undefined,
40
+ description: undefined,
41
+ responseType: overrides.responseType,
42
+ });
43
+ }
44
+
45
+ describe('HonoEndpointAdaptor — responseType', () => {
46
+ const envParser = new EnvironmentParser({});
47
+ const serviceDiscovery = ServiceDiscovery.getInstance(envParser);
48
+
49
+ it('defaults to application/json and JSON-encodes the output', async () => {
50
+ const endpoint = makeEndpoint({
51
+ route: '/users/:id',
52
+ method: 'GET',
53
+ output: z.object({ id: z.string() }),
54
+ fn: async () => ({ id: '123' }),
55
+ });
56
+
57
+ const app = new Hono();
58
+ new HonoEndpoint(endpoint).addRoute(serviceDiscovery, app);
59
+
60
+ const response = await app.request('/users/123');
61
+ expect(response.status).toBe(200);
62
+ expect(response.headers.get('content-type')).toMatch(/application\/json/);
63
+ expect(await response.json()).toEqual({ id: '123' });
64
+ });
65
+
66
+ it('emits raw HTML body when responseType is text/html', async () => {
67
+ const html = '<html><body><h1>Checkout</h1></body></html>';
68
+ const endpoint = makeEndpoint({
69
+ route: '/checkout-page',
70
+ method: 'GET',
71
+ output: z.string(),
72
+ fn: async () => html,
73
+ responseType: 'text/html',
74
+ });
75
+
76
+ const app = new Hono();
77
+ new HonoEndpoint(endpoint).addRoute(serviceDiscovery, app);
78
+
79
+ const response = await app.request('/checkout-page');
80
+ expect(response.status).toBe(200);
81
+ expect(response.headers.get('content-type')).toMatch(/text\/html/);
82
+
83
+ const body = await response.text();
84
+ // The body is emitted as-is, NOT JSON-encoded (would be `"<html>..."`)
85
+ expect(body).toBe(html);
86
+ expect(body.startsWith('"')).toBe(false);
87
+ });
88
+
89
+ it('emits raw plain text when responseType is text/plain', async () => {
90
+ const endpoint = makeEndpoint({
91
+ route: '/robots.txt',
92
+ method: 'GET',
93
+ output: z.string(),
94
+ fn: async () => 'User-agent: *\nDisallow:',
95
+ responseType: 'text/plain',
96
+ });
97
+
98
+ const app = new Hono();
99
+ new HonoEndpoint(endpoint).addRoute(serviceDiscovery, app);
100
+
101
+ const response = await app.request('/robots.txt');
102
+ expect(response.status).toBe(200);
103
+ expect(response.headers.get('content-type')).toMatch(/text\/plain/);
104
+ expect(await response.text()).toBe('User-agent: *\nDisallow:');
105
+ });
106
+
107
+ it('lets r.header() runtime override win over the declared responseType header', async () => {
108
+ const endpoint = makeEndpoint({
109
+ route: '/dynamic',
110
+ method: 'GET',
111
+ output: z.string(),
112
+ fn: async (_ctx: any, r: any) => {
113
+ r.header('content-type', 'text/xml; charset=utf-8');
114
+ return r.send('<xml></xml>');
115
+ },
116
+ responseType: 'text/html',
117
+ });
118
+
119
+ const app = new Hono();
120
+ new HonoEndpoint(endpoint).addRoute(serviceDiscovery, app);
121
+
122
+ const response = await app.request('/dynamic');
123
+ expect(response.status).toBe(200);
124
+ // Runtime header via r.header() takes precedence over endpoint.responseType
125
+ expect(response.headers.get('content-type')).toMatch(/text\/xml/);
126
+ expect(await response.text()).toBe('<xml></xml>');
127
+ });
128
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"Endpoint-C991gK3T.d.cts","names":[],"sources":["../src/endpoints/Authorizer.ts","../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/Endpoint.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Endpoint-CRHpLPV3.d.mts","names":[],"sources":["../src/endpoints/Authorizer.ts","../src/endpoints/audit.ts","../src/endpoints/rls.ts","../src/endpoints/Endpoint.ts"],"sourcesContent":[],"mappings":"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"}