@@ -79,51 +79,48 @@ export const register = async (app: App, args: DefaultedArgs): Promise<Disposabl
7979 app . router . use ( common )
8080 app . wsRouter . use ( common )
8181
82- app . router . use ( async ( req , res , next ) => {
82+ app . router . use ( / . * / , async ( req , res , next ) => {
8383 // If we're handling TLS ensure all requests are redirected to HTTPS.
8484 // TODO: This does *NOT* work if you have a base path since to specify the
8585 // protocol we need to specify the whole path.
8686 if ( args . cert && ! ( req . connection as tls . TLSSocket ) . encrypted ) {
8787 return res . redirect ( `https://${ req . headers . host } ${ req . originalUrl } ` )
8888 }
89+ next ( )
90+ } )
8991
90- // Return security.txt.
91- if ( req . originalUrl === "/security.txt" || req . originalUrl === "/.well-known/security.txt" ) {
92- const resourcePath = path . resolve ( rootPath , "src/browser/security.txt" )
93- res . set ( "Content-Type" , getMediaMime ( resourcePath ) )
94- return res . send ( await fs . readFile ( resourcePath ) )
95- }
96-
97- // Return robots.txt.
98- if ( req . originalUrl === "/robots.txt" ) {
99- const resourcePath = path . resolve ( rootPath , "src/browser/robots.txt" )
100- res . set ( "Content-Type" , getMediaMime ( resourcePath ) )
101- return res . send ( await fs . readFile ( resourcePath ) )
102- }
92+ app . router . get ( [ "/security.txt" , "/.well-known/security.txt" ] , async ( _ , res ) => {
93+ const resourcePath = path . resolve ( rootPath , "src/browser/security.txt" )
94+ res . set ( "Content-Type" , getMediaMime ( resourcePath ) )
95+ res . send ( await fs . readFile ( resourcePath ) )
96+ } )
10397
104- next ( )
98+ app . router . get ( "/robots.txt" , async ( _ , res ) => {
99+ const resourcePath = path . resolve ( rootPath , "src/browser/robots.txt" )
100+ res . set ( "Content-Type" , getMediaMime ( resourcePath ) )
101+ res . send ( await fs . readFile ( resourcePath ) )
105102 } )
106103
107104 app . router . use ( "/" , domainProxy . router )
108105 app . wsRouter . use ( "/" , domainProxy . wsRouter . router )
109106
110- app . router . all ( "/proxy/:port/:path(.*)? " , async ( req , res ) => {
107+ app . router . all ( "/proxy/:port{/*path} " , async ( req , res ) => {
111108 await pathProxy . proxy ( req , res )
112109 } )
113- app . wsRouter . get ( "/proxy/:port/:path(.*)? " , async ( req ) => {
114- await pathProxy . wsProxy ( req as WebsocketRequest )
110+ app . wsRouter . get ( "/proxy/:port{/*path} " , async ( req ) => {
111+ await pathProxy . wsProxy ( req as unknown as WebsocketRequest )
115112 } )
116113 // These two routes pass through the path directly.
117114 // So the proxied app must be aware it is running
118115 // under /absproxy/<someport>/
119- app . router . all ( "/absproxy/:port/:path(.*)? " , async ( req , res ) => {
116+ app . router . all ( "/absproxy/:port{/*path} " , async ( req , res ) => {
120117 await pathProxy . proxy ( req , res , {
121118 passthroughPath : true ,
122119 proxyBasePath : args [ "abs-proxy-base-path" ] ,
123120 } )
124121 } )
125- app . wsRouter . get ( "/absproxy/:port/:path(.*)? " , async ( req ) => {
126- await pathProxy . wsProxy ( req as WebsocketRequest , {
122+ app . wsRouter . get ( "/absproxy/:port{/*path} " , async ( req ) => {
123+ await pathProxy . wsProxy ( req as unknown as WebsocketRequest , {
127124 passthroughPath : true ,
128125 proxyBasePath : args [ "abs-proxy-base-path" ] ,
129126 } )
0 commit comments