Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
white49
Alamofire
提交
af92ca3b
A
Alamofire
项目概览
white49
/
Alamofire
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
Alamofire
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
af92ca3b
编写于
7月 15, 2015
作者:
C
Christian Noon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
All properties are no prefixed with `self` while methods are not.
上级
6f93f71a
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
76 addition
and
73 deletion
+76
-73
Source/Download.swift
Source/Download.swift
+12
-12
Source/Manager.swift
Source/Manager.swift
+14
-14
Source/ParameterEncoding.swift
Source/ParameterEncoding.swift
+1
-1
Source/Request.swift
Source/Request.swift
+32
-30
Source/Upload.swift
Source/Upload.swift
+10
-10
Source/Validation.swift
Source/Validation.swift
+5
-4
Tests/AuthenticationTests.swift
Tests/AuthenticationTests.swift
+2
-2
未找到文件。
Source/Download.swift
浏览文件 @
af92ca3b
...
...
@@ -33,24 +33,24 @@ extension Manager {
switch
downloadable
{
case
.
Request
(
let
request
):
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
downloadTask
=
self
.
session
.
downloadTaskWithRequest
(
request
)
}
case
.
ResumeData
(
let
resumeData
):
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
downloadTask
=
self
.
session
.
downloadTaskWithResumeData
(
resumeData
)
}
}
let
request
=
Request
(
session
:
session
,
task
:
downloadTask
)
let
request
=
Request
(
session
:
se
lf
.
se
ssion
,
task
:
downloadTask
)
if
let
downloadDelegate
=
request
.
delegate
as?
Request
.
DownloadTaskDelegate
{
downloadDelegate
.
downloadTaskDidFinishDownloadingToURL
=
{
session
,
downloadTask
,
URL
in
return
destination
(
URL
,
downloadTask
.
response
as!
NSHTTPURLResponse
)
}
}
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
self
.
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
if
startRequestsImmediately
{
if
s
elf
.
s
tartRequestsImmediately
{
request
.
resume
()
}
...
...
@@ -135,7 +135,7 @@ extension Request {
// MARK: - DownloadTaskDelegate
class
DownloadTaskDelegate
:
TaskDelegate
,
NSURLSessionDownloadDelegate
{
var
downloadTask
:
NSURLSessionDownloadTask
?
{
return
task
as?
NSURLSessionDownloadTask
}
var
downloadTask
:
NSURLSessionDownloadTask
?
{
return
self
.
task
as?
NSURLSessionDownloadTask
}
var
downloadProgress
:
((
Int64
,
Int64
,
Int64
)
->
Void
)?
var
resumeData
:
NSData
?
...
...
@@ -159,7 +159,7 @@ extension Request {
NSFileManager
.
defaultManager
()
.
moveItemAtURL
(
location
,
toURL
:
destination
,
error
:
&
fileManagerError
)
if
fileManagerError
!=
nil
{
error
=
fileManagerError
self
.
error
=
fileManagerError
}
}
}
...
...
@@ -168,10 +168,10 @@ extension Request {
if
let
downloadTaskDidWriteData
=
self
.
downloadTaskDidWriteData
{
downloadTaskDidWriteData
(
session
,
downloadTask
,
bytesWritten
,
totalBytesWritten
,
totalBytesExpectedToWrite
)
}
else
{
progress
.
totalUnitCount
=
totalBytesExpectedToWrite
progress
.
completedUnitCount
=
totalBytesWritten
self
.
progress
.
totalUnitCount
=
totalBytesExpectedToWrite
self
.
progress
.
completedUnitCount
=
totalBytesWritten
downloadProgress
?(
bytesWritten
,
totalBytesWritten
,
totalBytesExpectedToWrite
)
self
.
downloadProgress
?(
bytesWritten
,
totalBytesWritten
,
totalBytesExpectedToWrite
)
}
}
...
...
@@ -179,8 +179,8 @@ extension Request {
if
let
downloadTaskDidResumeAtOffset
=
self
.
downloadTaskDidResumeAtOffset
{
downloadTaskDidResumeAtOffset
(
session
,
downloadTask
,
fileOffset
,
expectedTotalBytes
)
}
else
{
progress
.
totalUnitCount
=
expectedTotalBytes
progress
.
completedUnitCount
=
fileOffset
self
.
progress
.
totalUnitCount
=
expectedTotalBytes
self
.
progress
.
completedUnitCount
=
fileOffset
}
}
}
...
...
Source/Manager.swift
浏览文件 @
af92ca3b
...
...
@@ -158,14 +158,14 @@ public class Manager {
*/
public
func
request
(
URLRequest
:
URLRequestConvertible
)
->
Request
{
var
dataTask
:
NSURLSessionDataTask
?
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
dataTask
=
self
.
session
.
dataTaskWithRequest
(
URLRequest
.
URLRequest
)
}
let
request
=
Request
(
session
:
session
,
task
:
dataTask
!
)
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
let
request
=
Request
(
session
:
se
lf
.
se
ssion
,
task
:
dataTask
!
)
self
.
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
if
startRequestsImmediately
{
if
s
elf
.
s
tartRequestsImmediately
{
request
.
resume
()
}
...
...
@@ -184,7 +184,7 @@ public class Manager {
subscript
(
task
:
NSURLSessionTask
)
->
Request
.
TaskDelegate
?
{
get
{
var
subdelegate
:
Request
.
TaskDelegate
?
dispatch_sync
(
subdelegateQueue
)
{
dispatch_sync
(
s
elf
.
s
ubdelegateQueue
)
{
subdelegate
=
self
.
subdelegates
[
task
.
taskIdentifier
]
}
...
...
@@ -192,7 +192,7 @@ public class Manager {
}
set
{
dispatch_barrier_async
(
subdelegateQueue
)
{
dispatch_barrier_async
(
s
elf
.
s
ubdelegateQueue
)
{
self
.
subdelegates
[
task
.
taskIdentifier
]
=
newValue
}
}
...
...
@@ -214,7 +214,7 @@ public class Manager {
// MARK: Delegate Methods
public
func
URLSession
(
session
:
NSURLSession
,
didBecomeInvalidWithError
error
:
NSError
?)
{
sessionDidBecomeInvalidWithError
?(
session
,
error
)
se
lf
.
se
ssionDidBecomeInvalidWithError
?(
session
,
error
)
}
public
func
URLSession
(
session
:
NSURLSession
,
didReceiveChallenge
challenge
:
NSURLAuthenticationChallenge
,
completionHandler
:
((
NSURLSessionAuthChallengeDisposition
,
NSURLCredential
!
)
->
Void
))
{
...
...
@@ -226,7 +226,7 @@ public class Manager {
}
public
func
URLSessionDidFinishEventsForBackgroundURLSession
(
session
:
NSURLSession
)
{
sessionDidFinishEventsForBackgroundURLSession
?(
session
)
se
lf
.
se
ssionDidFinishEventsForBackgroundURLSession
?(
session
)
}
// MARK: - NSURLSessionTaskDelegate
...
...
@@ -395,17 +395,17 @@ public class Manager {
public
override
func
respondsToSelector
(
selector
:
Selector
)
->
Bool
{
switch
selector
{
case
"URLSession:didBecomeInvalidWithError:"
:
return
(
sessionDidBecomeInvalidWithError
!=
nil
)
return
(
se
lf
.
se
ssionDidBecomeInvalidWithError
!=
nil
)
case
"URLSession:didReceiveChallenge:completionHandler:"
:
return
(
sessionDidReceiveChallenge
!=
nil
)
return
(
se
lf
.
se
ssionDidReceiveChallenge
!=
nil
)
case
"URLSessionDidFinishEventsForBackgroundURLSession:"
:
return
(
sessionDidFinishEventsForBackgroundURLSession
!=
nil
)
return
(
se
lf
.
se
ssionDidFinishEventsForBackgroundURLSession
!=
nil
)
case
"URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:"
:
return
(
taskWillPerformHTTPRedirection
!=
nil
)
return
(
self
.
taskWillPerformHTTPRedirection
!=
nil
)
case
"URLSession:dataTask:didReceiveResponse:completionHandler:"
:
return
(
dataTaskDidReceiveResponse
!=
nil
)
return
(
self
.
dataTaskDidReceiveResponse
!=
nil
)
case
"URLSession:dataTask:willCacheResponse:completionHandler:"
:
return
(
dataTaskWillCacheResponse
!=
nil
)
return
(
self
.
dataTaskWillCacheResponse
!=
nil
)
default
:
return
self
.
dynamicType
.
instancesRespondToSelector
(
selector
)
}
...
...
Source/ParameterEncoding.swift
浏览文件 @
af92ca3b
...
...
@@ -88,7 +88,7 @@ public enum ParameterEncoding {
var
components
:
[(
String
,
String
)]
=
[]
for
key
in
sorted
(
Array
(
parameters
.
keys
),
<
)
{
let
value
:
AnyObject
!
=
parameters
[
key
]
components
+=
self
.
queryComponents
(
key
,
value
)
components
+=
queryComponents
(
key
,
value
)
}
return
join
(
"&"
,
components
.
map
{
"
\(
$0
)
=
\(
$1
)
"
}
as
[
String
])
...
...
Source/Request.swift
浏览文件 @
af92ca3b
...
...
@@ -88,7 +88,7 @@ public class Request {
:returns: The request.
*/
public
func
authenticate
(
usingCredential
credential
:
NSURLCredential
)
->
Self
{
delegate
.
credential
=
credential
self
.
delegate
.
credential
=
credential
return
self
}
...
...
@@ -106,11 +106,11 @@ public class Request {
:returns: The request.
*/
public
func
progress
(
closure
:
((
Int64
,
Int64
,
Int64
)
->
Void
)?
=
nil
)
->
Self
{
if
let
uploadDelegate
=
delegate
as?
UploadTaskDelegate
{
if
let
uploadDelegate
=
self
.
delegate
as?
UploadTaskDelegate
{
uploadDelegate
.
uploadProgress
=
closure
}
else
if
let
dataDelegate
=
delegate
as?
DataTaskDelegate
{
}
else
if
let
dataDelegate
=
self
.
delegate
as?
DataTaskDelegate
{
dataDelegate
.
dataProgress
=
closure
}
else
if
let
downloadDelegate
=
delegate
as?
DownloadTaskDelegate
{
}
else
if
let
downloadDelegate
=
self
.
delegate
as?
DownloadTaskDelegate
{
downloadDelegate
.
downloadProgress
=
closure
}
...
...
@@ -127,7 +127,7 @@ public class Request {
:returns: The request.
*/
public
func
stream
(
closure
:
(
NSData
->
Void
)?
=
nil
)
->
Self
{
if
let
dataDelegate
=
delegate
as?
DataTaskDelegate
{
if
let
dataDelegate
=
self
.
delegate
as?
DataTaskDelegate
{
dataDelegate
.
dataStream
=
closure
}
...
...
@@ -173,7 +173,7 @@ public class Request {
:returns: The request.
*/
public
func
response
(
queue
:
dispatch_queue_t
?
=
nil
,
serializer
:
Serializer
,
completionHandler
:
(
NSURLRequest
,
NSHTTPURLResponse
?,
AnyObject
?,
NSError
?)
->
Void
)
->
Self
{
delegate
.
queue
.
addOperationWithBlock
{
self
.
delegate
.
queue
.
addOperationWithBlock
{
let
(
responseObject
:
AnyObject
?
,
serializationError
:
NSError
?
)
=
serializer
(
self
.
request
,
self
.
response
,
self
.
delegate
.
data
)
dispatch_async
(
queue
??
dispatch_get_main_queue
())
{
...
...
@@ -190,28 +190,29 @@ public class Request {
Suspends the request.
*/
public
func
suspend
()
{
task
.
suspend
()
self
.
task
.
suspend
()
}
/**
Resumes the request.
*/
public
func
resume
()
{
task
.
resume
()
self
.
task
.
resume
()
}
/**
Cancels the request.
*/
public
func
cancel
()
{
if
let
downloadDelegate
=
delegate
as?
DownloadTaskDelegate
,
if
let
downloadDelegate
=
delegate
as?
DownloadTaskDelegate
,
downloadTask
=
downloadDelegate
.
downloadTask
{
downloadTask
.
cancelByProducingResumeData
{
data
in
downloadDelegate
.
resumeData
=
data
}
}
else
{
task
.
cancel
()
self
.
task
.
cancel
()
}
}
...
...
@@ -244,8 +245,8 @@ public class Request {
}
deinit
{
queue
.
cancelAllOperations
()
queue
.
suspended
=
true
self
.
queue
.
cancelAllOperations
()
self
.
queue
.
suspended
=
true
}
// MARK: - NSURLSessionTaskDelegate
...
...
@@ -308,7 +309,7 @@ public class Request {
self
.
error
=
error
}
queue
.
suspended
=
false
self
.
queue
.
suspended
=
false
}
}
}
...
...
@@ -316,15 +317,15 @@ public class Request {
// MARK: - DataTaskDelegate
class
DataTaskDelegate
:
TaskDelegate
,
NSURLSessionDataDelegate
{
var
dataTask
:
NSURLSessionDataTask
?
{
return
task
as?
NSURLSessionDataTask
}
var
dataTask
:
NSURLSessionDataTask
?
{
return
self
.
task
as?
NSURLSessionDataTask
}
private
var
totalBytesReceived
:
Int64
=
0
private
var
mutableData
:
NSMutableData
override
var
data
:
NSData
?
{
if
dataStream
!=
nil
{
if
self
.
dataStream
!=
nil
{
return
nil
}
else
{
return
mutableData
return
self
.
mutableData
}
}
...
...
@@ -351,7 +352,7 @@ public class Request {
func
URLSession
(
session
:
NSURLSession
,
dataTask
:
NSURLSessionDataTask
,
didReceiveResponse
response
:
NSURLResponse
,
completionHandler
:
((
NSURLSessionResponseDisposition
)
->
Void
))
{
var
disposition
:
NSURLSessionResponseDisposition
=
.
Allow
expectedContentLength
=
response
.
expectedContentLength
self
.
expectedContentLength
=
response
.
expectedContentLength
if
let
dataTaskDidReceiveResponse
=
self
.
dataTaskDidReceiveResponse
{
disposition
=
dataTaskDidReceiveResponse
(
session
,
dataTask
,
response
)
...
...
@@ -361,26 +362,26 @@ public class Request {
}
func
URLSession
(
session
:
NSURLSession
,
dataTask
:
NSURLSessionDataTask
,
didBecomeDownloadTask
downloadTask
:
NSURLSessionDownloadTask
)
{
dataTaskDidBecomeDownloadTask
?(
session
,
dataTask
,
downloadTask
)
self
.
dataTaskDidBecomeDownloadTask
?(
session
,
dataTask
,
downloadTask
)
}
func
URLSession
(
session
:
NSURLSession
,
dataTask
:
NSURLSessionDataTask
,
didReceiveData
data
:
NSData
)
{
if
let
dataTaskDidReceiveData
=
self
.
dataTaskDidReceiveData
{
dataTaskDidReceiveData
(
session
,
dataTask
,
data
)
}
else
{
if
let
dataStream
=
dataStream
{
if
let
dataStream
=
self
.
dataStream
{
dataStream
(
data
:
data
)
}
else
{
mutableData
.
appendData
(
data
)
self
.
mutableData
.
appendData
(
data
)
}
totalBytesReceived
+=
data
.
length
self
.
totalBytesReceived
+=
data
.
length
let
totalBytesExpectedToReceive
=
dataTask
.
response
?
.
expectedContentLength
??
NSURLSessionTransferSizeUnknown
progress
.
totalUnitCount
=
totalBytesExpectedToReceive
progress
.
completedUnitCount
=
totalBytesReceived
self
.
progress
.
totalUnitCount
=
totalBytesExpectedToReceive
self
.
progress
.
completedUnitCount
=
totalBytesReceived
dataProgress
?(
bytesReceived
:
Int64
(
data
.
length
),
totalBytesReceived
:
totalBytesReceived
,
totalBytesExpectedToReceive
:
totalBytesExpectedToReceive
)
self
.
dataProgress
?(
bytesReceived
:
Int64
(
data
.
length
),
totalBytesReceived
:
self
.
totalBytesReceived
,
totalBytesExpectedToReceive
:
totalBytesExpectedToReceive
)
}
}
...
...
@@ -406,7 +407,7 @@ extension Request: Printable {
components
.
append
(
HTTPMethod
)
}
components
.
append
(
request
.
URL
!.
absoluteString
!
)
components
.
append
(
self
.
request
.
URL
!.
absoluteString
!
)
if
let
response
=
self
.
response
{
components
.
append
(
"(
\(
response
.
statusCode
)
)"
)
...
...
@@ -422,7 +423,7 @@ extension Request: DebugPrintable {
func
cURLRepresentation
()
->
String
{
var
components
:
[
String
]
=
[
"$ curl -i"
]
let
URL
=
request
.
URL
let
URL
=
self
.
request
.
URL
if
let
HTTPMethod
=
self
.
request
.
HTTPMethod
where
HTTPMethod
!=
"GET"
{
components
.
append
(
"-X
\(
HTTPMethod
)
"
)
...
...
@@ -435,7 +436,7 @@ extension Request: DebugPrintable {
components
.
append
(
"-u
\(
credential
.
user
!
)
:
\(
credential
.
password
!
)
"
)
}
}
else
{
if
let
credential
=
delegate
.
credential
{
if
let
credential
=
self
.
delegate
.
credential
{
components
.
append
(
"-u
\(
credential
.
user
!
)
:
\(
credential
.
password
!
)
"
)
}
}
...
...
@@ -444,8 +445,8 @@ extension Request: DebugPrintable {
// Temporarily disabled on OS X due to build failure for CocoaPods
// See https://github.com/CocoaPods/swift/issues/24
#if !os(OSX)
if
session
.
configuration
.
HTTPShouldSetCookies
{
if
let
cookieStorage
=
session
.
configuration
.
HTTPCookieStorage
,
if
se
lf
.
se
ssion
.
configuration
.
HTTPShouldSetCookies
{
if
let
cookieStorage
=
se
lf
.
se
ssion
.
configuration
.
HTTPCookieStorage
,
cookies
=
cookieStorage
.
cookiesForURL
(
URL
!
)
as?
[
NSHTTPCookie
]
where
!
cookies
.
isEmpty
{
...
...
@@ -477,7 +478,8 @@ extension Request: DebugPrintable {
}
}
if
let
HTTPBody
=
request
.
HTTPBody
,
if
let
HTTPBody
=
self
.
request
.
HTTPBody
,
escapedBody
=
NSString
(
data
:
HTTPBody
,
encoding
:
NSUTF8StringEncoding
)?
.
stringByReplacingOccurrencesOfString
(
"
\"
"
,
withString
:
"
\\\"
"
)
{
components
.
append
(
"-d
\"\(
escapedBody
)\"
"
)
...
...
Source/Upload.swift
浏览文件 @
af92ca3b
...
...
@@ -35,29 +35,29 @@ extension Manager {
switch
uploadable
{
case
.
Data
(
let
request
,
let
data
):
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
uploadTask
=
self
.
session
.
uploadTaskWithRequest
(
request
,
fromData
:
data
)
}
case
.
File
(
let
request
,
let
fileURL
):
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
uploadTask
=
self
.
session
.
uploadTaskWithRequest
(
request
,
fromFile
:
fileURL
)
}
case
.
Stream
(
let
request
,
var
stream
):
dispatch_sync
(
queue
)
{
dispatch_sync
(
self
.
queue
)
{
uploadTask
=
self
.
session
.
uploadTaskWithStreamedRequest
(
request
)
}
HTTPBodyStream
=
stream
}
let
request
=
Request
(
session
:
session
,
task
:
uploadTask
)
let
request
=
Request
(
session
:
se
lf
.
se
ssion
,
task
:
uploadTask
)
if
HTTPBodyStream
!=
nil
{
request
.
delegate
.
taskNeedNewBodyStream
=
{
_
,
_
in
return
HTTPBodyStream
}
}
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
self
.
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
if
startRequestsImmediately
{
if
s
elf
.
s
tartRequestsImmediately
{
request
.
resume
()
}
...
...
@@ -320,7 +320,7 @@ extension Request {
// MARK: - UploadTaskDelegate
class
UploadTaskDelegate
:
DataTaskDelegate
{
var
uploadTask
:
NSURLSessionUploadTask
?
{
return
task
as?
NSURLSessionUploadTask
}
var
uploadTask
:
NSURLSessionUploadTask
?
{
return
self
.
task
as?
NSURLSessionUploadTask
}
var
uploadProgress
:
((
Int64
,
Int64
,
Int64
)
->
Void
)
!
// MARK: - NSURLSessionTaskDelegate
...
...
@@ -335,10 +335,10 @@ extension Request {
if
let
taskDidSendBodyData
=
self
.
taskDidSendBodyData
{
taskDidSendBodyData
(
session
,
task
,
bytesSent
,
totalBytesSent
,
totalBytesExpectedToSend
)
}
else
{
progress
.
totalUnitCount
=
totalBytesExpectedToSend
progress
.
completedUnitCount
=
totalBytesSent
self
.
progress
.
totalUnitCount
=
totalBytesExpectedToSend
self
.
progress
.
completedUnitCount
=
totalBytesSent
uploadProgress
?(
bytesSent
,
totalBytesSent
,
totalBytesExpectedToSend
)
self
.
uploadProgress
?(
bytesSent
,
totalBytesSent
,
totalBytesExpectedToSend
)
}
}
}
...
...
Source/Validation.swift
浏览文件 @
af92ca3b
...
...
@@ -39,7 +39,7 @@ extension Request {
:returns: The request.
*/
public
func
validate
(
validation
:
Validation
)
->
Self
{
delegate
.
queue
.
addOperationWithBlock
{
self
.
delegate
.
queue
.
addOperationWithBlock
{
if
let
response
=
self
.
response
where
self
.
delegate
.
error
==
nil
&&
!
validation
(
self
.
request
,
response
)
{
self
.
delegate
.
error
=
NSError
(
domain
:
AlamofireErrorDomain
,
code
:
-
1
,
userInfo
:
nil
)
}
...
...
@@ -59,7 +59,7 @@ extension Request {
:returns: The request.
*/
public
func
validate
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
Int
>
(
statusCode
acceptableStatusCode
:
S
)
->
Self
{
public
func
validate
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
Int
>
(
statusCode
acceptableStatusCode
:
S
)
->
Self
{
return
validate
{
_
,
response
in
return
contains
(
acceptableStatusCode
,
response
.
statusCode
)
}
...
...
@@ -85,7 +85,7 @@ extension Request {
}
func
matches
(
MIME
:
MIMEType
)
->
Bool
{
switch
(
type
,
subtype
)
{
switch
(
self
.
type
,
self
.
subtype
)
{
case
(
MIME
.
type
,
MIME
.
subtype
),
(
MIME
.
type
,
"*"
),
(
"*"
,
MIME
.
subtype
),
(
"*"
,
"*"
):
return
true
default
:
...
...
@@ -105,7 +105,8 @@ extension Request {
*/
public
func
validate
<
S
:
SequenceType
where
S
.
Generator
.
Element
==
String
>
(
contentType
acceptableContentTypes
:
S
)
->
Self
{
return
validate
{
_
,
response
in
if
let
responseContentType
=
response
.
MIMEType
,
if
let
responseContentType
=
response
.
MIMEType
,
responseMIMEType
=
MIMEType
(
responseContentType
)
{
for
contentType
in
acceptableContentTypes
{
...
...
Tests/AuthenticationTests.swift
浏览文件 @
af92ca3b
...
...
@@ -56,7 +56,7 @@ class BasicAuthenticationTestCase: AuthenticationTestCase {
override
func
setUp
()
{
super
.
setUp
()
self
.
URLString
=
"http://httpbin.org/basic-auth/
\(
user
)
/
\(
password
)
"
self
.
URLString
=
"http://httpbin.org/basic-auth/
\(
self
.
user
)
/
\(
self
.
password
)
"
}
// MARK: Tests
...
...
@@ -135,7 +135,7 @@ class HTTPDigestAuthenticationTestCase: AuthenticationTestCase {
override
func
setUp
()
{
super
.
setUp
()
self
.
URLString
=
"http://httpbin.org/digest-auth/
\(
qop
)
/
\(
user
)
/
\(
password
)
"
self
.
URLString
=
"http://httpbin.org/digest-auth/
\(
self
.
qop
)
/
\(
self
.
user
)
/
\(
self
.
password
)
"
}
// MARK: Tests
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录