Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
white49
Alamofire
提交
a217e059
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,发现更多精彩内容 >>
提交
a217e059
编写于
8月 08, 2015
作者:
C
Christian Noon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Made the queryComponents and escape methods public to support Custom encoding.
上级
61d6ddf9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
7 deletion
+15
-7
Source/ParameterEncoding.swift
Source/ParameterEncoding.swift
+15
-7
未找到文件。
Source/ParameterEncoding.swift
浏览文件 @
a217e059
...
...
@@ -84,7 +84,7 @@ public enum ParameterEncoding {
func
query
(
parameters
:
[
String
:
AnyObject
])
->
String
{
var
components
:
[(
String
,
String
)]
=
[]
for
key
in
Array
(
parameters
.
keys
)
.
sort
(
<
)
{
let
value
:
AnyObject
!
=
parameters
[
key
]
let
value
=
parameters
[
key
]
!
components
+=
queryComponents
(
key
,
value
)
}
...
...
@@ -145,7 +145,15 @@ public enum ParameterEncoding {
return
(
mutableURLRequest
,
encodingError
)
}
func
queryComponents
(
key
:
String
,
_
value
:
AnyObject
)
->
[(
String
,
String
)]
{
/**
Creates percent-escaped, URL encoded query string components from the given key-value pair using recursion.
- parameter key: The key of the query component.
- parameter value: The value of the query component.
- returns: The percent-escaped, URL encoded query string components.
*/
public
func
queryComponents
(
key
:
String
,
_
value
:
AnyObject
)
->
[(
String
,
String
)]
{
var
components
:
[(
String
,
String
)]
=
[]
if
let
dictionary
=
value
as?
[
String
:
AnyObject
]
{
for
(
nestedKey
,
value
)
in
dictionary
{
...
...
@@ -163,7 +171,7 @@ public enum ParameterEncoding {
}
/**
Returns a percent
escaped string following RFC 3986 for a query string key or value.
Returns a percent
-
escaped string following RFC 3986 for a query string key or value.
RFC 3986 states that the following characters are "reserved" characters.
...
...
@@ -172,13 +180,13 @@ public enum ParameterEncoding {
In RFC 3986 - Section 3.4, it states that the "?" and "/" characters should not be escaped to allow
query strings to include a URL. Therefore, all "reserved" characters with the exception of "?" and "/"
should be percent
escaped in the query string.
should be percent
-
escaped in the query string.
- parameter string: The string to be percent
escaped.
- parameter string: The string to be percent
-
escaped.
- returns: The percent
escaped string.
- returns: The percent
-
escaped string.
*/
func
escape
(
string
:
String
)
->
String
{
public
func
escape
(
string
:
String
)
->
String
{
let
generalDelimitersToEncode
=
":#[]@"
// does not include "?" or "/" due to RFC 3986 - Section 3.4
let
subDelimitersToEncode
=
"!$&'()*+,;="
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录