aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2012-04-26 00:40:53 -0400
committerTeddy Wing2012-04-26 00:40:53 -0400
commitdd50a5f86f166dac0b92ccb1cb6231288eaa954d (patch)
tree9a9a728bc1b17d736e0751b702a6b6128410795b
parentb6e8a9a8d528487e79ecb599e4bfb9ab2614cdb7 (diff)
downloadVideo-Tuneup-dd50a5f86f166dac0b92ccb1cb6231288eaa954d.tar.bz2
Filled out WebserviceCommunicator class. Hopefully this works for sending some multipart form data.
-rw-r--r--Video Tuneup/Classes/WebserviceCommunicator.h2
-rw-r--r--Video Tuneup/Classes/WebserviceCommunicator.m44
2 files changed, 45 insertions, 1 deletions
diff --git a/Video Tuneup/Classes/WebserviceCommunicator.h b/Video Tuneup/Classes/WebserviceCommunicator.h
index cd11626..faaa55a 100644
--- a/Video Tuneup/Classes/WebserviceCommunicator.h
+++ b/Video Tuneup/Classes/WebserviceCommunicator.h
@@ -8,7 +8,7 @@
#import <Foundation/Foundation.h>
-@interface WebserviceCommunicator : NSObject
+@interface WebserviceCommunicator : NSObject <NSURLConnectionDelegate>
-(void)mixMusic:(NSURL *)file;
diff --git a/Video Tuneup/Classes/WebserviceCommunicator.m b/Video Tuneup/Classes/WebserviceCommunicator.m
index fede3d5..d53ee90 100644
--- a/Video Tuneup/Classes/WebserviceCommunicator.m
+++ b/Video Tuneup/Classes/WebserviceCommunicator.m
@@ -8,10 +8,54 @@
#import "WebserviceCommunicator.h"
+#define BASEPATH (@"http://localhost:4567")
+
@implementation WebserviceCommunicator
-(void)mixMusic:(NSURL *)file {
+ NSString *uploadFileName = [file lastPathComponent];
+ NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/blend/%@", BASEPATH, uploadFileName]] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:130.0]; // BASEPATH/blend/:filename
+ [request setHTTPMethod:@"POST"];
+ [request setHTTPShouldHandleCookies:NO];
+ NSString *boundary = @"--x-x-x-x-";
+ [request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary] forHTTPHeaderField:@"Content-Type"];
+
+ NSData *songData = [NSData dataWithContentsOfURL:file];
+ NSMutableData *requestData = [[NSMutableData alloc] init];
+ //[requestData appendData:[NSData dataWithBytes:[song length:<#(NSUInteger)#>
+
+// for (NSString *paramName in params) ...
+// [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
+// [body appendData:[@"Content-Disposition: form-data; name=\"photo-description\"\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
+// [body appendData:[@"testing 123" dataUsingEncoding:NSUTF8StringEncoding]];
+// [body appendData:[[NSString stringWithFormat:@"%@\r\n", [_params objectForKey:param]] dataUsingEncoding:NSUTF8StringEncoding]];
+
+ [requestData appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
+ [requestData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n", @"data", uploadFileName] dataUsingEncoding:NSUTF8StringEncoding]];
+ [requestData appendData:[@"Content-Type: audio/mpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
+ [requestData appendData:songData];
+ [requestData appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
+ [requestData appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
+
+ [request setHTTPBody:requestData];
+
+ (void)[[NSURLConnection alloc] initWithRequest:request delegate:self];
+}
+
+#pragma mark NSURLConnection delegate methods
+
+-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
+ NSLog(@"Got response data");
+ NSLog(@"Data was: %@", [NSString stringWithUTF8String:[data bytes]]);
+}
+
+-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
+ NSLog(@"Song send failed");
+}
+
+-(void)connectionDidFinishLoading:(NSURLConnection *)connection {
+ NSLog(@"Song send finished loading.");
}
@end