Advertisement
Guest User

buildFormdata

a guest
Mar 4th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1.  
  2. - (void)postWithAPI:(NSString *)apiString parameters:(NSDictionary *)parameters success:(void (^)(id json, JSONModelError *error))success {
  3. SBUser *user = [CommonHelper loadCustomObjectWithKey:kSBUSER_CURRENT_USER];
  4. NSString *boundary = [self generateBoundaryString];
  5. NSString *header = [CocoaWSSE headerWithUsername:user.userName password:user.password];
  6.  
  7. NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
  8. [[JSONHTTPClient requestHeaders] setValue:contentType forKey:@"Content-Type"];
  9.  
  10. //add extra headers
  11. [[JSONHTTPClient requestHeaders] setValue:header forKey:@"X-WSSE"];
  12.  
  13. NSMutableData *httpBody = [NSMutableData data];
  14. //make post, get requests
  15. [JSONHTTPClient postJSONFromURLWithString:apiString
  16. params:parameters
  17. completion:success];
  18.  
  19. [parameters enumerateKeysAndObjectsUsingBlock:^(NSString *parameterKey, NSString *parameterValue, BOOL *stop) {
  20. [httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
  21. [httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n", parameterKey] dataUsingEncoding:NSUTF8StringEncoding]];
  22. [httpBody appendData:[[NSString stringWithFormat:@"%@\r\n", parameterValue] dataUsingEncoding:NSUTF8StringEncoding]];
  23. }];
  24.  
  25. [JSONHTTPClient postJSONFromURLWithString:apiString bodyData:httpBody completion:success];
  26. }
  27.  
  28. - (NSString *)generateBoundaryString {
  29. return [NSString stringWithFormat:@"Boundary-%@", [[NSUUID UUID] UUIDString]];
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement