refactor to resolve melos conflict

This commit is contained in:
Ankit Mahato
2025-06-29 03:25:48 +05:30
parent b39cd05190
commit 4b2988e2c9
8 changed files with 15 additions and 6 deletions

View File

@@ -0,0 +1,146 @@
import 'dart:convert';
import 'package:better_networking/better_networking.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const ExampleApplication());
}
class ExampleApplication extends StatelessWidget {
const ExampleApplication({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Better Networking ',
home: BetterNetworkingExample(),
);
}
}
class BetterNetworkingExample extends StatefulWidget {
const BetterNetworkingExample({super.key});
@override
State<BetterNetworkingExample> createState() =>
_BetterNetworkingExampleState();
}
class _BetterNetworkingExampleState extends State<BetterNetworkingExample> {
String currentRequest = '';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Better Networking Example')),
body: Container(
padding: EdgeInsets.all(20),
child: Column(
children: [
ElevatedButton(
onPressed: () {
if (currentRequest.isEmpty) return;
print('Cancelling: $currentRequest');
cancelHttpRequest(currentRequest);
},
child: Text('CANCEL REQUEST'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
setState(() {
currentRequest = 'G1';
});
final (resp, duration, err) = await sendHttpRequest(
'G1',
APIType.rest,
HttpRequestModel(
url: 'https://reqres.in/api/users/2',
method: HTTPVerb.get,
headers: [
NameValueModel(
name: 'x-api-key',
value: 'reqres-free-v1',
),
],
),
);
print('Response: ${resp?.body}');
print('Duration: ${duration?.inMilliseconds}');
print('Error: $err');
},
child: Text('GET REQUEST'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
setState(() {
currentRequest = 'P1';
});
final (resp, duration, err) = await sendHttpRequest(
'P1',
APIType.rest,
HttpRequestModel(
url: 'https://reqres.in/api/users',
method: HTTPVerb.post,
headers: [
NameValueModel(
name: 'x-api-key',
value: 'reqres-free-v1',
),
],
body: jsonEncode({"name": "morpheus", "job": "leader"}),
),
);
print('Response: ${resp?.body}');
print('Duration: ${duration?.inMilliseconds}');
print('Error: $err');
},
child: Text('POST REQUEST'),
),
SizedBox(height: 50),
ElevatedButton(
onPressed: () async {
setState(() {
currentRequest = 'S1';
});
final stream = await streamHttpRequest(
'S1',
APIType.rest,
HttpRequestModel(
method: HTTPVerb.post,
url: 'http://localhost:11434/v1/chat/completions',
body: jsonEncode({
'model': 'gemma3:latest',
'stream': true,
"messages": [
{
"role": "system",
"content":
'Give me a 200 word essay about the given topic',
},
{"role": "user", "content": 'Flutter'},
],
}),
),
);
stream.listen(
(data) {
print('Recieved Data: $data');
},
onDone: () {
print('Streaming Complete');
},
onError: (e) {
print(e);
},
);
},
child: Text('STREAM REQUEST'),
),
],
),
),
);
}
}