Files
blinds_flutter/lib/BlindMasterResources/secure_transmissions.dart

105 lines
2.6 KiB
Dart
Raw Normal View History

2025-07-10 18:52:04 -05:00
import 'dart:convert';
import 'dart:io';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:http/http.dart' as http;
import 'package:socket_io_client/socket_io_client.dart' as IO;
String local = Platform.isAndroid ? '10.0.2.2' : 'localhost';
String fromDevice = '192.168.1.190';
2026-01-05 16:53:40 -06:00
String scheme = 'http';
2025-12-28 14:07:04 -06:00
String host = local;
2025-07-10 18:52:04 -05:00
int port = 3000;
2026-01-05 16:53:40 -06:00
String priv = "$scheme://$host:$port";
String pub = "https://wahwa.com";
String socketString = pub;
2025-07-10 18:52:04 -05:00
Future<http.Response?> secureGet(String path, {Map<String, dynamic>? queryParameters}) async{
final storage = FlutterSecureStorage();
final token = await storage.read(key: 'token');
if (token == null) return null;
2026-01-05 16:53:40 -06:00
final uri = Uri.parse(socketString).replace(
path: path,
2025-07-10 18:52:04 -05:00
queryParameters: queryParameters?.map((key, value) => MapEntry(key, value.toString())),
);
return await http
.get(
uri,
headers: {
'Authorization': 'Bearer $token',
'Content-Type': 'application/json',
},
)
.timeout(const Duration(seconds: 10)); // 🚀 Timeout added
}
Future<http.Response?> securePost(Map<String, dynamic> payload, String path) async{
final storage = FlutterSecureStorage();
final token = await storage.read(key: 'token');
if (token == null) return null;
2026-01-05 16:53:40 -06:00
final uri = Uri.parse(socketString).replace(
path: path,
2025-07-10 18:52:04 -05:00
);
return await http.post(
uri,
headers: {
'Authorization': 'Bearer $token',
'Content-Type': 'application/json',
},
body: json.encode(payload),
)
.timeout(const Duration(seconds: 10)); // 🚀 Timeout added
}
Future<http.Response> regularGet(String path) async {
2026-01-05 16:53:40 -06:00
final uri = Uri.parse(socketString).replace(
path: path,
2025-07-10 18:52:04 -05:00
);
return await http.get(
uri,
headers: {
'Content-Type': 'application/json',
}
)
.timeout(const Duration(seconds: 10)); // 🚀 Timeout added
}
Future<http.Response> regularPost(Map<String, dynamic> payload, String path) async{
2026-01-05 16:53:40 -06:00
final uri = Uri.parse(socketString).replace(
path: path,
2025-07-10 18:52:04 -05:00
);
return await http.post(
uri,
headers: {
'Content-Type': 'application/json',
},
body: json.encode(payload)
).timeout(const Duration(seconds: 10)); // 🚀 Timeout added
}
Future<IO.Socket?> connectSocket() async {
final storage = FlutterSecureStorage();
final token = await storage.read(key: 'token');
if (token == null) return null;
final socket = IO.io(
socketString,
IO.OptionBuilder()
.setTransports(['websocket'])
.setAuth({'token': token})
.disableAutoConnect().build(),
);
socket.connect();
return socket;
}