Skip to content

Commit ab49f07

Browse files
committed
Merge pull request #82 from ishkawa/rename-to-requesttype
Rename Request protocol to RequestType for consistency with Swift standard library
2 parents 0405b06 + 53b6fd9 commit ab49f07

File tree

7 files changed

+23
-23
lines changed

7 files changed

+23
-23
lines changed

Diff for: APIKit.xcodeproj/project.pbxproj

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
7F30A8561A975BD600A8C136 /* RequestBodyBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F30A8551A975BD600A8C136 /* RequestBodyBuilderTests.swift */; };
2121
7F45FD181A94D085006863BB /* API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F45FD171A94D085006863BB /* API.swift */; };
2222
7F5FA6B51B3C58210090B0AF /* APIError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F5FA6B41B3C58210090B0AF /* APIError.swift */; };
23-
7F68ABDA1AC4412E00688D68 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABD91AC4412E00688D68 /* Request.swift */; };
24-
7F68ABDB1AC4412E00688D68 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABD91AC4412E00688D68 /* Request.swift */; };
23+
7F68ABDA1AC4412E00688D68 /* RequestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABD91AC4412E00688D68 /* RequestType.swift */; };
24+
7F68ABDB1AC4412E00688D68 /* RequestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABD91AC4412E00688D68 /* RequestType.swift */; };
2525
7F68ABDD1AC4414500688D68 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABDC1AC4414500688D68 /* HTTPMethod.swift */; };
2626
7F68ABDE1AC4414500688D68 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F68ABDC1AC4414500688D68 /* HTTPMethod.swift */; };
2727
7FCBE9DD1A9734880075AFD9 /* RequestBodyBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FCBE9DC1A9734880075AFD9 /* RequestBodyBuilder.swift */; };
@@ -98,7 +98,7 @@
9898
7F45FCFE1A94D04D006863BB /* APIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = APIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9999
7F45FD171A94D085006863BB /* API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = API.swift; sourceTree = "<group>"; };
100100
7F5FA6B41B3C58210090B0AF /* APIError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIError.swift; sourceTree = "<group>"; };
101-
7F68ABD91AC4412E00688D68 /* Request.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Request.swift; sourceTree = "<group>"; };
101+
7F68ABD91AC4412E00688D68 /* RequestType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestType.swift; sourceTree = "<group>"; };
102102
7F68ABDC1AC4414500688D68 /* HTTPMethod.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPMethod.swift; sourceTree = "<group>"; };
103103
7F8ECDFD1B6A799E00234E04 /* Demo.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = Demo.playground; sourceTree = "<group>"; };
104104
7FCBE9DC1A9734880075AFD9 /* RequestBodyBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RequestBodyBuilder.swift; sourceTree = "<group>"; };
@@ -177,7 +177,7 @@
177177
children = (
178178
7F45FCE21A94D02C006863BB /* APIKit.h */,
179179
7F45FD171A94D085006863BB /* API.swift */,
180-
7F68ABD91AC4412E00688D68 /* Request.swift */,
180+
7F68ABD91AC4412E00688D68 /* RequestType.swift */,
181181
7F68ABDC1AC4414500688D68 /* HTTPMethod.swift */,
182182
7F5FA6B41B3C58210090B0AF /* APIError.swift */,
183183
7F0869A51A978BCA001AD3E1 /* URLEncodedSerialization.swift */,
@@ -409,7 +409,7 @@
409409
7FCBE9DD1A9734880075AFD9 /* RequestBodyBuilder.swift in Sources */,
410410
7F45FD181A94D085006863BB /* API.swift in Sources */,
411411
7F68ABDD1AC4414500688D68 /* HTTPMethod.swift in Sources */,
412-
7F68ABDA1AC4412E00688D68 /* Request.swift in Sources */,
412+
7F68ABDA1AC4412E00688D68 /* RequestType.swift in Sources */,
413413
7FCBE9E01A9734950075AFD9 /* ResponseBodyParser.swift in Sources */,
414414
7F5FA6B51B3C58210090B0AF /* APIError.swift in Sources */,
415415
7F0869A61A978BCA001AD3E1 /* URLEncodedSerialization.swift in Sources */,
@@ -424,7 +424,7 @@
424424
7FCBE9DE1A9734880075AFD9 /* RequestBodyBuilder.swift in Sources */,
425425
7F0869A81A979088001AD3E1 /* API.swift in Sources */,
426426
7F68ABDE1AC4414500688D68 /* HTTPMethod.swift in Sources */,
427-
7F68ABDB1AC4412E00688D68 /* Request.swift in Sources */,
427+
7F68ABDB1AC4412E00688D68 /* RequestType.swift in Sources */,
428428
7FCBE9E11A9734950075AFD9 /* ResponseBodyParser.swift in Sources */,
429429
7F0869A71A978BCA001AD3E1 /* URLEncodedSerialization.swift in Sources */,
430430
);

Diff for: APIKit/API.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class API {
1313
)
1414

1515
// send request and build response object
16-
public static func sendRequest<T: Request>(request: T, URLSession: NSURLSession = defaultURLSession, handler: (Result<T.Response, APIError>) -> Void = {r in}) -> NSURLSessionDataTask? {
16+
public static func sendRequest<T: RequestType>(request: T, URLSession: NSURLSession = defaultURLSession, handler: (Result<T.Response, APIError>) -> Void = {r in}) -> NSURLSessionDataTask? {
1717
switch request.buildURLRequest() {
1818
case .Failure(let error):
1919
handler(.Failure(error))
@@ -45,11 +45,11 @@ public class API {
4545
}
4646
}
4747

48-
public static func cancelRequest<T: Request>(requestType: T.Type, passingTest test: T -> Bool = { r in true }) {
48+
public static func cancelRequest<T: RequestType>(requestType: T.Type, passingTest test: T -> Bool = { r in true }) {
4949
cancelRequest(requestType, URLSession: defaultURLSession, passingTest: test)
5050
}
5151

52-
public static func cancelRequest<T: Request>(requestType: T.Type, URLSession: NSURLSession, passingTest test: T -> Bool = { r in true }) {
52+
public static func cancelRequest<T: RequestType>(requestType: T.Type, URLSession: NSURLSession, passingTest test: T -> Bool = { r in true }) {
5353
URLSession.getTasksWithCompletionHandler { dataTasks, uploadTasks, downloadTasks in
5454
let allTasks = dataTasks as [NSURLSessionTask]
5555
+ uploadTasks as [NSURLSessionTask]
@@ -111,7 +111,7 @@ private var dataTaskResponseBufferKey = 0
111111
private var dataTaskCompletionHandlerKey = 0
112112

113113
private extension NSURLSessionDataTask {
114-
// `var request: Request?` is not available in Swift 1.2
114+
// `var request: RequestType?` is not available in Swift 2.0
115115
// ("protocol can only be used as a generic constraint")
116116
private var request: Box<Any>? {
117117
get {

Diff for: APIKit/Request.swift renamed to APIKit/RequestType.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import Foundation
22
import Result
33

4-
/// Request protocol represents a request for Web API.
4+
/// RequestType protocol represents a request for Web API.
55
/// Following 5 items must be implemented.
66
/// - typealias Response
77
/// - var baseURL: NSURL
88
/// - var method: Method
99
/// - var path: String
1010
/// - func responseFromObject(object: AnyObject, URLResponse: NSHTTPURLResponse) -> Response?
11-
public protocol Request {
11+
public protocol RequestType {
1212
/// Type represents a model object
1313
typealias Response
1414

@@ -43,8 +43,8 @@ public protocol Request {
4343
func errorFromObject(object: AnyObject, URLResponse: NSHTTPURLResponse) -> ErrorType?
4444
}
4545

46-
/// Default implementation of Request protocol
47-
public extension Request {
46+
/// Default implementation of RequestType protocol
47+
public extension RequestType {
4848
public var parameters: [String: AnyObject] {
4949
return [:]
5050
}

Diff for: APIKitTests/APITests.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ import APIKit
33
import XCTest
44
import OHHTTPStubs
55

6-
protocol MockAPIRequest: Request {
6+
protocol MockAPIRequestType: RequestType {
77
}
88

9-
extension MockAPIRequest {
9+
extension MockAPIRequestType {
1010
var baseURL: NSURL {
1111
return NSURL(string: "https://api.github.com")!
1212
}
1313
}
1414

1515
class MockAPI: API {
16-
struct GetRoot: MockAPIRequest {
16+
struct GetRoot: MockAPIRequestType {
1717
typealias Response = [String: AnyObject]
1818

1919
var method: HTTPMethod {

Diff for: APIKitTests/RequestCreateTaskInURLSessionTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class RequestCreateTaskInURLSessionTest: XCTestCase {
88

99
// MARK: - Sample requests for tests
1010

11-
struct SampleRequest: Request {
11+
struct SampleRequest: RequestType {
1212
typealias Response = [String: AnyObject]
1313
var b: String = ""
1414
var p: String = ""

Diff for: APIKitTests/RequestTests.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import OHHTTPStubs
33
import APIKit
44

55
class RequestTests: XCTestCase {
6-
struct SearchRequest: MockAPIRequest {
6+
struct SearchRequest: MockAPIRequestType {
77
let query: String
88

9-
// MARK: Request
9+
// MARK: RequestType
1010
typealias Response = [String: AnyObject]
1111

1212
var method: HTTPMethod {

Diff for: Demo.playground/Contents.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ import APIKit
55
XCPSetExecutionShouldContinueIndefinitely()
66

77
//: Step 1: Define request protocol
8-
protocol GitHubRequest: Request {
8+
protocol GitHubRequestType: RequestType {
99

1010
}
1111

12-
extension GitHubRequest {
12+
extension GitHubRequestType {
1313
var baseURL: NSURL {
1414
return NSURL(string: "https://api.github.com")!
1515
}
@@ -36,7 +36,7 @@ struct RateLimit {
3636

3737
//: Step 3: Define request type conforming to created request protocol
3838
// https://developer.github.com/v3/rate_limit/
39-
struct GetRateLimitRequest: GitHubRequest {
39+
struct GetRateLimitRequest: GitHubRequestType {
4040
typealias Response = RateLimit
4141

4242
var method: HTTPMethod {

0 commit comments

Comments
 (0)