Skip to content

Commit

Permalink
fix: πŸ› route payload options missing types
Browse files Browse the repository at this point in the history
🎟️ References hapijs#4505 hapijs#4501
  • Loading branch information
damusix committed Jun 10, 2024
1 parent 6068875 commit c8d7e2a
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 6 deletions.
14 changes: 8 additions & 6 deletions lib/types/route.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,13 @@ export interface RouteOptionsPayload {
*/
maxBytes?: number | undefined;

/**
* @default 1000
* Limits the size of incoming payloads to the specified byte count. Allowing very large payloads may cause the server to run out of memory.
* [See docs](https://github.com/hapijs/hapi/blob/master/API.md#-routeoptionspayloadmaxparts)
*/
maxParts?: number;

/**
* @default none.
* Overrides payload processing for multipart requests. Value can be one of:
Expand All @@ -267,12 +274,7 @@ export interface RouteOptionsPayload {
* * * * payload - the processed part payload.
* [See docs](https://github.com/hapijs/hapi/blob/master/API.md#-routeoptionspayloadmultipart)
*/
multipart?:
| false
| {
output: PayloadOutput | 'annotated';
}
| undefined;
multipart?: boolean | { output: PayloadOutput | 'annotated' };

/**
* @default 'data'.
Expand Down
2 changes: 2 additions & 0 deletions lib/types/server/methods.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ export type ServerMethod = (...args: any[]) => any;
*/
export interface ServerMethodCache extends PolicyOptions<any> {
generateTimeout: number | false;
cache?: string;
segment?: string;
}

/**
Expand Down
17 changes: 17 additions & 0 deletions test/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ const route: ServerRoute<RequestDecorations> = {
options: {
app: {
prefix: ['xx-']
},
payload: {
maxParts: 100,
maxBytes: 1024 * 1024,
output: 'stream',
multipart: true
}
},
handler: (request: AppRequest, h: ResponseToolkit) => {
Expand Down Expand Up @@ -96,3 +102,14 @@ check.type<RequestRoute | null>(server.match('get', '/'));
const sum = loadedServer.plugins.test.add(1, 2);
expect(sum).to.equal(130);
check.type<number>(sum);

server.method('test.add', (a: number, b: number) => a + b, {
bind: server,
cache: {
expiresIn: 1000,
generateTimeout: 100,
cache: 'some-cache',
segment: 'test-segment',
},
generateKey: (a: number, b: number) => `${a}${b}`
});

0 comments on commit c8d7e2a

Please sign in to comment.