@@ -51,9 +51,13 @@ const LAYER_TIMEOUT_MS = Math.max(
5151export default defineEventHandler ( async ( event ) => {
5252 // 设置SSE响应头
5353 setHeader ( event , "Content-Type" , "text/event-stream" ) ;
54- setHeader ( event , "Cache-Control" , "no-cache" ) ;
54+ setHeader ( event , "Cache-Control" , "no-cache, no-transform " ) ;
5555 setHeader ( event , "Connection" , "keep-alive" ) ;
56+ setHeader ( event , "X-Accel-Buffering" , "no" ) ;
57+ setHeader ( event , "Content-Encoding" , "identity" ) ;
5658 event . node . res . flushHeaders ?.( ) ;
59+ event . node . res . write ( `:${ " " . repeat ( 2048 ) } \n\n` ) ;
60+ ( event . node . res as any ) . flush ?.( ) ;
5761
5862 const query = getQuery ( event ) ;
5963 const { imageName : rawImageName , token, layers : layersJson } = query as unknown as QueryParams ;
@@ -110,6 +114,7 @@ export default defineEventHandler(async (event) => {
110114 } ) } \n\n`
111115 ) ;
112116 ( event . node . res as any ) . flush ?.( ) ;
117+ event . node . res . end ( ) ;
113118 } ;
114119
115120 // 下载单个层
@@ -272,6 +277,7 @@ export default defineEventHandler(async (event) => {
272277 } ) } \n\n`
273278 ) ;
274279 ( event . node . res as any ) . flush ?.( ) ;
280+ event . node . res . end ( ) ;
275281 logger . info ( "pull complete" , {
276282 imageName,
277283 total : results . length ,
0 commit comments