Advertisement
ibobah

HTTP Request Incapsulation iPhone SDK

Apr 5th, 2012
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  HTTPRequestController.m
  3. //
  4. //  Created by VP on 03.10.11.
  5. //  Copyright 2011 VP. All rights reserved.
  6. //
  7.  
  8. #import "HTTPRequestController.h"
  9.  
  10. @implementation HTTPRequestController
  11.  
  12. + (int) sendHTTPRequest:(NSString*)type To:(NSString*)pageUrl WithData:(NSString*)data AndResponseTo:(NSString**)responseString
  13. {
  14.     NSURL *url = nil;
  15.     NSString *urlString = nil;
  16.     NSMutableURLRequest *request = nil;
  17.     NSData *requestBody = nil;
  18.    
  19.  
  20.     if ([type isEqualToString:@"GET"])
  21.     {
  22.         // Setting up HTTP-request
  23.         urlString = [pageUrl stringByAppendingFormat:@"?%@", data];
  24.    
  25.     }
  26.     if ([type isEqualToString:@"POST"])
  27.     {
  28.         // Creating auth data from text fields!
  29.         urlString = pageUrl;
  30.         requestBody = [data  dataUsingEncoding:NSUTF8StringEncoding];
  31.     }
  32.  
  33.     url = [NSURL URLWithString:urlString];
  34.     request = [NSMutableURLRequest requestWithURL:url];
  35.     [request setHTTPMethod:type];
  36.    
  37.     if ( requestBody ) [request setHTTPBody:requestBody];
  38.    
  39.     NSURLResponse *response = NULL;
  40.     NSError *requestError = NULL;  
  41.    
  42.     NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
  43.     *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
  44.    
  45.     NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];
  46.    
  47.     return statusCode;
  48. }
  49.  
  50. + (int) sendPostHTTPRequestTo:(NSString*)pageUrl WithData:(NSString*)data AndResponseTo:(NSString**)responseString
  51. {
  52.     return [HTTPRequestController sendHTTPRequest:@"POST" To:pageUrl WithData:data AndResponseTo:responseString];
  53. }
  54.  
  55. + (int) sendGetHTTPRequestTo:(NSString*)pageUrl WithData:(NSString*)data Response:(NSString**)responseString
  56. {
  57.     return [HTTPRequestController sendHTTPRequest:@"GET" To:pageUrl WithData:data AndResponseTo:responseString];
  58. }
  59.  
  60. @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement