Custom headers and query parameters can be passed into all finders and watchers (findAll
, findOne
, save
, watchOne
etc) but sometimes defaults are necessary.
Here is how:
mixin BaseAdapter<T extends DataModel<T>> on RemoteAdapter<T> {
final _localStorageService = read(localStorageProvider);
@override
String get baseUrl => "http://my.remote.url:8080/";
@override
FutureOr<Map<String, String>> get defaultHeaders async {
final token = _localStorageService.getToken();
return await super.defaultHeaders & {'Authorization': token};
}
@override
FutureOr<Map<String, dynamic>> get defaultParams async {
return await super.defaultParams & {'v': 1};
}
}