Newer
Older
import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http;
import 'datamodel.dart';
class RestData {
Future<Map> fetchData(String url) async {
List<Collection> collectionList = [];
Map valueMap;
try {
final response = await http.get(Uri.parse(url)).timeout(
const Duration(milliseconds: 500));
if (response.statusCode == 200) {
valueMap = json.decode(response.body) ;
return valueMap;
} else {
throw Exception('Failed to fetch Data. Header: ${response
.headers} StatusCode: ${response.statusCode} Body: ${response
.body}');
}
} on SocketException catch (e) {
throw Exception('No connection');
} on TimeoutException catch (e) {
throw Exception('Connection Timeout');
} catch (e) {
rethrow;
}
}
}