url method

String url(
  1. String path, {
  2. Map<String, dynamic>? query,
})

Generate a full URL to the given path.

Implementation

String url(String path, {Map<String, dynamic>? query}) {
  final envBaseUrl = Env.get('APP_URL') ?? 'http://localhost:8080';
  final baseUrl = _normalizeBaseUrl(envBaseUrl);
  var fullUrl = '$baseUrl/${path.startsWith('/') ? path.substring(1) : path}';

  if (_forceHttps && fullUrl.startsWith('http://')) {
    fullUrl = fullUrl.replaceFirst('http://', 'https://');
  }

  if (query != null && query.isNotEmpty) {
    final queryString = _buildQueryString(query);
    fullUrl += '?$queryString';
  }

  return fullUrl;
}