2010-11-13 13:42:20 -05:00
//
// ASIFormDataRequest.h
// Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest
//
// Created by Ben Copsey on 07/11/2008.
// Copyright 2008-2009 All-Seeing Interactive. All rights reserved.
//
# import <Foundation / Foundation.h>
# import "ASIHTTPRequest.h"
# import "ASIHTTPRequestConfig.h"
typedef enum _ASIPostFormat {
ASIMultipartFormDataPostFormat = 0 ,
ASIURLEncodedPostFormat = 1
} ASIPostFormat ;
@ interface ASIFormDataRequest : ASIHTTPRequest < NSCopying > {
// Parameters that will be POSTed to the url
NSMutableArray * postData ;
// Files that will be POSTed to the url
NSMutableArray * fileData ;
ASIPostFormat postFormat ;
NSStringEncoding stringEncoding ;
# if DEBUG_FORM_DATA_REQUEST
// Will store a string version of the request body that will be printed to the console when ASIHTTPREQUEST_DEBUG is set in GCC_PREPROCESSOR_DEFINITIONS
NSString * debugBodyString ;
# endif
}
# pragma mark utilities
- ( NSString * ) encodeURL : ( NSString * ) string ;
# pragma mark setup request
// Add a POST variable to the request
- ( void ) addPostValue : ( id < NSObject > ) value forKey : ( NSString * ) key ;
// Set a POST variable for this request, clearing any others with the same key
- ( void ) setPostValue : ( id < NSObject > ) value forKey : ( NSString * ) key ;
// Add the contents of a local file to the request
- ( void ) addFile : ( NSString * ) filePath forKey : ( NSString * ) key ;
// Same as above, but you can specify the content-type and file name
2011-08-01 09:39:41 -07:00
- ( void ) addFile : ( NSString * ) filePath withFileName : ( NSString * ) fileName andContentType : ( NSString * ) contentType forKey : ( NSString * ) key ;
2010-11-13 13:42:20 -05:00
// Add the contents of a local file to the request, clearing any others with the same key
- ( void ) setFile : ( NSString * ) filePath forKey : ( NSString * ) key ;
// Same as above, but you can specify the content-type and file name
2011-08-01 09:39:41 -07:00
- ( void ) setFile : ( NSString * ) filePath withFileName : ( NSString * ) fileName andContentType : ( NSString * ) contentType forKey : ( NSString * ) key ;
2010-11-13 13:42:20 -05:00
// Add the contents of an NSData object to the request
- ( void ) addData : ( NSData * ) data forKey : ( NSString * ) key ;
// Same as above, but you can specify the content-type and file name
- ( void ) addData : ( id ) data withFileName : ( NSString * ) fileName andContentType : ( NSString * ) contentType forKey : ( NSString * ) key ;
// Add the contents of an NSData object to the request, clearing any others with the same key
- ( void ) setData : ( NSData * ) data forKey : ( NSString * ) key ;
// Same as above, but you can specify the content-type and file name
- ( void ) setData : ( id ) data withFileName : ( NSString * ) fileName andContentType : ( NSString * ) contentType forKey : ( NSString * ) key ;
2015-09-16 16:53:07 -07:00
@ property ( atomic , assign ) ASIPostFormat postFormat ;
@ property ( atomic , assign ) NSStringEncoding stringEncoding ;
2010-11-13 13:42:20 -05:00
@ end