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
14dee37a
Commit
14dee37a
authored
Jul 01, 2014
by
astaxie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
beego: autorouter params
parent
17a9c3c3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
4 deletions
+8
-4
router.go
router.go
+8
-4
No files found.
router.go
View file @
14dee37a
...
...
@@ -346,19 +346,23 @@ func (p *ControllerRegistor) AddAutoPrefix(prefix string, c ControllerInterface)
reflectVal
:=
reflect
.
ValueOf
(
c
)
rt
:=
reflectVal
.
Type
()
ct
:=
reflect
.
Indirect
(
reflectVal
)
.
Type
()
controllerName
:=
strings
.
T
oLower
(
strings
.
TrimSuffix
(
ct
.
Name
(),
"Controller"
)
)
controllerName
:=
strings
.
T
rimSuffix
(
ct
.
Name
(),
"Controller"
)
for
i
:=
0
;
i
<
rt
.
NumMethod
();
i
++
{
if
!
utils
.
InSlice
(
rt
.
Method
(
i
)
.
Name
,
exceptMethod
)
{
route
:=
&
controllerInfo
{}
route
.
routerType
=
routerTypeBeego
route
.
methods
=
map
[
string
]
string
{
"*"
:
rt
.
Method
(
i
)
.
Name
}
route
.
controllerType
=
ct
pattern
:=
path
.
Join
(
prefix
,
controllerName
,
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
),
"*"
)
patternfix
:=
path
.
Join
(
prefix
,
controllerName
,
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
))
pattern
:=
path
.
Join
(
prefix
,
strings
.
ToLower
(
controllerName
),
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
),
"*"
)
patternInit
:=
path
.
Join
(
prefix
,
controllerName
,
rt
.
Method
(
i
)
.
Name
,
"*"
)
patternfix
:=
path
.
Join
(
prefix
,
strings
.
ToLower
(
controllerName
),
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
))
patternfixInit
:=
path
.
Join
(
prefix
,
controllerName
,
rt
.
Method
(
i
)
.
Name
)
route
.
pattern
=
pattern
for
_
,
m
:=
range
HTTPMETHOD
{
p
.
addToRouter
(
m
,
pattern
,
route
)
p
.
addToRouter
(
m
,
patternInit
,
route
)
p
.
addToRouter
(
m
,
patternfix
,
route
)
p
.
addToRouter
(
m
,
patternfixInit
,
route
)
}
}
}
...
...
@@ -603,7 +607,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
if
!
findrouter
{
if
t
,
ok
:=
p
.
routers
[
r
.
Method
];
ok
{
runObject
,
p
:=
t
.
Match
(
strings
.
ToLower
(
r
.
URL
.
Path
)
)
runObject
,
p
:=
t
.
Match
(
r
.
URL
.
Path
)
if
r
,
ok
:=
runObject
.
(
*
controllerInfo
);
ok
{
routerInfo
=
r
findrouter
=
true
...
...
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