mergeOptions static method
Options
mergeOptions()
Merges connector and request Dio Options into a single Options
object ready to pass to Dio.
The method is always taken from the request. For every other field,
the request value is preferred over the connector value. The
mergedHeaders argument (already merged by mergeHeaders) is layered
on top of any headers in both Options objects. The extra maps are
shallow-merged with the same priority rule.
Implementation
static Options mergeOptions(
Options? connector,
Options? request,
String method,
Map<String, String>? mergedHeaders,
) {
final base = connector ?? Options();
final req = request ?? Options();
return Options(
method: method,
headers: {
...?base.headers,
...?req.headers,
...?mergedHeaders,
},
contentType: req.contentType ?? base.contentType,
responseType: req.responseType ?? base.responseType,
validateStatus: req.validateStatus ?? base.validateStatus,
receiveTimeout: req.receiveTimeout ?? base.receiveTimeout,
sendTimeout: req.sendTimeout ?? base.sendTimeout,
followRedirects: req.followRedirects ?? base.followRedirects ?? true,
maxRedirects: req.maxRedirects ?? base.maxRedirects ?? 5,
persistentConnection:
req.persistentConnection ?? base.persistentConnection ?? true,
extra: {
...?base.extra,
...?req.extra,
},
);
}