@@ -341,7 +341,12 @@ export const composeHandler = ({
341341 }
342342} ) : ComposedHandler => {
343343 const isHandleFn = typeof handler === 'function'
344- if ( ! isHandleFn ) handler = mapCompactResponse ( handler )
344+
345+ if ( ! isHandleFn )
346+ handler = mapResponse ( handler , {
347+ // @ts -expect-error private property
348+ headers : app . setHeaders ?? { }
349+ } )
345350
346351 const hasErrorHandler =
347352 ( app . config . forceErrorEncapsulation &&
@@ -387,11 +392,6 @@ export const composeHandler = ({
387392 hooks . type !== 'none' &&
388393 ( inference . body || ! ! validator . body )
389394
390- // @ts -expect-error private
391- const defaultHeaders = app . setHeaders
392- const hasDefaultHeaders =
393- defaultHeaders && ! ! Object . keys ( defaultHeaders ) . length
394-
395395 // ? defaultHeaders doesn't imply that user will use headers in handler
396396 const hasHeaders = inference . headers || validator . headers
397397 const hasCookie = inference . cookie || ! ! validator . cookie
@@ -556,11 +556,7 @@ export const composeHandler = ({
556556
557557 const hasTraceSet = traceInference . set
558558 const hasSet =
559- inference . cookie ||
560- inference . set ||
561- hasTraceSet ||
562- hasHeaders ||
563- hasDefaultHeaders
559+ inference . cookie || inference . set || hasTraceSet || hasHeaders
564560
565561 if ( hasTrace ) fnLiteral += '\nconst id = c.$$requestId\n'
566562
@@ -782,7 +778,7 @@ export const composeHandler = ({
782778 unit : hooks . transform . length
783779 } )
784780
785- fnLiteral += '\nlet transformed\n'
781+ if ( hooks . transform . length ) fnLiteral += '\nlet transformed\n'
786782
787783 for ( let i = 0 ; i < hooks . transform . length ; i ++ ) {
788784 const transform = hooks . transform [ i ]
@@ -1166,9 +1162,8 @@ export const composeHandler = ({
11661162 fnLiteral += encodeCookie
11671163
11681164 if ( handler instanceof Response ) {
1169- fnLiteral +=
1170- inference . set || hasDefaultHeaders
1171- ? `if(
1165+ fnLiteral += inference . set
1166+ ? `if(
11721167 isNotEmpty(c.set.headers) ||
11731168 c.set.status !== 200 ||
11741169 c.set.redirect ||
@@ -1177,7 +1172,7 @@ export const composeHandler = ({
11771172 return mapResponse(${ handle } .clone(), c.set, c.request)
11781173 else
11791174 return ${ handle } .clone()`
1180- : `return ${ handle } .clone()`
1175+ : `return ${ handle } .clone()`
11811176
11821177 fnLiteral += '\n'
11831178 } else if ( hasSet )
@@ -1215,9 +1210,8 @@ export const composeHandler = ({
12151210 report ( 'afterHandle' ) ( )
12161211
12171212 if ( handler instanceof Response ) {
1218- fnLiteral +=
1219- inference . set || hasDefaultHeaders
1220- ? `if(
1213+ fnLiteral += inference . set
1214+ ? `if(
12211215 isNotEmpty(c.set.headers) ||
12221216 c.set.status !== 200 ||
12231217 c.set.redirect ||
@@ -1226,7 +1220,7 @@ export const composeHandler = ({
12261220 return mapResponse(${ handle } .clone(), c.set, c.request)
12271221 else
12281222 return ${ handle } .clone()`
1229- : `return ${ handle } .clone()`
1223+ : `return ${ handle } .clone()`
12301224
12311225 fnLiteral += '\n'
12321226 } else if ( hasSet )
0 commit comments