33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
///
 | 
						|
/// Copyright © 2016-2025 The Thingsboard Authors
 | 
						|
///
 | 
						|
/// Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
/// you may not use this file except in compliance with the License.
 | 
						|
/// You may obtain a copy of the License at
 | 
						|
///
 | 
						|
///     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
///
 | 
						|
/// Unless required by applicable law or agreed to in writing, software
 | 
						|
/// distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
/// See the License for the specific language governing permissions and
 | 
						|
/// limitations under the License.
 | 
						|
///
 | 
						|
 | 
						|
import type { ServerResponse } from 'node:http';
 | 
						|
import type { Connect } from 'vite';
 | 
						|
import type { NextHandleFunction } from 'connect';
 | 
						|
 | 
						|
const tbHtmlFallbackMiddleware: NextHandleFunction = (
 | 
						|
  req: Connect.IncomingMessage,
 | 
						|
  _res: ServerResponse,
 | 
						|
  next: Connect.NextFunction
 | 
						|
) => {
 | 
						|
  if (/^\/resources\/scada-symbols\/(?:system|tenant)\/[^/]+$/.test(req.url)) {
 | 
						|
    req.url = '/';
 | 
						|
  }
 | 
						|
  next();
 | 
						|
}
 | 
						|
 | 
						|
export default tbHtmlFallbackMiddleware;
 |