Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
cb49be78
authored
2013-12-19 12:47:54 +0800
by
astaxie
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix router Put and Delete method when post method with _method
1 parent
68d4c2c0
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
3 deletions
router.go
router.go
View file @
cb49be7
...
...
@@ -575,7 +575,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
if
requestPath
==
route
.
pattern
{
runrouter
=
route
.
controllerType
findrouter
=
true
runMethod
=
p
.
getRunMethod
(
r
.
Method
,
route
)
runMethod
=
p
.
getRunMethod
(
r
.
Method
,
context
.
Input
.
Query
(
"_method"
),
route
)
break
}
// pattern /admin url /admin 200 /admin/ 404
...
...
@@ -618,7 +618,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
runrouter
=
route
.
controllerType
findrouter
=
true
context
.
Input
.
Params
=
params
runMethod
=
p
.
getRunMethod
(
r
.
Method
,
route
)
runMethod
=
p
.
getRunMethod
(
r
.
Method
,
context
.
Input
.
Query
(
"_method"
),
route
)
break
}
}
...
...
@@ -788,7 +788,7 @@ func (p *ControllerRegistor) getErrorHandler(errorCode string) func(rw http.Resp
return
handler
}
func
(
p
*
ControllerRegistor
)
getRunMethod
(
method
string
,
router
*
controllerInfo
)
string
{
func
(
p
*
ControllerRegistor
)
getRunMethod
(
method
,
_method
string
,
router
*
controllerInfo
)
string
{
method
=
strings
.
ToLower
(
method
)
if
router
.
hasMethod
{
if
m
,
ok
:=
router
.
methods
[
method
];
ok
{
...
...
@@ -796,9 +796,21 @@ func (p *ControllerRegistor) getRunMethod(method string, router *controllerInfo)
}
else
if
m
,
ok
=
router
.
methods
[
"*"
];
ok
{
return
m
}
else
{
if
method
==
"POST"
||
strings
.
ToLower
(
_method
)
==
"put"
{
return
"Put"
}
if
method
==
"POST"
||
strings
.
ToLower
(
_method
)
==
"delete"
{
return
"Delete"
}
return
strings
.
Title
(
method
)
}
}
else
{
if
method
==
"POST"
||
strings
.
ToLower
(
_method
)
==
"put"
{
return
"Put"
}
if
method
==
"POST"
||
strings
.
ToLower
(
_method
)
==
"delete"
{
return
"Delete"
}
return
strings
.
Title
(
method
)
}
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment