Skip to content

Commit d29c51f

Browse files
committed
working on HEADERS AND PARAMS
1 parent 93668e8 commit d29c51f

File tree

8 files changed

+562
-41
lines changed

8 files changed

+562
-41
lines changed

lib/consts.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,11 @@ const kResponseCodeReasons = {
294294
508: 'Loop Detected',
295295
510: 'Not Extended',
296296
511: 'Network Authentication Required',
297+
// 1000s - WebSocket Error
298+
1000: 'Normal Closure',
299+
1001: 'Going Away',
300+
1002: 'Protocol Error',
301+
1003: 'Unsupported Data',
297302
};
298303

299304
Map<String, String> kHttpHeadersMap = {

lib/providers/collection_providers.dart

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ class CollectionStateNotifier
232232
List<FormDataModel>? formData,
233233
int? responseStatus,
234234
String? message,
235+
String? webSocketMessage,
235236
ContentTypeWebSocket? contentType,
236237
HttpResponseModel? httpResponseModel,
237238
WebSocketResponseModel? webSocketResponseModel,
@@ -274,7 +275,7 @@ class CollectionStateNotifier
274275
currentWebSocketRequestModel.isHeaderEnabledList,
275276
isParamEnabledList:
276277
isParamEnabledList ?? currentWebSocketRequestModel.isParamEnabledList,
277-
message: message ?? currentWebSocketRequestModel.message,
278+
message: webSocketMessage ?? currentWebSocketRequestModel.message,
278279
)
279280
: currentWebSocketRequestModel;
280281

@@ -578,18 +579,31 @@ class CollectionStateNotifier
578579
}
579580

580581
final url = requestModel!.webSocketRequestModel!.url;
582+
var map = {...state!};
583+
584+
map[requestId] = requestModel.copyWith(
585+
isWorking: true,
586+
587+
webSocketResponseModel: const WebSocketResponseModel(),
588+
);
589+
590+
state = map;
581591
(String?,DateTime?) result = await webSocketManager.connect(requestId,url);
582592

583-
var map = {...state!};
593+
map = {...state!};
594+
584595
map[requestId] = requestModel.copyWith(
585-
isWorking: result.$1 == KLabelConnect,
596+
isWorking: true,
597+
responseStatus: 101,
598+
message: kResponseCodeReasons[101],
586599
sendingTime: result.$2,
587600
webSocketResponseModel: const WebSocketResponseModel(),
588601
);
589602

590603
state = map;
591604

592-
605+
if(result.$1 == kMsgConnected){
606+
map = {...state!};
593607
webSocketManager.listen(
594608
requestId,
595609
(message) async{
@@ -609,19 +623,31 @@ class CollectionStateNotifier
609623
);
610624

611625

612-
map = {...state!};
613-
map[requestId] = newRequestModel;
614-
state = map;
626+
map = {...state!};
627+
map[requestId] = newRequestModel;
628+
state = map;
615629
print(message);
616630
},
617631
onError: (error) async{
632+
print(error.statusCode);
618633

619634
},
620635
onDone: () async{
621636
print("Connection done");
622637
},
623638
cancelOnError: false,
624639
);
640+
}else{
641+
map = {...state!};
642+
map[requestId] = requestModel.copyWith(
643+
isWorking: false,
644+
responseStatus: 1002,
645+
message: result.$1,
646+
sendingTime: result.$2,
647+
);
648+
649+
state = map;
650+
}
625651
}
626652
Future<void> disconnect() async {
627653
final requestId = ref.read(selectedIdStateProvider);
@@ -643,6 +669,7 @@ class CollectionStateNotifier
643669
var newRequestModel = requestModel.copyWith(
644670
isWorking: false,
645671
webSocketRequestModel: newWebSocketRequestModel,
672+
646673

647674
);
648675

0 commit comments

Comments
 (0)