mirror of
https://github.com/nini22P/iris.git
synced 2026-06-20 10:42:14 +08:00
27 lines
668 B
Dart
27 lines
668 B
Dart
import 'package:iris/utils/path_conv.dart';
|
|
import 'package:path/path.dart' as path;
|
|
|
|
List<String> decodePath(String uri) {
|
|
String processedUri = uri;
|
|
|
|
if (processedUri.startsWith('/')) {
|
|
processedUri = processedUri.replaceFirst('/', '');
|
|
}
|
|
|
|
if (processedUri.contains('%2F') ||
|
|
processedUri.contains('%252F') ||
|
|
processedUri.contains('%3A')) {
|
|
processedUri = Uri.decodeComponent(processedUri);
|
|
}
|
|
|
|
processedUri = path.normalize(processedUri);
|
|
|
|
if (processedUri.contains('%2F') ||
|
|
processedUri.contains('%252F') ||
|
|
processedUri.contains('%3A')) {
|
|
return decodePath(processedUri);
|
|
}
|
|
|
|
return pathConv(processedUri);
|
|
}
|