getRequestPath method

String getRequestPath(
  1. String basePath, [
  2. Map<String, dynamic>? queryParams
])

Constructs a properly encoded request path with optional query parameters.

Implementation

String getRequestPath(String basePath, [Map<String, dynamic>? queryParams]) {
  if (basePath.isEmpty) {
    throw SdkError(
      message: 'Base path cannot be empty.',
      code: 'EMPTY_BASE_PATH',
      details: 'Ensure a valid base path is provided.',
    );
  }

  if (queryParams == null || queryParams.isEmpty) {
    return basePath;
  }

  final encodedQueryParams = queryParams.entries
      .map(
        (e) =>
            '${Uri.encodeComponent(e.key)}=${Uri.encodeComponent(e.value.toString())}',
      )
      .join('&');

  return '$basePath?$encodedQueryParams';
}