Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
beego
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
beego
Commits
7aa89361
Commit
7aa89361
authored
Aug 27, 2015
by
astaxie
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1308 from zhangshuai/master
httplib请求参数支持[]string
parents
cfaae5ab
862ea226
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
8 deletions
+16
-8
httplib.go
httplib/httplib.go
+16
-8
No files found.
httplib/httplib.go
View file @
7aa89361
...
@@ -94,7 +94,7 @@ func NewBeegoRequest(rawurl, method string) *BeegoHttpRequest {
...
@@ -94,7 +94,7 @@ func NewBeegoRequest(rawurl, method string) *BeegoHttpRequest {
return
&
BeegoHttpRequest
{
return
&
BeegoHttpRequest
{
url
:
rawurl
,
url
:
rawurl
,
req
:
&
req
,
req
:
&
req
,
params
:
map
[
string
]
string
{},
params
:
map
[
string
]
[]
string
{},
files
:
map
[
string
]
string
{},
files
:
map
[
string
]
string
{},
setting
:
defaultSetting
,
setting
:
defaultSetting
,
resp
:
&
resp
,
resp
:
&
resp
,
...
@@ -144,7 +144,7 @@ type BeegoHttpSettings struct {
...
@@ -144,7 +144,7 @@ type BeegoHttpSettings struct {
type
BeegoHttpRequest
struct
{
type
BeegoHttpRequest
struct
{
url
string
url
string
req
*
http
.
Request
req
*
http
.
Request
params
map
[
string
]
string
params
map
[
string
]
[]
string
files
map
[
string
]
string
files
map
[
string
]
string
setting
BeegoHttpSettings
setting
BeegoHttpSettings
resp
*
http
.
Response
resp
*
http
.
Response
...
@@ -267,7 +267,11 @@ func (b *BeegoHttpRequest) SetProxy(proxy func(*http.Request) (*url.URL, error))
...
@@ -267,7 +267,11 @@ func (b *BeegoHttpRequest) SetProxy(proxy func(*http.Request) (*url.URL, error))
// Param adds query param in to request.
// Param adds query param in to request.
// params build query string as ?key1=value1&key2=value2...
// params build query string as ?key1=value1&key2=value2...
func
(
b
*
BeegoHttpRequest
)
Param
(
key
,
value
string
)
*
BeegoHttpRequest
{
func
(
b
*
BeegoHttpRequest
)
Param
(
key
,
value
string
)
*
BeegoHttpRequest
{
b
.
params
[
key
]
=
value
if
param
,
ok
:=
b
.
params
[
key
];
ok
{
b
.
params
[
key
]
=
append
(
param
,
value
)
}
else
{
b
.
params
[
key
]
=
[]
string
{
value
}
}
return
b
return
b
}
}
...
@@ -342,7 +346,9 @@ func (b *BeegoHttpRequest) buildUrl(paramBody string) {
...
@@ -342,7 +346,9 @@ func (b *BeegoHttpRequest) buildUrl(paramBody string) {
}
}
}
}
for
k
,
v
:=
range
b
.
params
{
for
k
,
v
:=
range
b
.
params
{
bodyWriter
.
WriteField
(
k
,
v
)
for
_
,
vv
:=
range
v
{
bodyWriter
.
WriteField
(
k
,
vv
)
}
}
}
bodyWriter
.
Close
()
bodyWriter
.
Close
()
pw
.
Close
()
pw
.
Close
()
...
@@ -377,10 +383,12 @@ func (b *BeegoHttpRequest) SendOut() (*http.Response, error) {
...
@@ -377,10 +383,12 @@ func (b *BeegoHttpRequest) SendOut() (*http.Response, error) {
if
len
(
b
.
params
)
>
0
{
if
len
(
b
.
params
)
>
0
{
var
buf
bytes
.
Buffer
var
buf
bytes
.
Buffer
for
k
,
v
:=
range
b
.
params
{
for
k
,
v
:=
range
b
.
params
{
buf
.
WriteString
(
url
.
QueryEscape
(
k
))
for
_
,
vv
:=
range
v
{
buf
.
WriteByte
(
'='
)
buf
.
WriteString
(
url
.
QueryEscape
(
k
))
buf
.
WriteString
(
url
.
QueryEscape
(
v
))
buf
.
WriteByte
(
'='
)
buf
.
WriteByte
(
'&'
)
buf
.
WriteString
(
url
.
QueryEscape
(
vv
))
buf
.
WriteByte
(
'&'
)
}
}
}
paramBody
=
buf
.
String
()
paramBody
=
buf
.
String
()
paramBody
=
paramBody
[
0
:
len
(
paramBody
)
-
1
]
paramBody
=
paramBody
[
0
:
len
(
paramBody
)
-
1
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment