get method

Future<void> get()

Fetch the network data on url: $hostUrl + path

Implementation

Future<void> get() async {
  _throwIfSharkNotInit();

  // update state to loading
  _updateState(SharkWidgetState.loading);
  assert(Shark.isInitialized);

  if (_isLocalSource) {
    _updateState(SharkWidgetState.success);
  } else {
    // put widget request tag to header
    // in order to identify if it's widget request
    _putWidgetRequestTag();

    final repository = _serviceRepository;
    // fetch ui here
    final result = await repository.get(
      _path,
      params: queryParams,
      options: Options(headers: _headers),
    );

    if (result is Success) {
      _resultJson = _deserialize(result.data);
      _updateState(SharkWidgetState.success);
    } else if (result is Error) {
      SharkReport.report(
          SharkError('Network error while fetching widget'), result.message);
      _updateState(SharkWidgetState.error);
    }
  }

  notifyListeners();
}