getValidPath method

String getValidPath(
  1. String? baseUrl,
  2. String? path
)

Implementation

String getValidPath(String? baseUrl, String? path) {
  if (path == null || path.isEmpty) return baseUrl ?? '';
  RegExp regExp = new RegExp(
    r"/^((http|https):\/\/)/",
    caseSensitive: false,
    multiLine: false,
  );
  if (regExp.hasMatch(path)) return path;
  if (baseUrl != null) {
    if (baseUrl.endsWith('/') && path.startsWith('/')) {
      if (baseUrl.length > 0) {
        baseUrl = baseUrl.substring(0, baseUrl.length - 1);
        path = path.substring(1, path.length);
      }
      if (baseUrl.endsWith('/')) {
        return path;
      } else {
        return '/$path';
      }
    }
    return '$baseUrl/$path';
  } else {
    var defaultBaseUrl = _networkConfig.baseUrl;
    if (defaultBaseUrl != null) {
      if (defaultBaseUrl.endsWith('/') && path.startsWith('/')) {
        if (defaultBaseUrl.length > 0) {
          path = path.substring(1, path.length);
        }
      }
      if (defaultBaseUrl.endsWith('/')) {
        return path;
      } else {
        return '/$path';
      }
    }
    return path;
  }
}