build method

  1. @override
HttpRequest build({
  1. required String method,
  2. required String path,
  3. Map<String, String>? headers,
  4. Map<String, dynamic>? queryParameters,
  5. dynamic body,
  6. Duration? timeout,
  7. bool? useToken,
  8. int? maxRetries,
  9. List<int>? retryStatusCodes,
  10. bool? rethrowExceptions,
})
override

Build HTTP request

Implementation

@override
HttpRequest build({
  required String method,
  required String path,
  Map<String, String>? headers,
  Map<String, dynamic>? queryParameters,
  dynamic body,
  Duration? timeout,
  bool? useToken,
  int? maxRetries,
  List<int>? retryStatusCodes,
  bool? rethrowExceptions,
}) {
  // Build URL
  final url = _buildUrl(path, queryParameters);

  // Merge headers
  final mergedHeaders = <String, String>{
    ...defaultHeaders,
    ...?headers,
  };

  return HttpRequest(
    method: method,
    url: url,
    headers: mergedHeaders,
    queryParameters: queryParameters,
    body: body,
    timeout: timeout ?? defaultTimeout,
    useToken: useToken ?? true,
    maxRetries: maxRetries ?? defaultMaxRetries,
    retryStatusCodes: retryStatusCodes ?? defaultRetryStatusCodes,
    rethrowExceptions: rethrowExceptions ?? false,
  );
}