forked from Cutlery/immich
		
	This fixes issue #4397 and automatically adds the https protocol to the server endpoint url if it is missing Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
		
			
				
	
	
		
			23 lines
		
	
	
		
			681 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			681 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:immich_mobile/shared/models/store.dart';
 | |
| 
 | |
| String sanitizeUrl(String url) {
 | |
|   // Add schema if none is set
 | |
|   final urlWithSchema =
 | |
|       url.trimLeft().startsWith(RegExp(r"https?://")) ? url : "https://$url";
 | |
| 
 | |
|   // Remove trailing slash(es)
 | |
|   return urlWithSchema.trimRight().replaceFirst(RegExp(r"/+$"), "");
 | |
| }
 | |
| 
 | |
| String? getServerUrl() {
 | |
|   final serverUrl = Store.tryGet(StoreKey.serverEndpoint);
 | |
|   final serverUri = serverUrl != null ? Uri.tryParse(serverUrl) : null;
 | |
|   if (serverUri == null) {
 | |
|     return null;
 | |
|   }
 | |
| 
 | |
|   return serverUri.hasPort
 | |
|       ? "${serverUri.scheme}://${serverUri.host}:${serverUri.port}"
 | |
|       : "${serverUri.scheme}://${serverUri.host}";
 | |
| }
 |