Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma mark - connection managements
- -(void)sendRequest:(IMRequestType)requestType withParameters:(NSDictionary*)parameters success:(void (^)(IMRequestType request,id responseObject))sendSuccess failure:(void (^)(IMRequestType request,id error,BOOL isNetwork))sendFail
- {
- HTTPRequestType httpType = [IMDataProxy httpRequestTypeFor:requestType];
- if (httpType == HTTPRequestTypePOST) {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- dispatch_async(queue, ^{
- [[IMConManager sharedManager] startPostConnection:requestType withParameters:parameters success:^(IMRequestType request, id responseObject) {
- BOOL validData = [[IMDataFilter shared] isSuccessResponse:responseObject forRequest:request];
- if (validData) {
- [[IMDataProxy shared] handleObject:responseObject forRequest:requestType complete:^{
- if (sendSuccess != nil) {
- dispatch_async(dispatch_get_main_queue(), ^{
- sendSuccess(requestType,responseObject);
- });
- }
- }];
- } else if (sendFail != nil) {
- sendFail(requestType,responseObject,NO);
- }
- } failure:^(IMRequestType request, NSString *error) {
- if (sendFail != nil) {
- sendFail(request,error,YES);
- }
- }];
- });
- }
- else if (httpType == HTTPRequestTypeGET) {
- [self.requestQueue addOperationWithBlock:^{
- [[IMConManager sharedManager] startGetConnection:requestType withParameters:parameters success:^(IMRequestType request, id responseObject) {
- BOOL validData = [[IMDataFilter shared] isSuccessResponse:responseObject forRequest:request];
- if (validData) {
- [[IMDataProxy shared] handleObject:responseObject forRequest:requestType complete:^{
- if (sendSuccess != nil) {
- dispatch_async(dispatch_get_main_queue(), ^{
- sendSuccess(requestType,responseObject);
- });
- }
- }];
- } else if (sendFail != nil) {
- sendFail(requestType,responseObject,NO);
- }
- } failure:^(IMRequestType request, NSString *error) {
- if (sendFail != nil) {
- sendFail(request,error,YES);
- }
- }];
- }];
- } else if (httpType == HTTPRequestTypePUT) {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- dispatch_async(queue, ^{
- [[IMConManager sharedManager] startPutConnection:requestType withParameters:parameters success:^(IMRequestType request, id responseObject) {
- BOOL validData = [[IMDataFilter shared] isSuccessResponse:responseObject forRequest:request];
- if (validData) {
- [[IMDataProxy shared] handleObject:responseObject forRequest:requestType complete:^{
- if (sendSuccess != nil) {
- dispatch_async(dispatch_get_main_queue(), ^{
- sendSuccess(requestType,responseObject);
- });
- }
- }];
- } else if (sendFail != nil) {
- sendFail(requestType,responseObject,NO);
- }
- } failure:^(IMRequestType request, NSString *error) {
- if (sendFail != nil) {
- sendFail(request,error,YES);
- }
- }];
- });
- } else if (httpType == HTTPRequestTypeDELETE) {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- dispatch_async(queue, ^{
- [[IMConManager sharedManager] startDeleteConnection:requestType withParameters:parameters success:^(IMRequestType request, id responseObject) {
- BOOL validData = [[IMDataFilter shared] isSuccessResponse:responseObject forRequest:request];
- if (validData) {
- [[IMDataProxy shared] handleObject:responseObject forRequest:requestType complete:^{
- if (sendSuccess != nil) {
- dispatch_async(dispatch_get_main_queue(), ^{
- sendSuccess(requestType,responseObject);
- });
- }
- }];
- } else if (sendFail != nil) {
- sendFail(requestType,responseObject,NO);
- }
- } failure:^(IMRequestType request, NSString *error) {
- if (sendFail != nil) {
- sendFail(request,error,YES);
- }
- }];
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement