Added download
This commit is contained in:
@@ -11,18 +11,10 @@ import 'package:fotodocumentation/utils/url_utils.dart';
|
||||
|
||||
abstract class BaseController {
|
||||
UrlUtils get uriUtils => DiContainer.get();
|
||||
JwtTokenStorage get _jwtTokenStorage => DiContainer.get();
|
||||
HttpClientUtils get httpClientUtils => DiContainer.get();
|
||||
|
||||
Future<Header> getAuthHeader() async {
|
||||
final accessToken = await _jwtTokenStorage.getAccessToken();
|
||||
|
||||
if (accessToken != null && accessToken.isNotEmpty) {
|
||||
// Use JWT Bearer token
|
||||
return Header('Authorization', 'Bearer $accessToken');
|
||||
} else {
|
||||
return const Header("Accept-Language", "en-US");
|
||||
}
|
||||
Header getAuthHeader() {
|
||||
return HeaderUtils().getAuthHeader();
|
||||
}
|
||||
|
||||
Exception getServerError(Response response) {
|
||||
@@ -32,7 +24,7 @@ abstract class BaseController {
|
||||
Future<List<T>> runGetListWithAuth<T>(String uriStr, List<T> Function(dynamic) convert) async {
|
||||
http.Client client = httpClientUtils.client;
|
||||
try {
|
||||
Header cred = await getAuthHeader();
|
||||
Header cred = getAuthHeader();
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
var response = await client.get(uri, headers: {cred.name: cred.value});
|
||||
if (response.statusCode == 200) {
|
||||
@@ -51,7 +43,7 @@ abstract class BaseController {
|
||||
Future<T?> runGetWithAuth<T>(String uriStr, T Function(dynamic) convert) async {
|
||||
http.Client client = httpClientUtils.client;
|
||||
try {
|
||||
Header cred = await getAuthHeader();
|
||||
Header cred = getAuthHeader();
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
var response = await client.get(uri, headers: {cred.name: cred.value});
|
||||
if (response.statusCode == 200) {
|
||||
@@ -67,9 +59,26 @@ abstract class BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<int>> runGetBytesWithAuth(String uriStr) async {
|
||||
http.Client client = httpClientUtils.client;
|
||||
try {
|
||||
Header cred = getAuthHeader();
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
var response = await client.get(uri, headers: {cred.name: cred.value});
|
||||
if (response.statusCode == 200) {
|
||||
return response.bodyBytes;
|
||||
} else {
|
||||
throw ServerError(response.statusCode);
|
||||
}
|
||||
} catch (e) {
|
||||
logger.e("exception $e");
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> runDeleteWithAuth(String uriStr) async {
|
||||
http.Client client = httpClientUtils.client;
|
||||
Header cred = await getAuthHeader();
|
||||
Header cred = getAuthHeader();
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
var response = await client.delete(uri, headers: {cred.name: cred.value});
|
||||
return response.statusCode == 200;
|
||||
@@ -77,13 +86,28 @@ abstract class BaseController {
|
||||
|
||||
Future<bool> runPutWithAuth(String uriStr) async {
|
||||
http.Client client = httpClientUtils.client;
|
||||
Header cred = await getAuthHeader();
|
||||
Header cred = getAuthHeader();
|
||||
Uri uri = Uri.parse(uriStr);
|
||||
var response = await client.put(uri, headers: {cred.name: cred.value});
|
||||
return response.statusCode == 200;
|
||||
}
|
||||
}
|
||||
|
||||
class HeaderUtils{
|
||||
JwtTokenStorage get _jwtTokenStorage => DiContainer.get();
|
||||
|
||||
Header getAuthHeader() {
|
||||
final accessToken = _jwtTokenStorage.getAccessToken();
|
||||
|
||||
if (accessToken != null && accessToken.isNotEmpty) {
|
||||
// Use JWT Bearer token
|
||||
return Header('Authorization', 'Bearer $accessToken');
|
||||
} else {
|
||||
return const Header("Accept-Language", "en-US");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Header {
|
||||
final String name;
|
||||
final String value;
|
||||
|
||||
Reference in New Issue
Block a user