@@ -106,6 +106,7 @@ export default class extends WorkerEntrypoint<Env> {
106106 hostname : url . hostname ,
107107 eyeballPath : url . pathname ,
108108 env : this . env . ENVIRONMENT ,
109+ version : this . env . VERSION_METADATA ?. id ,
109110 } ) ;
110111
111112 return handleRequest (
@@ -115,21 +116,17 @@ export default class extends WorkerEntrypoint<Env> {
115116 this . unstable_exists . bind ( this ) ,
116117 this . unstable_getByETag . bind ( this )
117118 ) ;
118- } ) . catch ( ( err ) =>
119- this . handleError ( sentry , analytics , performance , startTimeMs , err )
120- ) ;
119+ } )
120+ . catch ( ( err ) => this . handleError ( sentry , analytics , err ) )
121+ . finally ( ( ) => this . submitMetrics ( analytics , performance , startTimeMs ) ) ;
121122 } catch ( err ) {
122- return this . handleError ( sentry , analytics , performance , startTimeMs , err ) ;
123+ const errorResponse = this . handleError ( sentry , analytics , err ) ;
124+ this . submitMetrics ( analytics , performance , startTimeMs ) ;
125+ return errorResponse ;
123126 }
124127 }
125128
126- handleError (
127- sentry : Toucan | undefined ,
128- analytics : Analytics ,
129- performance : PerformanceTimer ,
130- startTimeMs : number ,
131- err : unknown
132- ) {
129+ handleError ( sentry : Toucan | undefined , analytics : Analytics , err : unknown ) {
133130 try {
134131 const response = new InternalServerErrorResponse ( err as Error ) ;
135132
@@ -143,9 +140,22 @@ export default class extends WorkerEntrypoint<Env> {
143140 }
144141
145142 return response ;
146- } finally {
143+ } catch ( e ) {
144+ console . error ( "Error handling error" , e ) ;
145+ return new InternalServerErrorResponse ( e as Error ) ;
146+ }
147+ }
148+
149+ submitMetrics (
150+ analytics : Analytics ,
151+ performance : PerformanceTimer ,
152+ startTimeMs : number
153+ ) {
154+ try {
147155 analytics . setData ( { requestTime : performance . now ( ) - startTimeMs } ) ;
148156 analytics . write ( ) ;
157+ } catch ( e ) {
158+ console . error ( "Error submitting metrics" , e ) ;
149159 }
150160 }
151161
0 commit comments