Skip to content

Commit

Permalink
Merge pull request #9 from TheSooth/master
Browse files Browse the repository at this point in the history
Removing unused code, and refactoring
  • Loading branch information
sergeyzenchenko committed Oct 22, 2012
2 parents bf453c0 + c5e85ad commit 70843f9
Show file tree
Hide file tree
Showing 19 changed files with 316 additions and 13 deletions.
40 changes: 40 additions & 0 deletions DXHTTPKit.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
ADFB0AD4162C99AB00AC5954 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ADFB0AC1162C99AB00AC5954 /* Foundation.framework */; };
ADFB0AD7162C99AB00AC5954 /* libDXHTTPKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADFB0ABE162C99AB00AC5954 /* libDXHTTPKit.a */; };
ADFB0ADD162C99AB00AC5954 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = ADFB0ADB162C99AB00AC5954 /* InfoPlist.strings */; };
D95AACDC163593F200FFD2C1 /* DXHTTPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = D95AACDB163593F200FFD2C1 /* DXHTTPConnection.m */; };
D95AACEC16359C8400FFD2C1 /* DXHTTPConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D95AACE816359C8400FFD2C1 /* DXHTTPConnectionOperation.m */; };
D95AACED16359C8400FFD2C1 /* DXHTTPConnectionThread.m in Sources */ = {isa = PBXBuildFile; fileRef = D95AACEB16359C8400FFD2C1 /* DXHTTPConnectionThread.m */; };
D9D0547B1632ADA60044A2F9 /* DXHTTPFormBodyStreamBuilderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = D9D0547A1632ADA60044A2F9 /* DXHTTPFormBodyStreamBuilderSpec.m */; };
EA07F9881634299100376BD3 /* DXHTTPKitErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = EA07F9871634299100376BD3 /* DXHTTPKitErrors.m */; };
EA07F98B16342AD600376BD3 /* DXHTTPFormBodyStreamBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = EA07F98A16342AD600376BD3 /* DXHTTPFormBodyStreamBuilder.m */; };
Expand Down Expand Up @@ -68,6 +71,11 @@
ADFB0AD0162C99AB00AC5954 /* SenTestingKit.framework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
ADFB0ADA162C99AB00AC5954 /* DXHTTPKitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DXHTTPKitTests-Info.plist"; sourceTree = "<group>"; };
ADFB0ADC162C99AB00AC5954 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
D95AACDB163593F200FFD2C1 /* DXHTTPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DXHTTPConnection.m; sourceTree = "<group>"; };
D95AACE716359C8400FFD2C1 /* DXHTTPConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DXHTTPConnectionOperation.h; sourceTree = "<group>"; };
D95AACE816359C8400FFD2C1 /* DXHTTPConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DXHTTPConnectionOperation.m; sourceTree = "<group>"; };
D95AACEA16359C8400FFD2C1 /* DXHTTPConnectionThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DXHTTPConnectionThread.h; sourceTree = "<group>"; };
D95AACEB16359C8400FFD2C1 /* DXHTTPConnectionThread.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DXHTTPConnectionThread.m; sourceTree = "<group>"; };
D9D0547A1632ADA60044A2F9 /* DXHTTPFormBodyStreamBuilderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DXHTTPFormBodyStreamBuilderSpec.m; sourceTree = "<group>"; };
D9D0547D1632B4390044A2F9 /* DXHTTPFormBodyStreamBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DXHTTPFormBodyStreamBuilder.h; sourceTree = "<group>"; };
D9D054821632B7180044A2F9 /* DXHTTPFormPartElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DXHTTPFormPartElement.h; path = DXHTTPFormFileElement/DXHTTPFormPartElement.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -138,6 +146,7 @@
EAB5F43B162D869900A7E403 /* DXHTTPFormFileDescriptorSpec.m */,
EA76B4F71630A9ED004B85CA /* DXHTTPHeadersBuilderSpec.m */,
EA3EB4F21631963500547FED /* DXHTTPFormParamsBuilderSpec.m */,
D95AACDB163593F200FFD2C1 /* DXHTTPConnection.m */,
);
path = Specs;
sourceTree = "<group>";
Expand Down Expand Up @@ -192,6 +201,7 @@
ADE7EE3F162CA7E10061F3F8 /* Base */ = {
isa = PBXGroup;
children = (
D95AACE516359C8400FFD2C1 /* DXHTTPConnection */,
EAB5F44C162D873E00A7E403 /* DXHTTPRequestDescriptor.h */,
EAB5F44D162D873E00A7E403 /* DXHTTPRequestDescriptor.m */,
EAB5F440162D86C700A7E403 /* DXHTTPParamKey.h */,
Expand Down Expand Up @@ -279,6 +289,33 @@
path = ../DXHTTPFormFileBuilder;
sourceTree = "<group>";
};
D95AACE516359C8400FFD2C1 /* DXHTTPConnection */ = {
isa = PBXGroup;
children = (
D95AACE616359C8400FFD2C1 /* DXHTTPConnectionOperation */,
D95AACE916359C8400FFD2C1 /* DXHTTPConnectionThread */,
);
path = DXHTTPConnection;
sourceTree = "<group>";
};
D95AACE616359C8400FFD2C1 /* DXHTTPConnectionOperation */ = {
isa = PBXGroup;
children = (
D95AACE716359C8400FFD2C1 /* DXHTTPConnectionOperation.h */,
D95AACE816359C8400FFD2C1 /* DXHTTPConnectionOperation.m */,
);
path = DXHTTPConnectionOperation;
sourceTree = "<group>";
};
D95AACE916359C8400FFD2C1 /* DXHTTPConnectionThread */ = {
isa = PBXGroup;
children = (
D95AACEA16359C8400FFD2C1 /* DXHTTPConnectionThread.h */,
D95AACEB16359C8400FFD2C1 /* DXHTTPConnectionThread.m */,
);
path = DXHTTPConnectionThread;
sourceTree = "<group>";
};
D9D054851632B71C0044A2F9 /* DXHTTPFormPartElement */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -463,6 +500,8 @@
EA07F9881634299100376BD3 /* DXHTTPKitErrors.m in Sources */,
EA07F98B16342AD600376BD3 /* DXHTTPFormBodyStreamBuilder.m in Sources */,
EA28F38116345AF200D5D00A /* DXHTTPURLRequestAdditionalsBuilder.m in Sources */,
D95AACEC16359C8400FFD2C1 /* DXHTTPConnectionOperation.m in Sources */,
D95AACED16359C8400FFD2C1 /* DXHTTPConnectionThread.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -478,6 +517,7 @@
EA76B4F81630A9ED004B85CA /* DXHTTPHeadersBuilderSpec.m in Sources */,
EA3EB4F31631963500547FED /* DXHTTPFormParamsBuilderSpec.m in Sources */,
D9D0547B1632ADA60044A2F9 /* DXHTTPFormBodyStreamBuilderSpec.m in Sources */,
D95AACDC163593F200FFD2C1 /* DXHTTPConnection.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// DXHTTPConnectionOperation.h
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "DXHTTPConnectionThread.h"

@interface DXHTTPConnectionOperation : NSOperation <NSURLConnectionDelegate, NSURLConnectionDataDelegate>

- (id)initWithURLRequest:(NSURLRequest *)aURLRequest;

@property (nonatomic, readonly) NSData *connectionData;
@property (nonatomic, strong, readonly) NSURLConnection *urlConnection;

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
//
// DXHTTPConnectionOperation.m
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXHTTPConnectionOperation.h"

@interface DXHTTPConnectionOperation() {
NSURLRequest *_urlRequest;
NSURLConnection *_urlConnection;
NSMutableData *_connectionData;
NSMutableDictionary *_connectionResponseHeaders;
BOOL _executing;
BOOL _finished;
}

@end

@implementation DXHTTPConnectionOperation

- (id)initWithURLRequest:(NSURLRequest *)aURLRequest {
self = [super init];
if (self) {
_urlRequest = aURLRequest;
_connectionData = [NSMutableData new];
}
return self;
}

- (void)start {
_executing = YES;
[self performSelector:@selector(connectionOpeartionDidStart) onThread:[DXHTTPConnectionThread requestConnectionThread] withObject:nil waitUntilDone:NO];

}

- (void)connectionOpeartionDidStart {
_urlConnection = [[NSURLConnection alloc] initWithRequest:_urlRequest delegate:self];
NSRunLoop *connectionRunLoop = [NSRunLoop currentRunLoop];
[_urlConnection scheduleInRunLoop:connectionRunLoop forMode:NSRunLoopCommonModes];
[_urlConnection start];
}


- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[_connectionData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[_connectionData appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {

}

- (NSData *)connectionData {
return _connectionData;
}

- (NSURLConnection *)urlConnection {
return _urlConnection;
}

- (BOOL)isExecuting {
return _executing;
}

- (BOOL)isFinished {
return _finished;
}

- (BOOL)isConcurrent {
return YES;
}

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// DXHTTPConnectionThread.h
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface DXHTTPConnectionThread : NSObject

+ (NSThread *)requestConnectionThread;

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//
// DXHTTPConnectionThread.m
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXHTTPConnectionThread.h"

@interface DXHTTPConnectionThread()

@end

@implementation DXHTTPConnectionThread

static NSThread *_connectionThread;

+ (void)connectionThreadEntry:(id)object {
do {
@autoreleasepool {
[[NSRunLoop currentRunLoop] run];
}
} while (YES);
}

+ (NSThread *)requestConnectionThread {
static dispatch_once_t allocThreadOnce;

dispatch_once(&allocThreadOnce, ^{
_connectionThread = [[NSThread alloc] initWithTarget:self selector:@selector(connectionThreadEntry:) object:nil];
[_connectionThread start];
});
return _connectionThread;
}

@end
13 changes: 13 additions & 0 deletions DXHTTPKit/Code/Base/DXHTTPConnectionOperation.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// DXHTTPConnectionOperation.h
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface DXHTTPConnectionOperation : NSOperation

@end
13 changes: 13 additions & 0 deletions DXHTTPKit/Code/Base/DXHTTPConnectionOperation.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// DXHTTPConnectionOperation.m
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXHTTPConnectionOperation.h"

@implementation DXHTTPConnectionOperation

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// DXHTTPConnectionThread.h
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface DXHTTPConnectionThread : NSObject

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// DXHTTPConnectionThread.m
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXHTTPConnectionThread.h"

@implementation DXHTTPConnectionThread

@end
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ @implementation DXHTTPRequestBuilder
- (NSURLRequest *)buildRequest:(DXHTTPRequestDescriptor *)requestDescriptor {
NSURLRequest *urlRequest;

urlRequest = [[DXHTTPURLRequestAdditionalsBuilder alloc] buildAdditionals:requestDescriptor];
urlRequest = [[DXHTTPFormParamsBuilder alloc] buildParams:requestDescriptor urlRequest:urlRequest];
urlRequest = [[DXHTTPHeadersBuilder alloc] buildHeaders:requestDescriptor.headers urlRequest:urlRequest];
urlRequest = [[DXHTTPURLRequestAdditionalsBuilder new] buildAdditionals:requestDescriptor];
urlRequest = [[DXHTTPFormParamsBuilder new] buildParams:requestDescriptor urlRequest:urlRequest];
urlRequest = [[DXHTTPHeadersBuilder new] buildHeaders:requestDescriptor.headers urlRequest:urlRequest];

return urlRequest;
}
Expand Down
13 changes: 13 additions & 0 deletions DXHTTPKitTests/Specs/DXHTTPConnection.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// DXHTTPConnection.h
// DXHTTPKit
//
// Created by dev2 on 10/22/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface DXHTTPConnection : NSObject

@end
41 changes: 41 additions & 0 deletions DXHTTPKitTests/Specs/DXHTTPConnection.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#import "Kiwi.h"
#import "DXHTTPConnectionOperation.h"

SPEC_BEGIN(DXHTTPConnectionSpec)

describe(@"DXHTTPConnection", ^{

__block DXHTTPConnectionOperation *connectionOperation;
__block NSURLRequest *urlRequest;

beforeEach(^{
urlRequest = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://localhost"]];
connectionOperation = [[DXHTTPConnectionOperation alloc] initWithURLRequest:urlRequest];
[connectionOperation start];
});

context(@"Right values", ^{

it(@"DXHTTPConnection should be executing", ^{
[[theValue([connectionOperation isExecuting]) should] beTrue];
});

it(@"Should set connectionData in DXHTTPConnectionOperation", ^{
NSData *dataForTesting = [[NSString stringWithFormat:@"Data for Testing"] dataUsingEncoding:NSUTF8StringEncoding];
[connectionOperation connection:[connectionOperation urlConnection] didReceiveData:dataForTesting];

[[[connectionOperation connectionData] should] equal:dataForTesting];
});

it(@"Data in connectionOperation should be zero in time of resiveResponce", ^{
[connectionOperation connection:[connectionOperation urlConnection] didReceiveResponse:nil];
[[theValue([[connectionOperation connectionData] length]) should] equal:theValue(0)];
});

it(@"DXConnectionOperation shoul be concurrent", ^{
[[theValue([connectionOperation isConcurrent]) should] beTrue];
});
});
});

SPEC_END
Empty file.
Loading

0 comments on commit 70843f9

Please sign in to comment.