Skip to content

Commit 2850897

Browse files
committed
added isConnect
1 parent 2c926ee commit 2850897

File tree

14 files changed

+171
-325
lines changed

14 files changed

+171
-325
lines changed

lib/consts.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,14 @@ const kResponseCodeReasons = {
299299
1001: 'Going Away',
300300
1002: 'Protocol Error',
301301
1003: 'Unsupported Data',
302+
1005: 'No Status Received',
303+
1006: 'Abnormal Closure',
304+
1007: 'Invalid Frame Payload Data',
305+
1008: 'Policy Violation',
306+
1009: 'Message Too Big',
307+
1010: 'Missing Mandatory Extension',
308+
1011: 'Internal Server Error (WebSocket)',
309+
1015: 'TLS Handshake Failed',
302310
};
303311

304312
Map<String, String> kHttpHeadersMap = {

lib/providers/collection_providers.dart

Lines changed: 57 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -486,11 +486,7 @@ class CollectionStateNotifier
486486

487487

488488

489-
var map = {...state!};
490-
map[requestId] = requestModel.copyWith(
491-
isWorking: true,
492-
);
493-
state = map;
489+
494490

495491

496492

@@ -539,7 +535,7 @@ class CollectionStateNotifier
539535
webSocketResponseModel: newWebSocketResponseModel,
540536
);
541537
// update state with response data
542-
map = {...state!};
538+
var map = {...state!};
543539
map[requestId] = newRequestModel;
544540
state = map;
545541

@@ -578,55 +574,79 @@ class CollectionStateNotifier
578574
webSocketManager.setPingInterval(requestId,null);
579575
}
580576

581-
final url = requestModel!.webSocketRequestModel!.url;
577+
578+
579+
final webSocketRequestModel = requestModel!.webSocketRequestModel!;
580+
final url = webSocketRequestModel.url;
581+
final headers = webSocketRequestModel.headers;
582+
final params = webSocketRequestModel.params;
582583
var map = {...state!};
583584

584585
map[requestId] = requestModel.copyWith(
585-
isWorking: true,
586-
586+
isWorking: true,
587+
sendingTime: DateTime.now(),
587588
webSocketResponseModel: const WebSocketResponseModel(),
588589
);
590+
591+
requestModel = map[requestId];
589592

590593
state = map;
591-
(String?,DateTime?) result = await webSocketManager.connect(requestId,url);
594+
(String?,DateTime?) result = await webSocketManager.connect(requestId,url,headers,params);
592595

593-
map = {...state!};
596+
597+
598+
if(result.$1 == kMsgConnected){
599+
map = {...state!};
594600

595-
map[requestId] = requestModel.copyWith(
596-
isWorking: true,
601+
map[requestId] = requestModel!.copyWith(
602+
isWorking: false,
597603
responseStatus: 101,
598604
message: kResponseCodeReasons[101],
599-
sendingTime: result.$2,
600-
webSocketResponseModel: const WebSocketResponseModel(),
605+
webSocketRequestModel: webSocketRequestModel.copyWith(
606+
isConnected:true
607+
),
608+
601609
);
610+
602611

612+
requestModel = map[requestId];
603613
state = map;
604614

605-
if(result.$1 == kMsgConnected){
606-
map = {...state!};
607615
webSocketManager.listen(
608616
requestId,
609617
(message) async{
610-
var map = {...state!};
611-
RequestModel? requestModel = state![requestId];
618+
map = {...state!};
619+
requestModel = map[requestId];
620+
621+
if(requestModel == null){
622+
print("webSocketResponseModel is null");
623+
}
624+
612625
WebSocketResponseModel webSocketResponseModel = requestModel!.webSocketResponseModel!;
626+
627+
if(webSocketResponseModel == null){
628+
print("webSocketResponseModel is null");
629+
}
613630
WebSocketResponseModel newWebSocketResponseModel = webSocketResponseModel.copyWith(
614631
frames: [...webSocketResponseModel.frames, WebSocketFrameModel(
615632
id: getNewUuid(),
616633
message: message,
617-
timeStamp: DateTime.now(),
634+
timeStamp:DateTime.now(),
618635
isSend: false
619636
)]
620637
);
621-
var newRequestModel = requestModel.copyWith(
638+
var newRequestModel = requestModel!.copyWith(
639+
isWorking: false,
640+
responseStatus: 101,
622641
webSocketResponseModel: newWebSocketResponseModel,
623642
);
624643

625644

626-
map = {...state!};
645+
627646
map[requestId] = newRequestModel;
647+
628648
state = map;
629-
print(message);
649+
630650
},
631651
onError: (error) async{
632652
print(error.statusCode);
@@ -639,11 +659,19 @@ class CollectionStateNotifier
639659
);
640660
}else{
641661
map = {...state!};
642-
map[requestId] = requestModel.copyWith(
662+
WebSocketResponseModel newWebSocketResponseModel = requestModel!.webSocketResponseModel!.copyWith(
663+
frames: [...requestModel.webSocketResponseModel!.frames, WebSocketFrameModel(
664+
id: getNewUuid(),
665+
message: result.$1!,
666+
timeStamp:DateTime.now(),
667+
isSend: false
668+
)]);
669+
map[requestId] = requestModel!.copyWith(
643670
isWorking: false,
644671
responseStatus: 1002,
645-
message: result.$1,
672+
message: kResponseCodeReasons[1002],
646673
sendingTime: result.$2,
674+
webSocketResponseModel: newWebSocketResponseModel,
647675
);
648676

649677
state = map;
@@ -667,24 +695,20 @@ class CollectionStateNotifier
667695
);
668696

669697
var newRequestModel = requestModel.copyWith(
670-
isWorking: false,
671-
webSocketRequestModel: newWebSocketRequestModel,
672-
673-
674-
);
698+
webSocketRequestModel: newWebSocketRequestModel,
699+
);
675700

676701

677-
var map = {...state!};
702+
var map = {...state!};
678703
map[requestId] = newRequestModel;
679704
state = map;
680705

681706
}
682707

683708

684-
void deleteAllFrames(){
709+
void deleteAllFrames(){
685710
final requestId = ref.read(selectedIdStateProvider);
686711
if (requestId == null || state == null) {
687-
print(requestId);
688712
return;
689713
}
690714
RequestModel? requestModel = state![requestId];

lib/screens/home_page/editor_pane/details_card/request_pane/request_body.dart

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,28 @@ class EditRequestBody extends ConsumerWidget {
4545
child: Row(
4646
mainAxisAlignment: MainAxisAlignment.spaceBetween,
4747
children: [
48-
const SizedBox(
49-
height: kHeaderHeight,
50-
child: Row(
51-
mainAxisAlignment: MainAxisAlignment.center,
52-
children: [
53-
Text(
54-
"Select Content Type:",
55-
),
48+
const Padding(
49+
padding:EdgeInsets.only(left:10),
50+
child: const SizedBox(
51+
height: kHeaderHeight,
52+
child: Row(
53+
mainAxisAlignment: MainAxisAlignment.center,
54+
children: [
55+
Text(
56+
"Select Content Type:",
57+
),
58+
DropdownButtonBodyContentWebSocketType(),
59+
]),),
60+
),
5661

57-
DropdownButtonBodyContentWebSocketType(),
5862

59-
]),),
60-
61-
SendButton(isWorking: false, onTap: (){
62-
ref.read(collectionStateNotifierProvider.notifier).sendFrames();
63-
}),
63+
Padding(
64+
padding:const EdgeInsets.only(right:10),
65+
child: SendButton(isWorking: false, onTap: (){
66+
ref.read(collectionStateNotifierProvider.notifier).sendFrames();
67+
}),
68+
69+
),
6470
],
6571
),
6672
)
@@ -132,11 +138,11 @@ class EditRequestBody extends ConsumerWidget {
132138
TextFieldEditor(
133139
key: Key("$selectedId-websocket-body"),
134140
fieldKey: "$selectedId-websocket-body-editor",
135-
// initialValue: requestModel?.websRequestModel?.body,
141+
initialValue: requestModel?.webSocketRequestModel?.message,
136142
onChanged: (String value) {
137143
ref
138144
.read(collectionStateNotifierProvider.notifier)
139-
.update(message: value);
145+
.update(webSocketMessage: value);
140146
},
141147
hintText: kHintMessage,
142148
),

lib/screens/home_page/editor_pane/details_card/request_pane/request_headers.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ class EditRequestHeadersState extends ConsumerState<EditRequestHeaders> {
3030
}
3131

3232
void _onFieldChange() {
33-
print(headerRows.toList());
34-
print(isRowEnabledList.toList());
35-
print("entered field change");
3633
ref.read(collectionStateNotifierProvider.notifier).update(
3734
headers: headerRows.sublist(0, headerRows.length - 1),
3835
isHeaderEnabledList:
@@ -126,7 +123,6 @@ class EditRequestHeadersState extends ConsumerState<EditRequestHeaders> {
126123
onChanged: isLast
127124
? null
128125
: (value) {
129-
print("entered isLast false");
130126
setState(() {
131127
isRowEnabledList[index] = value!;
132128
});
@@ -241,11 +237,9 @@ class EditRequestHeadersState extends ConsumerState<EditRequestHeaders> {
241237
padding: kPb15,
242238
child: ElevatedButton.icon(
243239
onPressed: () {
244-
print("pressed header");
245240
headerRows.add(kNameValueEmptyModel);
246241
isRowEnabledList.add(false);
247242
_onFieldChange();
248-
print("pressed header");
249243
},
250244
icon: const Icon(Icons.add),
251245
label: const Text(

lib/screens/home_page/editor_pane/details_card/request_pane/request_pane_graphql.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import 'package:apidash/providers/providers.dart';
55
import 'package:apidash/widgets/widgets.dart';
66
import 'request_headers.dart';
77
import 'request_body.dart';
8-
import 'request_params.dart';
9-
import 'request_websocket_headers.dart';
8+
109

1110
class EditGraphQLRequestPane extends ConsumerWidget {
1211
const EditGraphQLRequestPane({super.key});

lib/screens/home_page/editor_pane/details_card/request_pane/request_pane_websocket.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import 'package:apidash/widgets/widgets.dart';
66
import 'request_headers.dart';
77
import 'request_body.dart';
88
import 'request_params.dart';
9-
import 'request_websocket_headers.dart';
9+
1010

1111
class EditWebSocketRequestPane extends ConsumerWidget {
1212
const EditWebSocketRequestPane({super.key});

0 commit comments

Comments
 (0)