11import { createProxyEventHandler } from 'h3-proxy'
22
3- let currentUrl = useRuntimeConfig ( ) . public . backendUrl
4- let currentHandler = createProxyEventHandler ( {
5- target : currentUrl ,
6- changeOrigin : true ,
7- configureProxyRequest : ( ) => ( { streamRequest : true , sendStream : true , fetchOptions : { redirect : 'manual' } } ) ,
8- } )
3+ // Supports hot-reloading of the backend server config
4+ let currentBackendUrl = useRuntimeConfig ( ) . public . backendUrl
5+ let currentHandler = createHandler ( )
96export default defineEventHandler ( async ( e ) => {
107 const backendUrl = useRuntimeConfig ( ) . public . backendUrl
11- if ( currentUrl !== backendUrl ) {
12- recreateHandler ( )
13- currentUrl = backendUrl
8+ if ( currentBackendUrl !== backendUrl ) {
9+ currentHandler = createHandler ( )
10+ currentBackendUrl = backendUrl
1411 }
1512
1613 return currentHandler ( e ) . catch ( ( err : Error ) => {
@@ -21,9 +18,10 @@ export default defineEventHandler(async (e) => {
2118 } )
2219} )
2320
24- function recreateHandler ( ) {
25- currentHandler = createProxyEventHandler ( {
26- target : currentUrl ,
21+ function createHandler ( ) {
22+ return createProxyEventHandler ( {
23+ target : currentBackendUrl ,
24+ enableLogger : false ,
2725 changeOrigin : true ,
2826 configureProxyRequest : ( ) => ( { streamRequest : true , sendStream : true , fetchOptions : { redirect : 'manual' } } ) ,
2927 } )
0 commit comments