|
@@ -200,6 +200,33 @@
|
|
[self waitForExpectationsWithTimeout:10.0 handler:nil];
|
|
[self waitForExpectationsWithTimeout:10.0 handler:nil];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+- (void)testSettingHTTPHeadersPerRequestCanReplaceTheDefaultValueSpecifiedInRequestSerializer {
|
|
|
|
+ XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"foo value"
|
|
|
|
+ forHTTPHeaderField:@"X-Foo"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"bar value"
|
|
|
|
+ forHTTPHeaderField:@"X-Bar"];
|
|
|
|
+
|
|
|
|
+ NSURLSessionDataTask *testTask =
|
|
|
|
+ [self.sessionManager dataTaskWithHTTPMethod:@"GET"
|
|
|
|
+ URLString:@"get"
|
|
|
|
+ parameters:nil
|
|
|
|
+ headers:@{ @"X-Foo": @"request value" }
|
|
|
|
+ uploadProgress:nil
|
|
|
|
+ downloadProgress:nil
|
|
|
|
+ success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
|
|
|
|
+ XCTAssertTrue([task.originalRequest.allHTTPHeaderFields[@"X-Foo"] isEqualToString:@"request value"]);
|
|
|
|
+ XCTAssertTrue([task.originalRequest.allHTTPHeaderFields[@"X-Bar"] isEqualToString:@"bar value"]);
|
|
|
|
+ [expectation fulfill];
|
|
|
|
+ }
|
|
|
|
+ failure:nil];
|
|
|
|
+
|
|
|
|
+ [testTask resume];
|
|
|
|
+
|
|
|
|
+ [self waitForExpectationsWithCommonTimeout];
|
|
|
|
+}
|
|
|
|
+
|
|
#pragma mark - NSCoding
|
|
#pragma mark - NSCoding
|
|
|
|
|
|
- (void)testSupportsSecureCoding {
|
|
- (void)testSupportsSecureCoding {
|
|
@@ -374,6 +401,8 @@
|
|
|
|
|
|
- (void)testPOST {
|
|
- (void)testPOST {
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"default value"
|
|
|
|
+ forHTTPHeaderField:@"field"];
|
|
[self.sessionManager
|
|
[self.sessionManager
|
|
POST:@"post"
|
|
POST:@"post"
|
|
parameters:@{@"key":@"value"}
|
|
parameters:@{@"key":@"value"}
|
|
@@ -390,6 +419,8 @@
|
|
|
|
|
|
- (void)testPOSTWithConstructingBody {
|
|
- (void)testPOSTWithConstructingBody {
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"default value"
|
|
|
|
+ forHTTPHeaderField:@"field"];
|
|
[self.sessionManager
|
|
[self.sessionManager
|
|
POST:@"post"
|
|
POST:@"post"
|
|
parameters:@{@"key":@"value"}
|
|
parameters:@{@"key":@"value"}
|
|
@@ -413,6 +444,8 @@
|
|
|
|
|
|
- (void)testPUT {
|
|
- (void)testPUT {
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"default value"
|
|
|
|
+ forHTTPHeaderField:@"field"];
|
|
[self.sessionManager
|
|
[self.sessionManager
|
|
PUT:@"put"
|
|
PUT:@"put"
|
|
parameters:@{@"key":@"value"}
|
|
parameters:@{@"key":@"value"}
|
|
@@ -428,6 +461,8 @@
|
|
|
|
|
|
- (void)testDELETE {
|
|
- (void)testDELETE {
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"default value"
|
|
|
|
+ forHTTPHeaderField:@"field"];
|
|
[self.sessionManager
|
|
[self.sessionManager
|
|
DELETE:@"delete"
|
|
DELETE:@"delete"
|
|
parameters:@{@"key":@"value"}
|
|
parameters:@{@"key":@"value"}
|
|
@@ -443,6 +478,8 @@
|
|
|
|
|
|
- (void)testPATCH {
|
|
- (void)testPATCH {
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
XCTestExpectation *expectation = [self expectationWithDescription:@"Request should succeed"];
|
|
|
|
+ [self.sessionManager.requestSerializer setValue:@"default value"
|
|
|
|
+ forHTTPHeaderField:@"field"];
|
|
[self.sessionManager
|
|
[self.sessionManager
|
|
PATCH:@"patch"
|
|
PATCH:@"patch"
|
|
parameters:@{@"key":@"value"}
|
|
parameters:@{@"key":@"value"}
|